はじめに
混合ガウス分布の最尤推定の記事で、混合ガウス分布の説明はしております。
使用する変数などはそちらをご覧ください。
また、本記事は混合ガウス分布の最尤推定に一般のEMアルゴリズムを適用する内容となっておりますので、
一般のEMアルゴリズムの記事をご覧になっていない方は、まずはそちらをご覧ください。
一応、本記事にも混合ガウス分布のグラフィカルモデルを貼り付けておきます。
最尤推定
各データ点が混合ガウス分布から独立に生成されると仮定すると、尤度は以下のようになります。
対数を取ります。
式はlog-sumになっており、解析的解くことができません。
そこでEMアルゴリズムを適用します。
一般のEMアルゴリズムと表記を合わせるためにとおきます。
1.初期化
を初期化します。
2.Eステップ
Eステップでは、を計算します。
の計算には、とが必要です。
まず、の計算します。
以下の計算で使用する式を書いておきます。
式より以下が成り立ちます。
完全データの尤度関数を計算します。
完全データの対数尤度関数を計算します。
次に、を計算します。
※本来は、を計算する必要がありますが、かの違いだけなので、を計算すれば十分です。
式はについての積の形をしているので、事後分布の下ではは独立であることが分かります。
式の因数を求めます。
の計算時にが出てくるので、先に求めておきます。
式の4行目から5行目にかけての変形ですが
左側のですが、のときのみ1になります。
分子のになるのは、の時なので、分子はが残ります。
分母についてはこちらの記事の式を参考にしてください。
を求めます。
Eステップでの目的はを計算することであり、
の中でに依存するのは、なので、
Eステップで実質行うのは、の計算です。
また、式ですが、
「本当は完全データの対数尤度関数を使って計算したいが、は潜在変数なので観測できない。
だったら、の代わりにの事後分布による期待値で置き換えてしまおう。」
というノリです。
3. Mステップ
以下のMステップの全ての更新式で使う為、を以下のようにおきます。
最後に
更新式は勿論、混合ガウス分布の最尤推定の記事と同じです。
混合ガウス分布の最尤推定の記事と比較すると、Mステップ以降の式変形が若干簡単になっています。
動画
本記事は動画投稿後、大幅に書き直しました。