最大期望算法: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算法
- 初始化參數
,其中
可以隨機選擇兩個
取樣本的方差:
。混合比例
取0.5。 -
期望步:計算響應度:

表征數據
屬於
的概率。
3. 極大化步:計算加權均值和方差:

和混合概率
,表示數據屬於
的概率總和。
4. 重復步驟2,3直到收斂。
2.2 多分量混合高斯的EM算法
| 多分量高斯的EM算法 |
其中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步的計算很費時)

,協方差矩陣
和混合比例



