1. 程式人生 > >EM演算法及其理解

EM演算法及其理解

1. EM演算法是求解含有隱變數的極大似然估計引數的迭代演算法。

2. 極大似然估計可以用梯度下降法求解,但是如果概率分佈中含有隱變數的時候,先求和再求log,再求導很難。

3. 對於每一輪的迭代,先找到當前函式的一個下界函式,如果我們找到讓下界函式達到最大的引數,那麼這個引數也一定能讓原函式增大;選取的這個下界函式有著很好的性質:先求log在求和,這樣就比較好求導。

4. 理解這裡的隱變數:

混合高斯分佈:對於每個樣本而言,隱變數指的是樣本來自於哪一個高斯分佈;

拋硬幣:假設有3枚硬幣,分別記做A,B,C。這些硬幣正面出現的概率分別是π,p和q。進行如下擲硬幣實驗:先擲硬幣A,根據其結果選出硬幣B或C,正面選B,反面選硬幣C;然後投擲選重中的硬幣,出現正面記作1,反面記作0;獨立地重複n次;觀測變數Y,至於結果來自於B還是C無從得知,我們設隱變數Z來表示來自於哪個變數;

5. 推導:http://lanbing510.info/2015/11/12/Master-EM-Algorithm.html

推導過程