em演算法推導
em演算法舉例
em演算法收斂性證明
一點小思考
參考文獻
概率模型有時既含有觀測變數,又含有隱變數或潛在變數。如果概率模型的變數都是觀測變數,那麼給定觀測資料,直接根據極大似然估計求解模型引數。em演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計或者極大後驗概率估計。em演算法的每次迭代由兩步組成:e步,求期望;m步,求極大值。em演算法用於對觀測資料的極大似然估計的近似實現。
em演算法:
輸入:觀測變數資料y,隱變數資料z,聯合分布p(y,z|θ),條件分布p(z|y,θ);對於乙個含有隱變數的概率模型,目標是極大化觀測資料y關於引數θ的對數似然函式,即極大化輸出:模型引數θ
(1)選擇初始引數,開始迭代
(2)e步:記為第i次迭代引數θ的估計值,在第i+1次迭代的e步,計算
(3)m步:求使q極大化的θ,確定第i+1次迭代的引數估計值
(4)重複2和3步,直到收斂
em演算法就是通過迭代逐步近似極大化l(θ)的。假設在第i次迭代後θ的估計值是θi。我們希望新估計值θ能使l(θ)增加。即l(θ)>l(θi),並逐步達到極大值。為此,考慮兩者的差:
根據jensen不等式得到其下界:
令則即函式b是l的乙個下界,
任何使得b增大的θ,也可以使l(θ)增大。為了使l(θ)有盡可能大的增長,選擇θ(i+1)使b達到極大,即
注意:其實在這裡同時可以證明p(y|θi)的收斂性,因其有上界,同時
則收斂。
比較經典的圖
李航老師書中三硬幣模型,這裡針對書中省略的推導過程做一補充。
首先我們的目標是對q(θ,θi)找到其極大化
先找出完全資料的對數似然函式logp(y,z|θ)
定理1:設p(y|θ)為觀測資料的似然函式,θi為em演算法得到的引數估計序列,p(y|θi)為對應的似然函式序列,則p(y|θi)是單調遞增的,即
在em演算法推導中提到了收斂性的證明方法,另一種證明方法參考李航老師書中所示.
em演算法收斂性其實包含兩個方面,其一是p(y|θi)的收斂,其二是θ在迭代過程中的收斂,《統計學習方法》中只是證明了前者的收斂,對於後者的收斂,我會查閱相關文獻列出證明方法。
[1] 李航.《統計學習方法》
em演算法詳細例子及推導 EM演算法推導的兩個注意點
em演算法非常經典,公式推導也十分完美。然而含金量這麼高的公式,常常由於知識密度太大導致無法消化。我在看部落格推導em演算法的過程中,為了解決前後邏輯跨度大的問題,分析到了兩個注意點,能夠使得公式推導更加合理。一 在公式推導假設 機器學習 em演算法詳細推導和講解 bigmoyan 成立的過程中我們...
EM演算法推導
給定觀測樣本集 求帶有隱變數模型的最大似然。似然函式 l theta logp y theta log sum zp y,z theta log p y z,theta p z theta 將似然函式減去上一步的似然函式 begin l theta l theta log p y z,theta p...
機器學習 EM演算法詳細推導和講解
今天不太想學習,炒個冷飯,講講機器學習十大演算法裡有名的em演算法,文章裡面有些個人理解,如有錯漏,還請讀者不吝賜教。然而現在我面臨的是這種情況,我手上的資料是四川人和東北人的身高合集,然而對於其中具體的每乙個資料,並沒有標定出它來自 東北人 還是 四川人 我想如果把這個資料集的概率密度畫出來,大約...