混合モデルと事後分布の推論(全体感)
はじめに
ベイズ統計学について絶賛勉強中です。今回は混合モデルと事後分布の推論に関して、考え方を整理しました。
今回も参考にさせて頂いた資料は下記です。
- 作者:C.M. ビショップ
- 発売日: 2012/02/29
- メディア: 単行本
混合モデルと事後分布の推論
確率分布を予測するうえで、観測データを単純な離散分布やガウス分布で近似することは解析的に可能です。 しかしながら、現実の複雑な観測データや課題の解決を行うためには、これら離散分布やガウス分布を単体で表すことは不十分な場合が多いです。
従い、実際は混合モデル(mixture model)と呼ばれる考え方を適用して、確率分布を細かくブロックごとに分けてモデルを構築することが多いです。この考え方により、モデルの表現力を高めることができるのです。
下記例で考えてみましょう。
この観測データは、クラスタ(cluster)と呼ばれる集団が複数個ありそうなことが推測できます。これを、単一の2次元ガウス分布で表そうとすると左図のようになります。 これはクラスタの構造を表現できているといえません。 このようなデータはクラスタ数が3個のガウス混合モデルを使うことで表現が可能になります。それが右図のような形になるのです。
混合モデルのデータ生成過程
さて、この混合モデルを構築するアルゴリズムについて考えてみます。個のデータが生成される過程を次のように決めるとします。 ここでクラスタ数はとします。
- クラスタの混合比率が事前分布から生成される。ただし、 かつ
- それぞれのクラスタ に対する観測モデルのパラメータ (平均値、分散等)が事前分布から生成される
- に関して、 に対応するクラスタの割り当てが比率によって選ばれる。
- に関して、 によって選択された 番目の確率分布 からデータ が生成される
このようなアルゴリズムを通して個全てのデータが生成されたとします。このように、データの生成過程に関する過程を元に構築したモデルを生成モデル(generative model)と呼びます。
この例で出てきたは隠れ変数(hidden variable)、または潜在変数(latent variable)と呼ばれます。つまり、を発生させる確率分布を潜在的に決めている因子であることを意味しています。
確率分布の意味付け
先に説明したステップ4.について、点に対する確率分布を定義します。クラスタの数個の確率分布を用意する必要があります。つまり、
と表すこととします。ここでを観測モデルのパラメータとしています。
続いて、ステップ3の個の観測モデルを各データ点に割り当てる手段ですが、に対して表現を適用します。
ここで、として混合比率を定義しています。
ステップ3,4を組み合わせると、を生成するための確率分布をは下記と表すことができます。
ここで、観測モデルのパラメータをとしてまとめて書いています。
次にステップ2に関してですが、これはステップ4.で定義した観測モデルのパラメータに関する事前分布を定義します。
最後にステップ1.の混合比率についてです。こちらも十分な量のデータが観測されるまでは、未知である場合が多いです。従い、何らかの事前分布を持たせると良いでしょう。 はカテゴリ分布のパラメータなので、共役事前分布である次元のディリクレ分布とします。
ここでは次元ベクトルのハイパーパラメータとします。
さて、これまでの確率分布を用いて個のデータに関する同時分布を考えることでモデル全体を表すことが可能になります。
ここで、と対応する事前分布を定義することによってポアソン混合やガウス混合モデルといった具体的な例を作っていくことになるのです。
混合モデルの事後分布
さて、混合モデルにおいて推論問題を考えます。観測データから未知の変数の事後分布を計算する必要があります。これは、
と表される条件付き分布となります。また、データが属するクラスタの推定を行うためには、
とおいて計算すれば良いのです。 しかし、混合モデルにおいてこれらの計算が非常に負荷がかかる、または解析的に解けない場合が発生します。従い、の計算を真面目にやろうとすると下記の周辺化が必要です。
この2行目についてはの取りうる全て組み合わせについて評価する必要があり、解の計算が必要になります。データ数は機械学習では非常に膨大な数字のため、計算が現実的ではありません。
従い、ここで近似推論といった考え方で計算を進めていく手法が現在一般的となっています。
終わりに
今回は、混合モデルの表現方法及び事後分布についてまとめました。次回は実際にこれを近似する手法をまとめられればと思います。