確率・分布●●●○○

混合分布

Mixture Distributionこんごうぶんぷ

複数の分布を重ね合わせた分布。集団に潜む部分集団をモデル化する

概要

混合分布は、複数の確率分布を重み付きで足し合わせた分布です。たとえばあるサービスの利用時間のヒストグラムを描いたら、山が2つある形(二峰性)だったとします。1つの分布ではこの形を表せませんが、「ライトユーザーの分布」と「ヘビーユーザーの分布」を6:4で混ぜた分布と考えれば自然に説明できます。混合分布は、このように「実は複数の部分集団(サブグループ)が混ざっているデータ」をモデル化する道具です。

生成の仕組みとして読むと分かりやすい分布です。まず重み(混合比率)に従ってどの成分に属するかをくじ引きで決め、次に選ばれた成分の分布から値を1つ生成する — この2段階の手続きが混合分布の定義そのものです。どの成分から来たかは観測されない「隠れた変数」であり、見えるのは混ざった後の値だけ、という点がこのモデルの核心です。

成分に正規分布を使ったものは混合ガウスモデル(GMM)と呼ばれ、クラスタリング・異常検知・音声認識など機械学習の広い場面で使われる、混合分布の代表選手です。

なぜ生まれたか

きっかけは19世紀末の生物学のデータでした。統計学者カール・ピアソンは、ナポリ湾のカニの甲羅の計測データの度数分布が正規分布からずれて非対称になっていることに気づき、「これは実は2つの種(あるいは進化しつつある2集団)が混ざっているのではないか」と考えました。1894年、彼は観測された分布を2つの正規分布の混合として分解する計算に挑み、これが混合分布の推定の最初の仕事になりました。目に見える1つの分布の裏に、見えない複数の集団を想定する — という発想の転換です。

以後この問題設定は「データからラベルなしで部分集団を見つけたい」というあらゆる場面に現れます。顧客データにセグメントのラベルは付いていませんし、音声データに「誰の声か」は書かれていません。単一の分布を当てはめると平均もばらつきも「どの集団のものでもない中途半端な値」になってしまう。混ざっていることをモデルに正直に組み込んだ混合分布は、この課題への正面からの答えです。ただしピアソンの手計算は困難を極め、実用になったのは20世紀後半にEMアルゴリズムという推定法と計算機が揃ってからでした。

詳細

成分の重ね合わせが作る形

混合分布の密度は、各成分の密度を混合比率で重み付けした和です。比率は合計1の確率で、「無作為に1人選んだときその人が成分kに属する確率」を表します。成分同士が離れていれば全体の分布は峰が複数あるマルチモーダルな形になり、近ければ峰は1つに融合して、非対称な形や裾の重い形になります。つまり混合分布は多峰性だけでなく、単一の分布では出せない歪度や裾の重さを柔軟に表現する道具でもあります。

成分1 — 重み 0.55成分2 — 重み 0.45混合分布観測値 x確率密度
2つの正規分布の混合 — 破線の成分を55:45で足し合わせると、実線の二峰性の分布になる

図の谷のあたりに注目すると、混合分布の重要な教訓が見えます。全体の平均はちょうど2つの峰の間 — つまり誰も居ないあたり — に落ちることがあり、代表値としての平均が集団の誰も代表しなくなるのです。探索的データ分析でヒストグラムの峰の数を確かめる習慣は、この罠を避けるための第一歩でもあります。

2つの成分の距離と混合比率を動かして、峰が割れる瞬間・融合して隠れる瞬間、そして平均が谷に落ちる様子を確かめられます。

⚡ 体験: 2つの集団の距離と比率で、峰が割れたり融合したりする
全体の平均成分1 (π=0.50)成分2 (π=0.50)峰の数: 2

峰が2つに割れました。全体の平均(赤い線)は2つの峰のあいだの谷 — 誰も居ないあたり — に落ちています。この状態で平均を「代表値」として使うと、どちらの集団のことも表せません。

所属確率 — ベイズで「どちらの集団か」を逆算する

観測値が得られたとき、「この値はどの成分から来たのか」は直接は分かりませんが、確率としてなら逆算できます。条件付き確率の考え方で、「成分kが選ばれ、かつこの値が出る」確率を全成分ぶん比べればよいのです(これはベイズの定理の適用そのものです)。この所属確率(負担率と呼ばれます)は、たとえば「利用時間8時間のこのユーザーは97%の確率でヘビーユーザー群」といったソフトな分類を与えます。各点を最も確率の高いクラスタに割り当てれば、GMMはクラスタリング手法になります。距離だけで硬く分けるk-means法と違い、クラスタごとの広がりや向き(多次元では多変量正規分布の共分散)まで考慮した柔らかい分類ができるのが持ち味です。

EMアルゴリズム — 鶏と卵を交互に解く

混合分布の推定には鶏と卵の構造があります。各点の所属が分かれば成分ごとの平均やばらつきは簡単に計算できる。逆に成分のパラメータが分かれば所属確率は計算できる。しかしどちらも分からない — この行き詰まりを、両者を交互に計算して解くのがEMアルゴリズムです。

まだ改善する

収束した

パラメータを適当に初期化

Eステップ - 現在のパラメータで各点の所属確率を計算

Mステップ - 所属確率で重み付けして各成分の平均・分散・混合比率を更新

対数尤度が改善しなくなったか

推定完了 - 成分パラメータと所属確率が得られる

Eステップ(Expectation)で所属確率を見積もり、Mステップ(Maximization)でその見積もりを重みにしてパラメータを更新する。この往復を繰り返すと、データへの当てはまり(尤度)が単調に改善しながら収束することが保証されています。ピアソンを苦しめた計算が、今では数行のコードで回る反復手続きになりました。

実務での使いどころと落とし穴

応用は幅広く、顧客セグメンテーション、話者識別(人ごとの声の特徴をGMMで表す)、画像の背景と前景の分離、そして「正常データの分布をGMMで学習し、どの成分から見ても確率が低い点を異常とみなす」異常検知などが定番です。外れ値の扱いに敏感な単一分布モデルの代わりに、外れ値専用の裾の広い成分を1つ足しておく、というロバスト化の技もあります。

一方で落とし穴もはっきりしています。第一に成分数は自動では決まらず、増やすほど当てはまりは必ず良くなるため、情報量規準(AICやBIC)などで複雑さと当てはまりのバランスを取る必要があります。第二にEMは初期値次第で局所解(そこそこ良いが最良ではない答え)に落ちるため、初期値を変えて複数回走らせるのが定石です。第三に、統計的に見つかった成分が現実の集団と一致する保証はありません。分布の形は「2つの群が混ざっている」ことを示唆するだけで、その群が何者かを教えてくれるのはドメイン知識です。混合分布は部分集団の仮説を生成する強力な道具ですが、仮説の検証は別の仕事として残る — この線引きを忘れないことが、使いこなしの鍵になります。