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