<機器學習練習>EM算法

一:EM算法介紹

1)算法解釋
Expectation-maximization algorithm,期望最大化算法。用於含有不可觀察的隱形變量的,概率模型中,並利用參數最大似然估計。

2)計算思想:

因爲模型包含隱含的變量,可以看作參數A,同樣的對於要估計的其他參數可以看作B,知道B,可以給出求出A,同樣的知道A,可以給出最優的參數B。EM算法就是,先假設已知參數B,然後求出A,再用求出的A,去得到新最優B。有點類似於交替方向法。一直到收斂爲止。這就涉及到算法收斂性問題。

3)最大似然估計介紹

舉例:假設我們需要調查我們學校的男生和女生的身高分佈。你在校園裏隨便地活捉了100個男生和100個女生。男左女右,首先統計抽樣得到的100個男生的身高。假設他們的身高是服從高斯分佈的。但是這個分佈的均值和方差,我們不知道,這兩個參數就是我們要估計的。

所有的男生身高服從高斯分佈p(xi|θ)=N(μ,σ) ,且相互獨立,現在我們有{x1,x2,x3,…xn}這麼多樣本,則這麼多樣本的聯合概率密度函數,即其似然函數爲
L(θ)=L(x1,x2xn|θ)=ni=1p(xi|θ)
因爲這些樣本被選中,出現了,那麼我們就應該找到最好的參數θ ,使得似然函數儘可能的大,也就是儘可能的這100個樣本都能選中。那麼怎麼求最好的參數呢,一般的處理方法是對似然函數取對數,然後求導,令其等於0即可。

所以最大似然函數估計,其思想是:已知某個參數能使這些樣本出現的概率最大,我們就沒必要去選別的參數,直接把這個參數作爲估計的真實值。

4)EM思想介紹:
上例是:我們已知了,這堆樣本是屬於男生身高的,那堆樣本屬於女生身高的,所以直接可以利用最大似然估計進行參數的求解。
如果,這兩堆樣本混到一起,不能分清哪些樣本屬於男生,哪些樣本屬於女生,那麼應該怎麼來估計參數呢?

E步:首先分別假定,男生,女生的正態分佈參數:均值和方差。然後把這200個樣本,進行分類,對於每個樣本當然是分別帶入男女概率密度函數裏面,求得概率,概率大的屬於那一類。
M步:當這些樣本經過E步,已經分了兩類,一類屬於男生,一類屬於女生,然後按照最大似然估計,分別求出男生,女生的正態分佈參數:均值和方差。當沒達到收斂條件時,把參數:均值和方差,帶入E步,對樣本進行分類。然後再進行M步。直到收斂。

二:EM算法理論

按照上述的理解:對於樣本{x1,x2,…xn}。目的是求參數,使得其聯合概率密度函數或者說似然函數最大化。其最大似然函數如下:
這裏寫圖片描述

不能直接求導進行計算有兩方面:
1:即使取對數後進行求導,依然很難得到解析解。因爲式子太過複雜
2:包含隱含的參量,使問題變的複雜。
接下來處理的方法是引用一個新的概率變量:隱含變量z的分佈Qi。對於上例可知,隱含的分佈是二項分佈伯努力分佈。
接着對上述問題進行計算:
這裏寫圖片描述
其中最後一項不等式有 Jensen不等式給出。
可以看到,目的是對最大似然取最大,現在只有當其下界不斷的增大,不斷的進行逼近最大似然值。下界怎麼能不斷的增大呢,這其實就涉及到EM算法的E步了,不斷的調整隱含變量的分佈概率值和樣本的分佈概率值,從而達到逼近下界。

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