期望最大化算法

〇、說明

在看到的資料里,包括周志華教授的《機器學習》[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)系作者獲得授權并注明出處。

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容