Expectation Maximization
EMアルゴリズム, EM
観測できるデータ(可観測データ)の他に,観測できないデータ(非観測データ)が存在する場合に最尤推定を行うための手法
非観測データの期待値を最大化することで尤度を最大化
$ \bm{x}, \bm{y}:可観測データ,非観測データ
$ \bm{\lambda}, \bar{\bm{\lambda}}:現在,次ステップのモデルパラメータ
期待値,Q関数
$ \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}}
http://www.sp.nitech.ac.jp/~j-higu/tmp.pdf
EMアルゴリズムは観測データの対数尤度を最大化するので、正確にはlog-EMアルゴリズムというべきものである
log関数にはα-logとよばれる一般化された対数があるので、それを用いるとlog-EMを特例として含むアルゴリズムを作り上げることができる
ただし、この場合は尤度ではなくてα-log尤度比とαダイバージェンスを用いて基本等式を導くことになる
このようにして得られたものがα-EMアルゴリズム(from Surrogate likelihood maximization using α-logarithmic information measures)であり、log-EMアルゴリズムをサブクラスとして含んでいる
α-EMアルゴリズムは適切なαを選ぶことにより、log-EMアルゴリズムよりも高速になる
また、log-EMが隠れマルコフモデル推定アルゴリズム(Baum-Welchアルゴリズム)を含んでいるように、α-EMアルゴリズムから高速なα-HMMアルゴリズムを得ることができる。 #HMM
https://ja.wikipedia.org/wiki/EMアルゴリズム