Expectation Maximization
非観測データの期待値を最大化することで尤度を最大化 $ \bm{x}, \bm{y}:可観測データ,非観測データ
$ \bm{\lambda}, \bar{\bm{\lambda}}:現在,次ステップのモデルパラメータ
$ \mathcal{Q}(\boldsymbol{\lambda}, \overline{\boldsymbol{\lambda}})=\mathbb{E}[\log P(\boldsymbol{x}, \boldsymbol{y} | \overline{\boldsymbol{\lambda}}) | \boldsymbol{x}, \boldsymbol{\lambda}]
$ =\int P(\boldsymbol{y} | \boldsymbol{x}, \boldsymbol{\lambda}) \log P(\boldsymbol{x}, \boldsymbol{y} | \overline{\boldsymbol{\lambda}}) d \boldsymbol{y}
$ =\int \frac{P(\boldsymbol{x}, \boldsymbol{y} | \boldsymbol{\lambda})}{P(\boldsymbol{x} | \boldsymbol{\lambda})} \log P(\boldsymbol{x}, \boldsymbol{y} | \overline{\boldsymbol{\lambda}}) d \boldsymbol{y}
これに対し以下が成り立つ.
$ \mathcal{Q}(\boldsymbol{\lambda}, \overline{\boldsymbol{\lambda}}) \geq \mathcal{Q}(\boldsymbol{\lambda}, \boldsymbol{\lambda}) \Rightarrow P(\boldsymbol{x} | \overline{\boldsymbol{\lambda}}) \geq P(\boldsymbol{x} | \boldsymbol{\lambda})
出典に証明あり
以下のアルゴリズムでQ関数を最大化するパラメータを得る
1. 初期推定値$ \bm{\lambda}を与える
2. $ \mathcal{Q}(\boldsymbol{\lambda}, \overline{\boldsymbol{\lambda}})を計算する(Eステップ) 3. $ \mathcal{Q}(\boldsymbol{\lambda}, \overline{\boldsymbol{\lambda}})を$ \bar{\bm{\lambda}}に関して最大化する(Mステップ) 4. $ \bm\lambda \leftarrow \bar{\bm{\lambda}}
EMアルゴリズムは観測データの対数尤度を最大化するので、正確にはlog-EMアルゴリズムというべきものである log関数にはα-logとよばれる一般化された対数があるので、それを用いるとlog-EMを特例として含むアルゴリズムを作り上げることができる α-EMアルゴリズムは適切なαを選ぶことにより、log-EMアルゴリズムよりも高速になる