1. 程式人生 > >03 EM演算法 - EM演算法流程和直觀案例

03 EM演算法 - EM演算法流程和直觀案例

02 EM演算法 - K-means演算法回顧、EM概述

利用EM演算法處理聚類問題的步驟:

樣本資料x={x1,x2,...,xm},聯合分佈p(x,z;θ),條件分佈p(z|x;θ),最大迭代次數J 。

1、 隨機初始化模型引數θ的初始值θ0
2、開始EM演算法的迭代處理:

__E步:__計算聯合分佈的條件概率

E步

__M步:__極大化L函式,得到θj+1

M步

如果θj+1已經收斂,則演算法結束,輸出最終的模型引數θ,否則繼續迭代處理。


七、EM演算法直觀案例

假設現有兩個裝有不定數量黑球、白球的盒子,隨機從盒子中抽取出一個白球的概率分佈為p1和p2;為了估計這兩個概率,每次選擇一個盒子,有放回的連續隨機抽取5個球,記錄如下:

使用MLE最大似然估計:

如果現在不知道具體的盒子編號,但是同樣還是為了求解p1和p2的值,這個時候就相當於多了一個隱藏變數z, z表示的是每次抽取的時候選擇的盒子編號,比如z1就表示第一次抽取的時候選擇的是盒子1還是盒子2。

隨機初始一個概率值:p1=0.1和p2=0.9;然後使用最大似然估計計算每輪操作中從兩個盒子中抽取的最大概率。然後計算出來的z值,重新使用極大似然估計法則估計概率值。

使用最大似然概率法則估計z和p的值,但是在這個過程中,只使用一個最有可能的值。如果考慮所有的z值,然後對每一組z值都估計一個概率p,那麼這個時候估計出來的概率可能會更好,可以用期望的方式來簡化這個操作。

以p1估計為例,計算如下:

計算出p1和p2的概率值後,再次計算從每個盒子中抽取的概率如下:

再次計算概率值如下:

04 EM演算法 - EM演算法收斂證明