EM算法(二)
? (一)中我們談到,如果帶入樣本分類(lèi)的不確定性,我們要估計(jì)的(1)式就會(huì)變得相當(dāng)復(fù)雜,為了繞開(kāi)這個(gè)問(wèn)題,靠的就是EM算法。
? 這里我決定倒著講,可能更容易然大家理解。首先,說(shuō)一下EM算法是怎么操作來(lái)讓(4)式的最大值逼近(1)式的最大值的;接下來(lái),會(huì)在幾何的角度上證明我們的想法。最后,會(huì)把論文中提到的式子加以證明。
? EM是怎么操作的?
? E步:給定(第一次迭代時(shí)候可以隨機(jī)給出初始值),令。
? M步:求解令(4)式最大的值。
? 如此循環(huán),直到的值不再有太大的變化。
??
? 從幾何角度講,EM算法在做神馬事情?
?
? 曲線1是(1)式的似然函數(shù)曲線。曲線2、3、4是(4)式可能的似然函數(shù)曲線。因?yàn)?#xff08;1)式大于等于(4)式,所以曲線2、3、4一定在曲線1的下邊。(4)式的曲線隨著、的取值的不同變換著位置。
? 那么EM算法每部發(fā)生了什么?當(dāng)?shù)臅r(shí)候,給定曲線2會(huì)和曲線1在A點(diǎn)相交(E步,后邊會(huì)證明為什么在A點(diǎn)相交)。這時(shí)候求得曲線2最值B點(diǎn)對(duì)應(yīng)的(M步)。這時(shí)候EM算法的第一次循環(huán)就做完了。然后在的基礎(chǔ)上從新令,這時(shí)候曲線3會(huì)和曲線1相交在C點(diǎn)(E步),然后我們?cè)谇蟮们€三的最值(M步)。如此循環(huán),最終我們會(huì)走向曲線4,而這時(shí)候,曲線4的最值就是曲線1的最值,即滿(mǎn)足了曲線4取得最值,也讓曲線1取得最值。從路徑上看,(4)式對(duì)應(yīng)的似然函數(shù)曲線會(huì)沿著曲線1的邊界不斷的逼近曲線1的最值。
? 到這一步,各位會(huì)有的問(wèn)題是,為什么會(huì)讓兩個(gè)曲線有一個(gè)交點(diǎn),而且為什么每次迭代會(huì)畢竟真正的最值。
?
? 兩個(gè)證明。
? 先說(shuō),什么時(shí)候(1)式和(4)式會(huì)相等。如果一個(gè)函數(shù)是嚴(yán)格的凸函數(shù),回想Jensen不等式會(huì)在什么時(shí)候相等?只有自變量是常數(shù)的情況下才會(huì)相等。
? 那么就有(就是(4)式log函數(shù)的自變量),又因?yàn)?#xff0c;所以(簡(jiǎn)單推到下就可以得到結(jié)果了)。所以E步可以保證:(4)式和(1)式的曲線有一個(gè)交點(diǎn)。
? 那么,是不是每次跌倒后會(huì)有?也就是說(shuō),M步是否具有收斂性。
??
? 上圖的從幾何角度已經(jīng)給出了一個(gè)很直接的答案,這里就不在贅述過(guò)程。有興趣的朋友可以簡(jiǎn)單推到下。
?
??
轉(zhuǎn)載于:https://www.cnblogs.com/yangxiaotong/p/5938105.html
總結(jié)
- 上一篇: 使用VS2015远程GDB调试
- 下一篇: 从JVM指令层面看try-catch-f