EMアルゴリズム
今回は、前回の混合ガウスモデルに引き続き、混合ガウスモデルのパラメータ推定の手法に使えるEMアルゴリズムについて紹介したいと思います。
混合ガウスモデルを例に挙げますので、混合ガウスモデルが分からない方は前回の記事を参照してください。
hiro2o2.hatenablog.jp
- なぜ最尤推定で解けないか?
混合ガウスモデルは以下の式で表せました。
何か近似したい確率密度分布(真の分布)がある際に、混合ガウスモデルを使って近似する場合、最も真の分布に近づくような、パラメータが分かれば良いです。
このパラメータの学習に、通常のガウスモデルと同じように最尤推定を用い、対数尤度の最大化のアプローチで解けるでしょうか?
このように、正規分布の和のlogの部分で、微分して0とおく計算が難しくなります。
また、重みを足し合わせて1であるという条件と、共分散行列が正定値であるという条件のもと、を最大にするのは困難です。つまり、この問題は解析的に解けません。
- 隠れ変数の定義
ここで、のような変数を定義します。この変数を以下のように導入します。
・・・(1)
・・・(2)
ここで、混合ガウスモデルは以下のようになります。
まず一行目ではxの分布がxとzの同時分布を周辺化した物で表せることを示しており、二行目では、ベイズの定理よりxの分布とzの事前分布に分けられます。そして、(1)(2)式より、zを導入した式が、混合ガウスモデルになる事が分かりました。
上の図を見ると分かるように、隠れ変数zはどの正規分布かを表し、xとzの同時確率というのは、一つの正規分布を表します。また、それらをzについて周辺化することで混合ガウスモデルが得られるという事を表しています。
やっと本題に入ります。隠れ変数zを含めた対数尤度の式は以下のようになります。
Jensenの不等式より、最大化したい尤度よりも常に小さい尤度の下界をとして定義し、この下界を大きくすることで尤度の最大化を行おうというのが、EMアルゴリズムです。
を最大化するために、とを交互に求めて少しずついいものにしていきます。
・Eステップ
を固定してを変更し、下界を最大化する
・Mステップ
を固定して、下界を最大にするを求める
このようにEステップとMステップを繰り返すことにより、尤度を最大化し、最適なパラメータを求めます。
EMアルゴリズムの図的なイメージ
ただし、注意して頂きたいのが、最尤推定と同じく局所最適化などの問題を孕んでいる点など、様々な面において最尤推定の悪い部分も引き継いでいます。
しかし、実装の容易さと理解のしやすさから混合ガウスモデルのパラメータ推定によく用いられます。