機器學習-EM演算法(Expectation maximization algorithm)(一)推導

Roger Yong
Apr 20, 2021

--

在統計計算中,最大期望(EM)算法是在機率模型中尋找參數最大概似估計的算法,其中機率模型依賴於無法觀測的隱變量。最大期望算法經常用在機器學習和計算機視覺的數據聚類(Data Clustering)領域(具有隱變量的混和模型)。最大期望算法經過兩個步驟交替進行計算,第一步是計算期望(E),利用對隱藏變量的現有估計值,計算其最大似然估計值;第二步是最大化(M),最大化在E步上求得的最大似然值來計算參數的值。M步上找到的參數估計值被用於下一個E步計算中,這個過程不斷交替進行。

一開始我們先假設有N組樣本,且每組樣本間彼此獨立, 而這組資料的概似我們可以寫成

其中θ為機率密度函數的參數

接著,我們也必須假設每個樣本之間都含有隱變量z,因此我們要找到隱變量z來使最大概似函數最大化

推導

將等號兩邊同時對q(Z)求期望(q(Z)為隱變量z的機率分佈)

其中可以看到

那為什麼減號左邊為ELBO呢,是因為KL Divergence是大於等於0的,當KL Divergence等於0(也就是q(Z)P(Z|X,θ)沒有差異)時,減號左邊那塊就會變成lnP(X|θ)的下界值,所以我們把它稱作ELBO。

而我們可以透過最大化下界值(ELBO)進而最大化我們的log likelihood

其中

這樣子我們的公式就出來了

最後我們的EM演算法就是不段的重複E-step(求期望)和M-step(求最大)

E-step:

M-step:

--

--