統計學習方法 李航---第9章 EM算法及其推廣


第9章 EM算法及其推廣

EM算法是一種迭代算法,用於含有隱 變量(hidden variable)的概率模型參數的極大似然估計,或極大后驗概率估計。 EM算法的每次迭代由兩步組成:E步,求期望(expectation);M步,求極大 ( maximization ),所以這一算法稱為期望極大算法(expectation maximization  algorithm),簡稱EM算法

9.1  EM算法的引入

 
一般地,用Y表示觀測隨機變量的數據,Z表示隱隨機變量的數據。Y和Z 連在一起稱為完全數據( complete-data ),觀測數據Y又稱為不完全數據 (incomplete-data)。假設給定觀測數據Y,其概率分布是P(Y | theta),其中 theta 是需要 估計的模型參數,那么不完全數據Y的似然函數是 P(Y | theta) ,對數似然函數 L(theta)=log P(Y | theta); 假設Y和Z的聯合概率分布是P(Y, Z }句,那么完全數據的對 數似然函數是log P(Y, Z  | theta )。
觀測數據的似然函數為

EM算法通過迭代求 L(theta)=log P(Y | theta) 的極大似然估計。每次迭代包含兩步 E步,求期望;M步,求極大化。
定義9.1 ( Q函數) 完全數據的對數似然函數 log P(Y, Z  | theta ) 關於在給定觀測 數據Y和當前參數 theta(i) 下對未觀測數據Z的條件概率分布P(Z | Y, theta (i) )的期望稱 為Q函數,即
EM算法說明:
    步驟(1)參數的初值可以任意選擇。但需注意EM算法對初值是敏感的。
    步驟(2)  E步求Q( theta theta (i) )。Q函數式中Z是未觀測數據,Y是觀測數據。注 意, Q( theta theta (i) ) 的第1個變量 theta 表示要極大化的參數,第2個變量 theta (i) 表示參數的當前估 計值。每次迭代實際在求Q函數及其極大。
    步 (3)  M步求 Q( theta theta (i) ) 的極大化,得到 theta (i+1) ,完成一次迭代 theta (i) -->theta (i+1)后面將證明每次迭代使似然函數增大或達到局部極值。
    步驟(4)給出停止迭代的條件,一般是對較小的正數,若滿足
則停止迭代.

EM算法的導出

 

通過近似求解觀測數據的對數似然函數的極大化問題來導出EM算 法,由此可以清楚地看出EM算法的作用。 面對一個含有隱變量的概率模型,目標是極大化觀測數據(不完全數據) Y關於參數 theta
的對數似然函數,即極大化
這一極大化的主要困難是式中有未觀測數據並有包含和(或積分) 的對數。
EM算法是通過迭代逐步近似極大化 L(theta) 的。
每次迭代需要滿足:新估計值   theta能使 L(theta)增加, 並逐步 達到極大值。i次迭代前后的差值為:

利用jensen不等式可以得出下界
   
為使 L(theta)極大,選擇 theta (i+1)使B極大,可得,
等價於EM算法的一次迭代,即求Q函數及其極大化。EM算法是通過 不斷求解下界的極大化逼近求解對數似然函數極大化的算法。
EM算法的直觀解釋: 圖中上方曲線為 L(theta) ,下方曲線為 B ( theta theta (i) ), 為對數似然函數 L(theta) 的下界,且在   theta= theta (i) 處相等。 EM算法找到下一個點 theta (i+1) 使 函數 B ( theta theta (i) ) 極大化,也使函數Q ( theta theta (i) ) 極大化。函 數B的增加,保證對數似然函數L在每次迭代中也是增加的。EM算法 在點 theta (i+1) 重新計算Q函數值,進行下一次迭代。在這個過程中,對數似然函數 L不斷增大。從圖可以推斷出EM算法不能保證找到全局最優值。

EM算法在非監督學習中的應用

訓練數據只有輸入沒有對應的輸出(X,?),從這樣的數 據學習模型稱為非監督學習問題。EM算法可以用於生成模型的非監督學習,生 成模型由聯合概率分布P(X, Y)表示,可以認為非監督學習訓練數據是聯合概率 分布產生的數據。X為觀測數據,Y為未觀測數據。

9.2  EM算法的收斂性

定理9.1 P(Y | theta) 為觀測數據的似然函數, theta (i)  (i=1, 2,... )為EM算法得到 的參數估計序列, P(Y |  theta (i)   ) (i=1, 2,... ) ) 為對應的似然函數序列, P(Y |  theta (i)   ) 是單 調遞增的,即

定理9.2 
 
P(Y | theta) 為觀測數據的似然函數, theta (i)  (i=1, 2,... )為EM算法得到 的參數估計序列, L( theta (i))= P(Y |  theta (i)   ) (i=1, 2,... ) ) 為對應的似然函數序列,
    (1)如果 P(Y | theta) 有上界,則 L( theta (i) ) 收斂到某一值L*;
    (2)在函數Q與L滿足一定條件下,由EM算法得到的參數估計序 theta (i) 的收斂值 theta* 是L( theta )的穩定點。
 
 
 
EM算 法的收斂性包含關於對數似然函數序列L的收斂性和關於參數估計序列 theta 的收斂性兩層意思,前者並不蘊涵后者。此外,定理只能保證參數估計序列收斂 到對數似然函數序列的穩定點,不能保證收斂到極大值點。所以在應用中,初值 的選擇變得非常重要,常用的辦法是選取幾個不同的初值進行迭代,然后對得到 的各個估計值加以比較,從中選擇最好的。

9.3  EM算法在高斯混合模型學習中的應用

定義9.2 (高斯混合模型) 高斯混合模型是指具有如下形式的概率分布模型:
稱為第k個分模型。

高斯混合模型參數估計的EM算法

假設觀測數據由高斯混合模型生成,
   
1. 明確隱變量。寫出完全數據的對數似然函數
可以設想觀測數據y j是這樣產生的:首先依概率a k選擇第 k個高斯分布分模型;然后依第k個分模型的概率分布生成觀側
數據 y j 時觀測數據 y j 是已知的;反映觀測數據 y j 來自第k 個分模型的數據是未知的,k=1,2,... ,K,為隱變量定義如下:

是0-1隨機變量。
那么完全數據是
完全數據的似然函數 為:
  
對數 然函數為:
2.  EM算法的E步:確定Q函數

其中。
是在當前模型參數下第j個觀測數據來自第k個分模型的概率,稱為分模型k 對觀測數據 y j 的響應度。
 
3. 確定EM算法的M步
迭代的M步是求函數Q對theta的極大值,即求新一輪迭代的模型參數
通過求偏導並令其為0和約束條件 可得,
 

9.4  EM算法的推廣

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

 F函數的極大-極大算法

定義9.3 (F函數) 假設隱變量數據Z的概率分布為 P ~(Z),定義分布  P ~  與 參數theta 的函數F(   P ~   ,theta 如下

成為F函數,其中H是分布   P ~ (Z) 的熵。
引理9.1 對於固定的 theta ,存在唯一的分布 P ~ (theta) 極大化F,這時 P ~ (theta) 由下式 給出:
並且 P ~ (theta) theta 連續變化.


 
定理9.3 設L(theta)=P(Y | theta)為觀測數據的對數似然函數,theta(i),i=1,2,... 為EM算法得到的參數估計序列,如果函數
F(P~ ,theta)在戶P~*theta*有局部極大值,那么L(theta)也在theta*有局部極大值。類似地,如果F在P~*theta*達到全局最大值,那么L也在theta*達到全局最大值。
定理9.4   EM算法的一次迭代可由F函數的極大-極大算法實現。
    設 theta (i) 為第i次迭代參數 theta 的估計, P ~(i) 為第i次迭代函數 P ~ 的估計。在第i+1 次迭代的兩步為
    (1) 對固定的 theta (i) ,求 P ~(i+1) 使F( P ~ , theta (i) ) 極大化
    (2) 對固定的 P ~(i+1) theta (i+1) 使F( P ~(i+1) , theta ) 極大化
通過以上兩步完成了EM算法的一次迭代。 由此可知, 由EM算法與F函數的極 大-極大算法得到的參數估計序列 是一 致的。

EM算法的推廣--GEM算法

   
在GEM算法1中,有時求Q( theta theta (i) )的極大化是很困難的。
GEM 算法2和GEM算法3並不是直接求 theta (i+1) 使Q達到極大的 theta ,而是找一個 theta (i+1) 使得Q( theta (i+1) , theta (i) ) > Q( theta (i) , theta (i) )
當參數 theta 的維數為d(d>=2)時,可采用一種特殊的GEM算法,它將EM 算法的M步分解為d次條件極大化,每次只改變參數向量的一個分量,其余分 量不改變。
GEM算法的特點是每次迭代增加F函數值(並不一定是極大化F 函數),從而增加似然函數值。
 






免責聲明!

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



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