EMアルゴリズム

はじめに

久しぶりにボカロを聴くとテンション上がりました。

ところで、2つの独立データ  \mathbb{x, y} があったとして、 \mathbb{y}が特にデータ群として不完全だとするとき、 統計学的にどうするべきなのでしょうか?

不完全データ

欠損データに関する周辺かを行うことによって、観測データのみの周辺分布になります。  p(\mathbb{x,y ; \theta}) から  p(\mathbb{x ; \theta})  となります。 $$ \displaystyle log p(\mathbb{x ; \theta}) = \log{ \int_y p(\mathbb{x,y; \theta) dy } } \tag{1}$$

この  log p(\mathbb{x ; \theta}) を最大にするパラメータ  \theta の推定をすればよい、ということになります。 ここで、EM法と呼ばれるアルゴリズムのEに当たる部分で $$ \displaystyle Q_k (\theta) = E_{\mathbb{y;x,\theta}} [\log{ p(\mathbb{x,y; \theta} })] \tag{2} $$ を最大にする  \theta を求めるという工程があります。

実際、EM法により式(1)の尤度  \displaystyle log p(\mathbb{x ; \theta}) が最大化できるのか?なぜ式(2)の左辺を最大にすれば式(1)が極値になるのか?ということが気になると思います。それでは、 \displaystyle log p(\mathbb{x ; \theta})  \theta について微分して0となる  \theta^{(\alpha)}を求めるということが反復的で最適化問題の本質だと思います。

$$\displaystyle \nabla_{\theta} \log{ p(\mathbb{x;\theta}) } $$

$$\displaystyle = \frac{ \nabla_{\theta} \int p(\mathbb{x,y;\theta}) dy }{ \int p(\mathbb{x,y;\theta}) dy } $$

$$ \displaystyle = \int{ \frac{ \nabla_{\theta} \int p(\mathbb{x,y;\theta}) }{ \int p(\mathbb{x,y';\theta}) dy' }}dy $$

$$ \displaystyle = \int{ \frac{ \nabla_{\theta} \int p(\mathbb{x,y;\theta}) }{ p(\mathbb{x,y;\theta}) } \frac{p(\mathbb{x,y;\theta}) }{ \int p(\mathbb{x,y';\theta}) dy' }}dy$$

$$ \displaystyle = \int{ \nabla_{\theta} p(\mathbb{x,y;\theta}) } p(\mathbb{y;x,\theta}) dy$$

ここで、最大となる \theta \theta^{(K+1)} として、収束するまで反復する。

$$ \displaystyle = \int{ \nabla_{\theta} \log{} p(\mathbb{x,y;\theta}) } p(\mathbb{y;x,\theta^{(K)}}) dy $$

$$ \displaystyle = \nabla_{\theta} \int{ \log{} p(\mathbb{x,y;\theta}) } p(\mathbb{y;x,\theta^{(K)}}) dy $$

$$ \displaystyle = \nabla_{\theta} E_{\mathbb{y;x,\theta^{(K)}}} [\log{ p(\mathbb{x,y; \theta} })]$$

$$ \displaystyle = \nabla_{\theta} Q_K (\theta) $$

※ マジでhatenablogのTeXが書きにくいだけで見難い僕が悪いわけじゃないんです!!(嘘です僕が全て悪いです。)

なんかこの式変形に時間を取られてしまったんですが、一番重要なのは log 微分です。忘れてたわけじゃないんですが、ナブラで来られると戸惑ってしまいまして。テクニックと呼べるものかわかりませんが、 y \to y' と変数変換をすることによって積分の対象外と一時的になっています。

感想

内容がいいだけにきちんと書きたかったんですが、TeX書くの難しいです….