含隱變量模型求解——EM算法



期望極大值算法(expectation maximizition algorithm,EM)。是一種迭代算法,1977年由Dempster總結提出,用於含有隱變量(hidden variable)的概率模型參數的極大似然估計或極大后驗估計。EM算法分為兩步,E步:求期望,M步:求極大值

1 EM算法的引入

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

1.1 EM算法

這里有一個三硬幣模型,三個硬幣A,B,C。正面出現的概率是π,p,q;只有當A硬幣擲出后得到正面才會擲硬幣B,否則C,但是獨立n次后,只能觀察到最后的結果,卻看不到執行過程中A是什么情況,最后的結果是B還是C的。因此,

各個參數含義

觀測數據的極大似然估計是:

這個問題沒有解析解,只能使用EM方法迭代求解。

E步B的概率是一個條件概率,y取值為1,0.
M步:模型參數估計值

EM算法受初值影響較大。
一般地,Y表示觀測數據,Z表示隱變量,Y+Z表示完全數據(complete data),Y叫做不完全數據(incomplete data)。假設給定觀測數據Y其概率分布為,不完全數據Y的似然函數為,對數似然函數為,假設Y,Z聯合概率分布為,對數似然函數,EM算法就是通過迭代求L的極大似然估計。
EM算法:


Q函數:EM算法的核心,是完全觀測數據對數似然函數關於給定觀測數據Y和當前參數θi對未觀測數據Z的條件概率分布的期望:
步驟1:參數的 初值可以任意選擇,但是EM算法對參數初值十分敏感;
步驟2:求Q(θ,θi)第一個變元表示極大化的參數,第二個變元表示參數的當前估計值。每次迭代實際上再求Q函數及其極大。
步驟3:M步求Q的極大化,得到θi+1,完成一次迭代。
步驟4:給出停止條件,對較小的整數,滿足入校條件則停止迭代。

1.2 EM算法的導出

通過近似求解觀測數據的對數似然函數的極大化問題來推導出EM算法的正確性。
問題是含有隱變量的概率模型,目標是極大化觀測數據(不完全數據)Y關於θ的對數似然函數,即極大化,
困難點在於未觀測數據和積分(求和)。
其實,EM算法是通過迭代逐步近似極大化L(θ)的。每次都希望最新的估計上跟上次的估計值大,來逐步達到極大值。

利用Jensen不等式得到下界:



,得到L的一個下界B函數,且可以發現,
任何可以讓B增大的θ也可以使得L增大,因此,具體表達式化簡(省略與θ無關的項):

因此EM算法是通過不斷求解下界的極大化來求解對數似然函數極大化的算法


EM算法因為能夠求解包含隱變量的概率模型,因此可用於生成模型的非監督學習,認為聯合概率密度為P(X,Y),X為觀測數據,Y為未觀測數據。


2 EM算法的收斂性

EM算法能否收斂,是否能收斂到全局最優?
兩個定理:



注意:定理只能保證參數估計序列收斂到對數似然函數序列的穩定點,不能保證收斂到極大值點,所以初值選擇十分重要。通常的做法是選取幾個不同的初值進行迭代,然后對得到的各個估計值加以比較,從中選擇最好的。

3 EM算法在高斯混合模型的應用

3.1 高斯混合模型Gaussian misture model

GMM的形式
,其中
即,稱為第k個分模型。

3.2 GMM中參數估計的EM算法

假設觀測數據y1,y2,y3,…,yN由GMM生成
其中,
用EM算法估計參數θ。

  1. 明確隱變量,寫出完全數據的對數似然函數
    觀測數據的產生:依照概率αk選擇第k個高斯分布模型;然后依照第k個分模型概率分布生成觀測數據yj。這是觀測數據是已知的,而反映觀測數據yj的第k個分模型的數據是未知的,以隱變量γjk表示,定義如下:
    j=1,2,…,N;k=1,2,…,K,γ是0-1隨機變量
    那么完全數據是:
    完全數據似然函數是
    其中,k的連乘不是很理解

對數化:

  1. EM算法的E步:確定Q函數
  2. 確定M步

    求偏導為0推出:

    算法:

4 EM推廣

EM算法可以解釋為F函數(F function)的極大—極大算法(maximization maximization algorithm),基於這個解釋有若干變形,如,廣義期望極大(generalized expectation maximization,GEM)算法。

4.1 F函數的極大—極大算法

F函數定義:

引理1:

引理2:

。。。未完待續。。。
推薦鏈接:http://blog.csdn.net/qq_20602929/article/details/51424292

總結:

EM算法是一種求解含有隱變量的概率模型參數的算法,這里主要根據《統計學習方法》介紹了EM算法及其推廣和應用,主要的是理解,EM算法的E,M步,以及Q函數的構造方法,這是本質的東西。


免責聲明!

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



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