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ù):
也就是隱變量
EM 算法對(duì)這個(gè)問(wèn)題的解決方法是采用迭代的方法,這里直接給出最終的公式
后面再說(shuō)明這個(gè)式子是從何得來(lái)的。
這個(gè)公式包含了迭代的兩步:
E step:計(jì)算 在概率分布
下的期望
M step:計(jì)算使這個(gè)期望最大化的參數(shù)得到下一個(gè) EM 步驟的輸入
對(duì)于上述算法求解過(guò)程,似然函數(shù)在每一步迭代的過(guò)程中都是在增大的,除非已經(jīng)達(dá)到最大值,證明如下。
求證:
證明:
我們知道
在
概率下對(duì)左右兩邊求期望:
所以:
由于
而
所以
這時(shí)要證,只需證:
:
所以
綜上我們得證
進(jìn)一步,我們來(lái)看EM 迭代過(guò)程是如何得來(lái)的

在概率分布下, 對(duì)上式左右兩邊求期望
:
其中
的全稱(chēng)是Evidence lower bound,我們知道
,所以
在,上式取等號(hào),即:
,EM 算法的目的是將 ELBO 最大化,根據(jù)上面的證明過(guò)程,在每一步 EM 后,求得了最大的
,并將這個(gè)使
最大的參數(shù)代入下一次迭代中,這時(shí)便有

由于 的時(shí)候,最大值才能取等號(hào),所以
我們就得到了開(kāi)始給出的EM算法迭代式。
從 Jensen 不等式出發(fā),也可以導(dǎo)出上式:
右邊的式子便是我們上面的 ,等號(hào)在
時(shí)成立。這里
是常數(shù),于是:
即, 另外我們知道
, 所以
這個(gè)結(jié)果就是上面的最大值取等號(hào)的條件。
參考:
模式識(shí)別與機(jī)器學(xué)習(xí)(PRML)
李航的統(tǒng)計(jì)學(xué)習(xí)方法