EM算法知識點整理

  1. 自己的理解
    目標θ̃ =argmaxθP(Y|θ)
    即我們要估計一個合理的θ̃  使得P(Y|θ) 達到最大值
    如果存在隱變量Z ,我理解爲Z 是一個沒有表現出來但是又是必要的一箇中間態,那麼P(Y|θ) 可以表示爲P(Y|θ)=P(Y,Z|θ)=ZP(Y|Z,θ)P(Z|θ)
    然後想象一下迭代的過程,即從θiθi+1 的過程,每次迭代應該是要滿足P(Y|θi+1)>P(Y|θi) ,考慮對數似然函數L(θ)=logP(Y|θ)
    L(θ)L(θi)=logP(Y|θ)logP(Y|θi)
    =logZP(Y|Z,θ)P(Z|θ)logP(Y|θi)
    =logZP(Z|Y,θi)P(Y|Z,θ)P(Z|θ)P(Z|Y,θi)logP(Y|θi)
    由Jensen不等式logjλjyjjλjlogyj ,其中λj0,jλj=1 ,原式變爲
    ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)ZP(Z|Y,θi)P(Y|θi)
    =ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)
    θi+i=argmaxθL(θi)+ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)
    =argmaxθZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)+ 常數項
    =argmaxθQ(θ,θi)
    EM的算法步驟可以因此分解成
    確隱變量,寫出完全數據的對數似然函數(完全數據就是Z數據和Y數據,不完全數據就是隻有Y數據)
    E 步:計算Q 函數
    M 步:迭代估計θ

  2. 優點:簡單性和普適性,可看作是一種非梯度優化方法(解決梯度下降等優化方法的缺陷:求和的項數將隨 着隱變量的數目以指數級上升,會給梯度計算帶來麻煩)
    缺點:對初始值敏感,不同的初值可能得到不同的參數估計值;不能保證找到全局最優值。

  3. EM求解原理:
    因爲在求解一個含有隱變量的概率模型時,目標是極大化觀測數據關於參數的對數似然函數,而極大化的主要困難是含有未觀測數據並有包含和的對數,而EM算法是通過迭代,不斷求解下界的極大化,來逐步求解對數似然函數極大化。

  4. 採用EM算法求解的模型有哪些?爲什麼不用牛頓法或者梯度下降法?
    一般有混合高斯、協同過濾、k-means。算法一定會收斂,但是可能會收斂到局部最優。求和的項數會隨着隱變量的數目指數上升,會給梯度計算帶來麻煩。EM算法是一種非梯度優化算法。

  5. 用EM算法推導解釋K-means:
    k-means算法是高斯混合聚類在混合成分方差相等,且每個樣本僅指派一個混合成分時候的特例。k-means算法與EM算法的關係是這樣的:
    · k-means是兩個步驟交替進行:確定中心點,對每個樣本選擇最近中心點–> E步和M步。
    · E步中將每個點選擇最近的類優化目標函數,分給中心距它最近的類(硬分配),可以看成是EM算法中E步(軟分配)的近似。
    · M步中更新每個類的中心點,可以認爲是在「各類分佈均爲單位方差的高斯分佈」的假設下,最大化似然值;
    來源:http://blog.csdn.net/qq_34896915/article/details/75040578

發佈了196 篇原創文章 · 獲贊 73 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章