一般のEMアルゴリズムについて説明します。
導入
全ての観測データの集合をで表します。
全ての潜在変数の集合をで表します。
全てのモデルパラメータの集合をで表します。
この時、対数尤度は以下のようになります。
今、の最適化は難しいが、
完全データの対数尤度関数の最適化可能であるとします。
潜在変数についての分布を導入し、以下のように対数尤度関数を分解します。
Eステップ
をについて最大化します。
は固定します。現在の値をとします。
の値はに依らないので、
を最大化するには、を最小化すればよいことが分かります。
はのときに最小値0となるのでとなります。
この時、はと等しくなります。
ここで、を変形します。
このは完全データの対数尤度関数のの事後分布に関する期待値になっていることが分かります。
次のMステップでは、この関数を最大化します。
Mステップ
をについて最大化します。
は固定します。
式で表すと以下のようになります。
この時、です。
また、とはとなります。
従って、です。
まとめ
1.初期化
を初期化します。
2. Eステップ
を計算します。
関数を計算します。
3. Mステップ
を更新します。
4. 収束確認
を計算し、収束しているか調べます。
収束している場合、終了します。
収束していない場合、とし、2に戻ります。
以上がEMアルゴリズムです。
※PRMLでは、Q関数を求めるのはMステップとしているが、
続・わかりやすいパターン認識ではQ関数を求めるのはMステップとしています。
Eステップは期待値計算に相当するので、Q関数の計算は私はEステップだと思います。
最後に、例として初期化→Eステップ→Mステップ→Eステップを図示します。
偉人の名言
自分の弱点をさらけ出さずに人から利益を受けられない。自分の弱点をさらけ出さずに人に利益を与えられない。
夏目漱石
動画
この動画は本記事を書く前に作成したため、内容が異なる可能性があります。