〇、說明
在看到的資料里,包括周志華教授的《機器學習》[1]、李航博士的《統(tǒng)計學習方法》[2],大多數(shù)材料把期望最大化算法看做是一個解決含有隱變量優(yōu)化問題的算法,我認為這是對期望最大化算法的狹義理解;而在吳軍博士的《數(shù)學之美》[3]中,吳軍博士將交替優(yōu)化參數(shù)和模型直到最優(yōu)的這一類算法(書中沒有這樣表述,我自己對書中內容的理解),稱作期望最大化算法,我認為這是對期望最大化算法的廣義理解。對于對算法的宏觀理解,個人認為吳軍博士的廣義理解更好理解;但對于解決實際問題,還是要具體到每一個可以編程實現(xiàn)的算法。
一、一句話簡介
期望最大化算法(Expectation Maximization),是一種漸進逼近算法;定義一個最優(yōu)化函數(shù)后,分為兩步:根據(jù)參數(shù)調整模型(E步);根據(jù)模型調整參數(shù)(M步);E步和M步交替進行,直至最優(yōu)(局部)。
二、最簡單的例子
一個不是很恰當?shù)睦樱跎w樓房。
目標函數(shù):蓋樓房蓋到預定高度。E步:根據(jù)樓房現(xiàn)有高度調整塔吊高度(根據(jù)參數(shù)調整模型);M步:根據(jù)現(xiàn)有塔吊高度將樓房蓋到盡可能高(根據(jù)模型調整參數(shù));交替進行直到樓房達到預定高度。
三、廣義期望最大化算法包括
狹義期望最大化算法,K均值算法[3],Baum-Welch算法[3],GIS算法[3],等等。
四、狹義期望最大化算法
1、算法引出
在考慮求對于模型參數(shù),使樣本結果極大似然估計的算法中,如果存在隱變量而使得極大似然估計無法直接求解,則這時候可以使用期望最大化(EM)算法來求解。
2、算法描述[2]

3、注意
EM算法對初值是敏感的,并且收斂到局部極值。常用的辦法是選取幾個不同的初值進行迭代,然后對得到的各個估計值加以比較,從中選擇最好的[2]。
五、參考
1、《機器學習》,周志華著
2、《統(tǒng)計學習方法》,李航著
3、《數(shù)學之美》,吳軍著
作者:Herbert002
鏈接:http://www.itdecent.cn/p/037251cc32b7
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯(lián)系作者獲得授權并注明出處。