天天看點

MLE到EM算法reference

文章目錄

    • MLE
    • EM
      • EM 算法流程
      • EM算法的推導
  • reference

MLE

我們經常會從樣本觀察資料Y中,找出樣本的模型參數。 最常用的方法就是:極大化模型分布的對數似然函數。

Θ M L E = log ⁡ P ( Y ∣ θ ) \Theta_{MLE}=\log P(Y|\theta) ΘMLE​=logP(Y∣θ)

Θ M L E = arg ⁡ max ⁡ θ ∑ i = 1 m log ⁡ P ( y i ∣ θ ) \Theta_{MLE}=\arg \max_{\theta}\sum^m_{i=1} \log P(y_i|\theta) ΘMLE​=argθmax​i=1∑m​logP(yi​∣θ)

EM

但是在一些情況下,我們得到的資料有未觀察到的隐含資料Z latent variable。

之前資料Y由X(obserabled variable)和Z(latent variable)組成

此時我們未知的有隐含資料和模型參數,因而無法直接用極大化對數似然函數得到模型分布的參數。

EM算法解決這個的思路是使用啟發式的疊代方法,既然我們無法直接求出模型分布參數,那麼我們可以使用疊代的方式讓

隐含資料

模型參數

互相确定,最後趨于穩定
  1. 先猜想隐含資料(EM算法的E步)
  2. 接着基于觀察資料和猜測的隐含資料一起來極大化對數似然,求解我們的模型參數(EM算法的M步)。
  3. 由于我們之前的隐藏資料是猜測的,是以此時得到的模型參數一般還不是我們想要的結果。不過沒關系,我們基于目前得到的模型參數,繼續猜測隐含資料(EM算法的E步),然後繼續極大化對數似然,求解我們的模型參數(EM算法的M步)。以此類推,不斷的疊代下去,直到模型分布參數基本無變化,算法收斂,找到合适的模型參數。

EM 算法流程

輸入: X,聯合分布 p ( x , z ; θ ) p(x,z;\theta) p(x,z;θ),條件分布 p ( z ∣ x , θ ) p(z|x,\theta) p(z∣x,θ),最大疊代次數 J

輸出: 模型參數 θ \theta θ。

  1. 随機初始化模型參數θ的初值 θ 0 \theta_0 θ0​
  2. $ θ i t = θ 0 \theta_{it}= \theta_0 θit​=θ0​
  3. for it from 1 to J:

    a) . E-step:計算計算聯合分布的條件機率期望:

    Q i ( z i ) = P ( z i ∣ x i , θ i t ) ) Qi(z_{i})=P(z_{i}|x_{i},θ_{it})) Qi(zi​)=P(zi​∣xi​,θit​))

    L ( θ , θ i t ) = ∑ i = 1 m ∑ z i Q i ( z i ) log ⁡ P ( x i , z i ; θ ) L(θ,θ_{it})=\sum_{i=1}^m\sum_{z_i}Q_i(z_i) \log P(x_i,z_i;\theta) L(θ,θit​)=i=1∑m​zi​∑​Qi​(zi​)logP(xi​,zi​;θ)

    b) . M-step:極大化 L ( θ , θ i t ) L(\theta,\theta_{it}) L(θ,θit​)得到 θ i t + 1 \theta_{it+1} θit+1​

    c) . 如果 θ i t + 1 \theta_{it+1} θit+1​已收斂,則算法結束。否則繼續回到步驟a)進行E步疊代。

如果我們從算法思想的角度來思考EM算法,我們可以發現我們的算法裡已知的是觀察資料,未知的是隐含資料和模型參數,

在E步,我們所做的事情是固定模型參數的值,優化隐含資料的分布;

而在M步,我們所做的事情是固定隐含資料分布,優化模型參數的值。

EM算法的推導

EM算法的推導

X:observed data

Z:unobserved data(latent variable)

Y=(X,Z):complete data

θ \theta θ:parameter

Jensen不等式表述如下:
  1. 如果

    f

    是凸函數,

    X

    是随機變量,那麼 E [ f ( X ) ] > = f ( E [ X ] E[f(X)]>=f(E[X] E[f(X)]>=f(E[X]。
  2. 如果

    f

    是凹函數,

    X

    是随機變量,那麼 E [ f ( X ) ] < = f ( E [ X ] E[f(X)]<=f(E[X] E[f(X)]<=f(E[X]。Note:log 是 凹函數
  3. 當且僅當

    X

    是常量時,上式取等号。其中, E [ X ] E[X] E[X]表示

    X

    的數學期望。

reference

【機器學習基礎】EM算法

如何通俗了解EM算法

EM算法詳解

EM算法原理總結

機率圖模型之EM算法

繼續閱讀