EM算法[轉]


最大期望算法:EM算法。

在統計計算中,最大期望算法(EM)是在概率模型中尋找參數最大似然估計或者最大后驗估計的算法,其中概率模型依賴於無法觀測的隱藏變量。

最大期望算法經過兩個步驟交替進行計算:

第一步是計算期望(E),利用對隱藏變量的現有估計,計算其最大似然估計值;

第二步是最大化(M),最大化在E步上求得的最大似然值來計算參數的值。

M步上找到的參數估計值被用於下一個E步計算中,這個過程不斷交替進行。

總體來說,EM算法流程如下:

1、初始化分布參數

2、重復直到收斂:

         E步:估未知參數的期望值,給出當前的參數估計。

         M步:重新估計參數分布,以使得數據的似然性最大,給出未知變量的期望估計。
EM算法就是這樣,假設我們估計知道A和B兩個參數,在開始狀態下二者都是未知的,並且知道了A的信息就可以得到B的信息,反過來知道了B也就得到了A。可以考慮首先賦予A某種初值,以此得到B的估計值,然后從B的當前值出發,重新估計A的取值,這個過程一直持續到收斂為止。

EM算法是一種求參數極大似然估計的方法,它可以從非完整數據集中對參數進行MLE估計,是一種非常簡單實用的學習算法。

假定集合Z=(X,Y)由觀測數據X和為觀測數據Y組成,X和Z=(X,Y)分別稱為不完整數據和完整數據。假定Z的聯合概率密度被參數化地定義為P(X,Y|Θ),其中Θ表示要被估計的參數。Θ的最大似然估計是求不完整數據的對數似然函數L(X,Θ)的最大值而得到的:

L(Θ;X)=log p(X|Θ)=∫ log p(X,Y|Θ)dY;

EM算法包括兩個步驟:由E步和M步組成,它是通過迭代地最大化完整數據的對數似然函數Lc(X;Θ)的期望來最大化不完整數據的對數似然函數,其中:Lc(X;Θ)=log p(X,Y|Θ)

假設在算法第t次迭代后Θ獲得的估計記為Θ(t),則在(t+1)次迭代時,

     E步:計算完整數據的對數似然函數的期望,記為Q(Θ|Θ(t))=E{Lc(Θ;Z)|X;Θ(t) };

     M步:通過最大化Q(Θ |Θ(t) ) 來獲得新的Θ 。

通過交替使用這兩個步驟,EM算法逐步改進模型的參數,使參數和訓練樣本的似然概率逐漸增大,最后終止於一個極大點。直觀地理解EM算法,它也可被看作為一個逐次逼近算法:

實現並不知道模型的參數,可以隨機的選擇一套參數或者事先粗略地給定某個初始參數λ0 ,確定出對應於這組參數的最可能的狀態,計算每個訓練樣本的可能結果的概率,在當前的狀態下再由樣本對參數修正,重新估計參數λ,並在新的參數下重新確定模型的狀態,這樣,通過多次的迭代,循環直至某個收斂條件滿足為止,就可以使得模型的參數逐漸逼近真實參數。

EM算法的主要目的是提供一個簡單的迭代算法計算后驗密度函數,它的最大優點是簡單和穩定,但容易陷入局部最優

EM算法(expectation-maximization algorithm)

1、簡介

EM算法的核心思想是:根據已有的數據,借助隱藏變量,通過期望值之間的迭代,估計似然函數。

2、混合高斯模型與EM算法

    2.1、二分量混合高斯的EM算法

    假設有數據Y,現在用兩個高斯分布來對密度建模,參數為。則Y的密度為:

                 (1)

參數為:                               (2)

基於N個訓練數據的對數似然是:

               (3)     

由於需要求對數似然函數項的和,直接極大化似然函數很難。我們引入取值為0或1的潛變量,如果取自模型2,否則取自模型1。則對數似然函數可以寫為:

(4)

那么的極大似然估計將是的那些數據的樣本的均值和方差,的極大似然估計將是的那些數據的樣本的均值和方差。

由於諸的值是實際上是未知的,所以用迭代的方式處理,用下式的期望代替(4)式中的每個,即:(5)

(5)式也稱為模型2關於觀測i的響應度。

二分量高斯的EM算法

  1. 初始化參數,其中可以隨機選擇兩個取樣本的方差:。混合比例0.5
  2. 期望步:計算響應度:

表征數據屬於的概率。

3. 極大化步:計算加權均值和方差:

和混合概率,表示數據屬於的概率總和。

4. 重復步驟2,3直到收斂。

2.2 多分量混合高斯的EM算法

多分量高斯的EM算法

  1. 初始化參數:均值,協方差矩陣和混合比例
  2. 期望步:計算響應度:

其中k = 1,2…N.

3. 極大化步:計算加權均值和協方差:

 

其中:

4. 計算log似然:

檢查參數和log似然是否已經收斂,如果沒有收斂,重復步驟2.

 3、通用EM算法

假設一個完整的樣本集D,其中的樣本是,都服從某個特定的分布,假定其中的一部分數據丟失了。完整的數據和丟失的數據分布標書為:,並且。定義函數:   (6)

(6)式的左邊是一個關於θ的函數,而θi假設已經取固定值;右邊表示關於丟失的特征求對數似然函數的期望,其中假設θi是描述整個分布的參數。則通用EM算法可寫為:

4. EM算法總結

(1)EM會收斂到局部極值,但不保證收斂到全局最優

(2)對初值很敏感:通常需要一個好的、快速的初始化過程

如矩方法得到的結果

在GMM中,用K-means聚類

(3)適合的情況

缺失數據不太多時

數據維數不太高時(數據維數太高的話,E步的計算很費時)

 

 

 

 

 

 

 


免責聲明!

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



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