em算法的總結

首先來幾個博客:

1、https://www.jianshu.com/p/c57ef1508fa7

2、http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

3、https://blog.csdn.net/lvhao92/article/details/50805021

4、https://blog.csdn.net/zouxy09/article/details/8537620

複述:

1、EM算法第一印象:

a、它是種特別的極大似然估計。

b、它的特殊性在於含有隱變量。

回想下似然函數=>邏輯迴歸=>李航的書79頁=>P(Y=1|x)=π(x),P(Y=0|x)=1-π(x)=>P就是參數,y就是觀測到的變量=>已經觀測到了一系列的y值,最大似然就是求參數P,使得組成當前這一系列y的概率最大。

可以看到,y是可觀測的序列,然鵝現實世界是複雜的,在你看到的表象的背後,還有陰暗的東西,冥冥之中操縱着y,但是我們看不到那個隱藏的東西,EM算法就是將隱變量及其對應的參數都最大似然出來。

如果還是不理解到底隱藏變量是啥,那麼舉個栗子(依然拋硬幣)吧:

現在有兩個硬幣A和B,要估計的參數是它們各自翻正面(head)的概率。爲什麼是硬幣A和B兩個硬幣呢?說明A和B應該是不同的,因爲我們還有個隱藏的變量C,我們要以C的取值來決定拋A還是B,但是我們列不出來C的序列(它是隱藏的,觀測不到)。我們只有一系列硬幣正面和反面的數據,比如硬幣被拋了10次,我們記錄下來的只有H T T T H H T H T H,這麼一個序列,至於序列裏面哪些是A得到的T和H,哪些是B得到的T和H,我們不知道。但是我們可以用EM來估計出A出現的概率、B出現的概率,它們倆的出現的概率就是變量C對應的參數,我們還可以用EM來估計出A是正反面的概率也就是變量A的參數,B是正反面的概率也就是B的參數。

下面這個例子是真的好:

現在有兩個硬幣A和B,要估計的參數是它們各自翻正面(head)的概率。觀察的過程是先隨機選A或者B,然後扔10次。以上步驟重複5次。

下圖是別人給的解釋:

由圖我們知道:

對於因變量C,我們不知道它的取值序列,但是我們應該得知道它的取值範圍,或者可取哪些值,在該例子中,也就是我們得知道隱變量C的值有A和B兩種。

對上面第二個圖的解釋:

按照EM算法的思想:

a、我們先假定(或者說給初始值)A正面朝上的概率爲0.6,B正面朝上的概率爲0.5,但是我們不給隱變量C爲A和爲B的概率(可能因爲它是隱變量,對它比較歧視吧)。

b、我們有了觀測序列,也就是

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