EM實例

        文章中有個例子,能讓人快速瞭解EM算法的使用方法,下圖是例子的示意圖,圖b是EM算法的實例,圖a是讓我們預熱的。

         這是一個拋硬幣的例子,H表示正面向上,T表示反面向上,參數θ表示正面朝上的概率。硬幣有兩個,A和B,硬幣是有偏的。本次實驗總共做了5組,每組隨機選一個硬幣,連續拋10次。如果知道每次拋的是哪個硬幣,那麼計算參數θ就非常簡單了,如上圖所示。

         如果不知道每次拋的是哪個硬幣呢?那麼,我們就需要用EM算法,基本步驟爲:1、給θA和θB一個初始值;2、(E-step)估計每組實驗是硬幣A的概率(本組實驗是硬幣B的概率=1-本組實驗是硬幣A的概率)。分別計算每組實驗中,選擇A硬幣且正面朝上次數的期望值,選擇B硬幣且正面朝上次數的期望值;3、(M-step)利用第三步求得的期望值重新計算θA和θB;4、當迭代到一定次數,或者算法收斂到一定精度,結束算法,否則,回到第2步。

 

        稍微解釋一下上圖的計算過程。初始值θA=0.6,θB=0.5。

        圖中的0.45是怎麼得來的呢?由兩個硬幣的初始值0.6和0.5,容易得出投擲出5正5反的概率是pA=C(10,5)*(0.6^5)*(0.4^5),pB=C(10,5)*(0.5^5)*(0.5^5),  pA/(pA+pB)=0.449,  0.45就是0.449近似而來的,表示第一組實驗選擇的硬幣是A的概率爲0.45。圖中的2.2H,2.2T是怎麼得來的呢?  0.449 * 5H = 2.2H ,0.449 * 5T = 2.2T ,表示第一組實驗選擇A硬幣且正面朝上次數的期望值是2.2。其他的值依次類推。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章