EM演算法定義及推導

2022-04-22 10:51:09 字數 1732 閱讀 1756

em演算法是一種迭代演算法,傳說中的上帝演算法,俗人可望不可及。用以含有隱變數的概率模型引數的極大似然估計,或極大後驗概率估計

輸入:觀測變數資料x,隱變數資料z,聯合分布\(p(x,z|\theta)\)

輸出:模型引數\(\theta\)

(1)選擇初始模型引數\(\theta^\),開始迭代

(2)e步:記\(\theta^\)為第i次迭代引數\(\theta\)的估計值,計算在第i次迭代的期望$$q(\theta,\theta^) = e(logp(x,z|\theta)|x,\theta))=\int_zlogp(x,z|\theta)p(z|\theta)$$

(3)m步:求使\(\theta^ = q(\theta,\theta^)的最大值\)

(4)重複第(2)步和第(3)步

(1)引數的初值可以任意選擇,但需注意em演算法初始是敏感的

(2)e步求\(q(\theta,\theta^)\),q函式種的z是為觀測資料,x是觀測資料,\(q(\theta,\theta^)\)中的第乙個變元表示要極大化的引數,第二個變元表示引數的當前估計值,每次迭代實際在求q的極大值

(3)給出停止迭代的條件,一般是對較小的正數\(\xi_i,\xi_2\),若滿足\(||\theta^ - \theta^ < \xi_i||或||q(\theta^,\theta^)-q(\theta^,\theta^)|| < \xi_2\)

\[l(\theta)= argmaxlogp(x|\theta) = argmaxlog\int_zp(x,z|\theta)dz

\]\[l(\theta) = argmaxlog\int_z\frac)}p(z|\theta^)dz

\]由於log函式為凹函式,則$$l(\theta) \geq \int_zlog\frac)}p(z|\theta)dz$$

\[l(\theta) \geq \int_zlogp(x,z|\theta)p(z|\theta^)dz - \int_zlog(p(z|\theta^))p(z|\theta^)dz

\]由於減式後面與模型引數\(\theta\)無關,\(p(z|\theta^)是已知的\),所以只需關注減式前面的式自,令$$q(\theta,\theta)=\int_zlogp(x,z|\theta)p(z|\theta)$$

和演算法定義中的步驟(2)相同,將原l的優化問題轉換為求原問題下界\(q(\theta,\theta^)\)的最大值

因此,任何可以使\(q(\theta,\theta^)\)增大的\(\theta\)都可以使\(l(\theta)\)增大,為了使\(l(\theta)\)有盡可能的增長,選擇使\(q(\theta,\theta^)\)達到最大,即$$\theta^ = argmaxq(\theta,\theta^)$$

定理1:\(設p(x|\theta)為觀測資料的似然函式,\theta^為em演算法得到的引數估計序列,p(x|\theta^)為對應的似然函式序列,則p(x|\theta^)單調遞增\)

定理2:\(設l(\theta) = logp(x|\theta)為觀測資料的似然函式,\theta^為em演算法得到的引數估計序列,l(\theta^)為對應的似然函式序列\)

(1)\(如果p(x|\theta)有上界,則l(\theta^)收斂到某一值l^*\)

(2)\(在函式q(\theta,\theta^)與l(\theta)滿足一定條件下,由em演算法得到的引數估計序列\theta^的收斂值\theta^*是l(\theta)的穩定值\)

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演算法推導的兩個注意點

em演算法非常經典,公式推導也十分完美。然而含金量這麼高的公式,常常由於知識密度太大導致無法消化。我在看部落格推導em演算法的過程中,為了解決前後邏輯跨度大的問題,分析到了兩個注意點,能夠使得公式推導更加合理。一 在公式推導假設 機器學習 em演算法詳細推導和講解 bigmoyan 成立的過程中我們...

EM演算法詳細推導

em演算法推導 em演算法舉例 em演算法收斂性證明 一點小思考 參考文獻 概率模型有時既含有觀測變數,又含有隱變數或潛在變數。如果概率模型的變數都是觀測變數,那麼給定觀測資料,直接根據極大似然估計求解模型引數。em演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計或者極大後驗概率估...