CS229與《統計學習方法》的EM演算法理解和比較,收斂性證明
關於吳恩達老師的cs229講義和視訊與《統計學習方法》這本書上的EM演算法,作為初學者,強烈建議只看前者,恐怕是我比較菜只看後者的話會有很多地方不明白,比如為什麼似然函式不是
而是
呢?導致後面的收斂性證明也有這樣的疑問,為什麼後面EM應用高斯那部分的E步的Q函式成了那樣?想破了腦子也想不清楚。如果看cs229的話,很容易理解,但是推導我更喜歡後者的推導,關於推導我補充了我認為缺少的那部分,參考
說明:下面的 是一樣的,只是寫法不同,都只是表示模型引數是 而已。
1、EM演算法比較
1.1、《統計學習方法》之EM演算法流程
輸入:觀測資料
,聯合分佈
,條件分佈
輸出:模型引數
(1)、選擇引數的初始值
開始進行迭代;
(2)、E(Expection)步:記第n次迭代引數為
,那麼計算
次的E步
(3)、M(Maximization)步:求使得 最大化的 ,即確定第 次的模型引數
(4)、重複(2),(3)直到收斂。
注意:上面這個EM演算法是本人對原有的EM演算法的 函式進行了修改的,加了最外層的 ,同時這個Q函式就跟cs229講義上的Q函式一樣了。 E步是寫出 函式,在後面的高斯混合模型中可以看到,使用該EM演算法是先求出Q函式,也就是先求出聯合分佈 ,接著寫出似然函式最後求期望得到Q函式,在M步求使得函式極大化的 值作為下一次E步的 值使用,如此迴圈下去直到收斂。
補充:書上的似然函式是下面這樣的
1.2、CS229之EM演算法流程
注意:這裡的 和上面的 都是隻觀察資料(顯變數), 表示隱變數。在E步驟是初始給定了 作為初始引數值的,在上面沒寫出來。可以發現這個 跟前面的EM演算法的 是一樣的,在M步也是求極大化。但是該演算法在E不是對於每個i求後驗概率,然後在M步直接帶入所求得的後驗概率來求極大化時的引數 。
補充:由於在M步中已經知道了 ,也就是說 是常量,那麼在求極大化時候我們求導會略掉,所以M步的公式可以寫成