EM算法--期望最大化算法


 

em算法

em算法指的是最大期望算法(Expectation Maximization Algorithm,又譯期望最大化算法),是一種 迭代算法,用於含有隱變量(latent variable)的概率參數模型的 最大似然估計或極大后驗概率估計最大期望經常用在機器學習和計算機視覺的數據聚類(Data Clustering)領域
 

 EM 算法是 Dempster,Laind,Rubin 於 1977 年提出的求參數極大似然估計的一種方法,它可以從非完整數據集中對參數進行 MLE 估計,是一種非常簡單實用的學習算法。這種方法可以廣泛地應用於處理缺損數據,截尾數據,帶有噪聲等所謂的不完全數據(incomplete data)。

例子一:

可以有一些比較形象的比喻說法把這個算法講清楚。比如說食堂的大師傅炒了一份菜,要等分成兩份給兩個人吃,顯然沒有必要拿來天平一點一點的精確的去稱分量,最簡單的辦法是先隨意的把菜分到兩個碗中,然后觀察是否一樣多,把比較多的那一份取出一點放到另一個碗中,這個過程一直迭代地執行下去,直到大家看不出兩個碗所容納的菜有什么分量上的不同為止。EM算法就是這樣,假設我們估計知道A和B兩個參數,在開始狀態下二者都是未知的,並且知道了A的信息就可以得到B的信息,反過來知道了B也就得到了A。可以考慮首先賦予A某種初值,以此得到B的估計值,然后從B的當前值出發,重新估計A的取值,這個過程一直持續到收斂為止。

 #==

假定集合Z = (X,Y)由觀測數據 X 和未觀測數據Y 組成

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算法的推導過程

https://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

http://blog.csdn.net/zouxy09/article/details/8537620

http://blog.csdn.net/pipisorry/article/details/42550815

 

https://math.stackexchange.com/questions/25111/how-does-expectation-maximization-work

 

 

A的正面的概率是0.6,10次的概率是0.6^5+0.6^4=0.088

B:0.5^5*2= 0.0625

B預設的概率:

1 -  (A/A+B) = 1- (0.088/(0.088+0.0625))=0.4152824

 

 

 

 

 

 

 


免責聲明!

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



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