数式を使わず
イメージで理解する
EMアルゴリズム
@yag_ays
参考:「パターン認識と機械学習」下巻9章

Machine Learning Advent Calendar 2013
この図は対数尤度関数とパラメータの関係を
おおまかにプロットしたものです
ln p(X|✓)

(PRML 図9.14参考)

✓
横軸は最適化したいパラメータ
縦軸は最大化したい対数尤度関数の値になっています
ln p(X|✓)

対数尤度関数

パラメータ

✓
EMアルゴリズムの目的は対数尤度関数が最大値に
なるときのパラメータを求めることです
ln p(X|✓)

✓
ただし対数尤度関数を直接最大化することはできません
(解析的に求まらない・下図のような形がわからない)
ln p(X|✓)

✓
それではEMアルゴリズムで
対数尤度関数を最大化しましょう
ln p(X|✓)

✓
まずパラメータの初期値を適当に決めます
ln p(X|✓)

✓

✓
Eステップでは現在のパラメータ値での下界を計算します
青の点線が下界を表しています
ln p(X|✓)

Eステップ
L(q, ✓)

✓

✓
Mステップで下界を最大化するパラメータを新たに求めます
つまり点線の最大値のところにパラメータをずらします
ln p(X|✓)

Mステップ

L(q, ✓)

✓ ✓

0

✓
あとは同様にEステップとMステップを繰り返します
ln p(X|✓)

✓ ✓

0

✓
あとは同様にEステップとMステップを繰り返します
ln p(X|✓)

Eステップ
0

L(q, ✓ )

✓ ✓

0

✓
あとは同様にEステップとMステップを繰り返します
ln p(X|✓)

Mステップ
0

L(q, ✓ )

✓ ✓

0

✓

00

✓
ある程度パラメータや対数尤度値が収束すれば
EMアルゴリズムは終了です
ln p(X|✓)

✓ ✓

0

✓

00

✓
これで対数尤度関数を最大にするパラメータが
求められました!
ln p(X|✓)

✓ ✓

0

✓

00

✓

数式を使わずイメージで理解するEMアルゴリズム