2. EM算法-原理詳解


1. EM算法-數學基礎

2. EM算法-原理詳解

3. EM算法-高斯混合模型GMM

4. EM算法-高斯混合模型GMM詳細代碼實現

5. EM算法-高斯混合模型GMM+Lasso

1. 前言

概率模型有時既含有觀測變量(observable variable),又含有隱變量或潛在變量(latent variable),如果僅有觀測變量,那么給定數據就能用極大似然估計或貝葉斯估計來估計model參數;但是當模型含有隱變量時,需要一種含有隱變量的概率模型參數估計的極大似然方法估計——EM算法

2. EM算法原理

EM算法稱為期望極大值算法(expectation maximizition algorithm,EM),是一種啟發式的迭代算法。

EM算法的思路是使用啟發式的迭代方法,既然我們無法直接求出模型分布參數,那么我們可以先猜想隱含數據(EM算法的E步),接着基於觀察數據和猜測的隱含數據一起來極大化對數似然,求解我們的模型參數(EM算法的M步)。

可以通過K-Means算法來簡單理解EM算法的過程。

E步:

在初始化K個中心點后,我們對所有的樣本歸到K個類別。

M步:

在所有的樣本歸類后,重新求K個類別的中心點,相當於更新了均值。

3. EM算法公式

對於\(m\)個樣本觀察數據\(x=(x^{(1)},x^{(2)},...x^{(m)})\)中,找出樣本的模型參數\(\theta\),極大化模型分布的對數似然函數如下,假設數據中有隱含變量\(z=(z^{(1)},z^{(2)},...z^{(m)})\)

\[L(\theta) = \sum\limits_{i=1}^m logP(x^{(i)}|\theta) \]

加入隱含變量公式變為如下,注意到下式中\(Q_i(z(i))\)是一個分布,因此\(\sum Q_i(z(i))logP(x(i),z(i)|θ)\)可以理解為\(logP(x(i),z(i)|θ)\)基於條件概率分布\(Q_i(z(i))\)的期望。

\[Q_i(z^{(i)}) = P( z^{(i)}|x^{(i)},\theta) \]

\[L(\theta) = \sum\limits_{i=1}^m log\sum\limits_{z^{(i)}}Q_i(z^{(i)})P(x^{(i)},z^{(i)}|\theta)\;\;\;s.t.\sum\limits_{z}Q_i(z^{(i)}) =1\;\;\;\;\;(1) \]

根據Jensen不等式,(1)式變為(2)

\[E [f \left ( g(X) \right ) ] \ge f \left (E[g(X)] \right ) \]

\[L(\theta) = \sum\limits_{i=1}^m log\sum\limits_{z^{(i)}}Q_i(z^{(i)})P(x^{(i)},z^{(i)}|\theta)\ge\sum\limits_{i=1}^m \sum\limits_{z^{(i)}}Q_i(z^{(i)})logP(x^{(i)},z^{(i)}|\theta)\;\;\;s.t.\sum\limits_{z}Q_i(z^{(i)}) =1\;\;\;\;\;(2) \]

4. EM算法流程

輸入:觀察數據\(x=(x^{(1)},x^{(2)},...x^{(m)})\),聯合分布\(p(x,z|\theta)\), 條件分布\(p(z|x,\theta)\), EM算法退出的閾值\(\gamma\)

  1. 隨機初始化模型參數\(\theta\)的初值\(\theta^0\)
  2. E步:計算聯合分布的條件概率期望

\[Q_i(z^{(i)}) = P( z^{(i)}|x^{(i)},\theta^{j}) \]

\[L(\theta, \theta^{j}) = \sum\limits_{i=1}^m\sum\limits_{z^{(i)}}Q_i(z^{(i)})log{P(x^{(i)},z^{(i)}|\theta)} \]

  1. M步:極大化\(L(\theta,\theta^j)\),得到\(θ^{j+1}\):

\[\theta^{j+1} = arg \max \limits_{\theta}L(\theta, \theta^{j}) \]

  1. 重復2,3兩步,直到極大似然估計\(L(\theta,\theta^j)\)的變化小於\(\gamma\)

5. 總結

如果我們從算法思想的角度來思考EM算法,我們可以發現我們的算法里已知的是觀察數據,未知的是隱含數據和模型參數,在E步,我們所做的事情是固定模型參數的值,優化隱含數據的分布,而在M步,我們所做的事情是固定隱含數據分布,優化模型參數的值。

本節介紹的EM算法是通用的EM算法框架,其實EM算法有很多實現方式,其中比較流行的一種實現方式是高斯混合模型(Gaussian Mixed Model)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM