EM算法:期望最大化算法

MLE(極大似然估計(jì)法)是一種非常有效的參數(shù)估計(jì)方法,但在概率模型中,有時(shí)既含有觀(guān)測(cè)變量 (observable variable), 又含有隱變量(hidden variable)或潛在變量(latent variable),例如:分布中有多余參數(shù)或數(shù)據(jù)為截尾或缺失時(shí),這個(gè)時(shí)候使用MLE求解是比較困難的。于是Dempster等人于1977年提出了EM算法,其出發(fā)點(diǎn)是把求MLE的過(guò)程分兩步走,第一步是求期望,以便把多余的部分去掉,第二步是求極大值。

我們給定數(shù)據(jù)和參數(shù):
x: \ \text{observed data}
z:\ \text{unobserved data } , 也就是隱變量
\left( x,\ z \right) :\ \text{complete data}
\theta :\ \text{parameter}

EM 算法對(duì)這個(gè)問(wèn)題的解決方法是采用迭代的方法,這里直接給出最終的公式
\theta^{t+1}=\mathop{argmax}\limits_{\theta}\int_z p(z|x,\theta^t)\log p(x,z|\theta)dz=\mathop{argmax}\limits_{\theta}\mathbb{E}_{z|x,\theta^t}[\log p(x,z|\theta)]

后面再說(shuō)明這個(gè)式子是從何得來(lái)的。

這個(gè)公式包含了迭代的兩步:
E step:計(jì)算 \log p(x,z|\theta) 在概率分布 p(z|x,\theta^t) 下的期望
M step:計(jì)算使這個(gè)期望最大化的參數(shù)得到下一個(gè) EM 步驟的輸入

對(duì)于上述算法求解過(guò)程,似然函數(shù)在每一步迭代的過(guò)程中都是在增大的,除非已經(jīng)達(dá)到最大值,證明如下。

求證:\log p(x|\theta^t) <= log p(x|\theta^{t+1})

證明:
我們知道
\log p(x|\theta)=\log p(z,x|\theta)-\log p(z|x,\theta)p(z|x,\theta^t)概率下對(duì)左右兩邊求期望:
左邊=\int_zp(z|x,\theta^t)\log p(x|\theta)dz=\log p(x|\theta)

右邊=\int_zp(z|x,\theta^t)\log p(x,z|\theta)dz-\int_zp(z|x,\theta^t)\log p(z|x,\theta)dz=Q(\theta,\theta^t)-H(\theta,\theta^t)

所以:
\log p(x|\theta)=Q(\theta,\theta^t)-H(\theta,\theta^t)
由于 Q(\theta,\theta^t)=\int_zp(z|x,\theta^t)\log p(x,z|\theta)dz,
\theta^{t+1}=\mathop{argmax}\limits_{\theta}\int_zp(z|x,\theta^t)\log p(x,z|\theta)dz=\mathop{argmax}\limits_{\theta}Q(\theta,\theta^t),
所以 Q(\theta^{t+1},\theta^t)\ge Q(\theta^t,\theta^t).
這時(shí)要證 \log p(x|\theta^t)\le\log p(x|\theta^{t+1}),只需證:H(\theta^t,\theta^t)\ge H(\theta^{t+1},\theta^t)

H\left( \theta ^{t+1},\,\,\theta ^t \right) -H\left( \theta ^t,\,\,\theta ^t \right)
=\int_z{P\left( z|x,\theta ^t \right)}\log P\left( z|x,\theta ^{t+1} \right) dz-\int_z{P\left( z|x,\theta ^t \right)}\log P\left( z|x,\theta ^t \right) dz
=\int_z{P\left( z|x,\theta ^t \right)}\log \frac{P\left( z|x,\theta ^{t+1} \right)}{P\left( z|x,\theta ^t \right)}dz
<= \log \int_z{P\left( z|x,\theta ^t \right)}\frac{P\left( z|x,\theta ^{t+1} \right)}{P\left( z|x,\theta ^t \right)}dz=\log \int_z{P\left( z|x,\theta^{t+1} \right)}dz=0
所以
H(\theta^t,\theta^t)\ge H(\theta^{t+1},\theta^t)
綜上我們得證
\log p(x|\theta^t) <=\log p(x|\theta^{t+1})

進(jìn)一步,我們來(lái)看EM 迭代過(guò)程是如何得來(lái)的

image.png

在概率分布q(z)下, 對(duì)上式左右兩邊求期望\mathbb{E}_{q(z)}

\begin{align} &左邊=\int_zq(z)\log p(x|\theta)dz=\log p(x|\theta) \\ &右邊=\int_zq(z)\log \frac{p(z,x|\theta)}{q(z)}dz-\int_zq(z)\log \frac{p(z|x,\theta)}{q(z)}dz=ELBO+KL(q(z)||p(z|x,\theta))\end{align}

其中ELBO=\int_zq(z)\log \frac{p(z,x|\theta)}{q(z)}dz
ELBO 的全稱(chēng)是Evidence lower bound,我們知道KL(q(z)||p(z|x,\theta))\ge 0,所以

\log p(x|\theta)\ge ELBO,

KL(q(z)||p(z|x,\theta))= 0,上式取等號(hào),即:q(z)=p(z|x,\theta),EM 算法的目的是將 ELBO 最大化,根據(jù)上面的證明過(guò)程,在每一步 EM 后,求得了最大的ELBO,并將這個(gè)使 ELBO最大的參數(shù)代入下一次迭代中,這時(shí)便有

image.png

由于 q(z)=p(z|x,\theta^t) 的時(shí)候,最大值才能取等號(hào),所以
\hat{\theta}=\mathop{argmax}_{\theta}ELBO=\mathop{argmax}_\theta\int_zq(z)\log\frac{p(x,z|\theta)}{q(z)}dz \\ =\mathop{argmax}_\theta\int_zp(z|x,\theta^t)\log\frac{p(x,z|\theta)}{p(z|x,\theta^t)}dz \\ =\mathop{argmax}_\theta\int_z p(z|x,\theta^t)\log p(x,z|\theta)dz
我們就得到了開(kāi)始給出的EM算法迭代式。

從 Jensen 不等式出發(fā),也可以導(dǎo)出上式:

logp (x|\theta) =\log\int_zp(x,z|\theta)dz=\log\int_z\frac{p(x,z|\theta)q(z)}{q(z)}dz \\ =\log \mathbb{E}_{q(z)}[\frac{p(x,z|\theta)}{q(z)}]\ge \mathbb{E}_{q(z)}[\log\frac{p(x,z|\theta)}{q(z)}]
右邊的式子便是我們上面的 ELBO,等號(hào)在 \frac{p(x,z|\theta)}{q(z)}=C 時(shí)成立。這里C是常數(shù),于是:

\int_zq(z)dz=\frac{1}{C}\int_zp(x,z|\theta)dz=\frac{1}{C}p(x|\theta)=1 \\
p(x|\theta)=C, 另外我們知道p(x,z|\theta)=Cq(z), 所以
q(z)= \frac{Cq(z)}{C} =\frac{1}{p(x|\theta)}p(x,z|\theta)=p(z|x,\theta)

這個(gè)結(jié)果就是上面的最大值取等號(hào)的條件。

參考:
模式識(shí)別與機(jī)器學(xué)習(xí)(PRML)
李航的統(tǒng)計(jì)學(xué)習(xí)方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容