《統計學習方法》第9章 EM/GMM/F-MM/GEM
前言
EM(期望最大)演算法有很多的應用,最廣泛的就是混合高斯模型、聚類、HMM等等,本質上就是一種優化演算法,不斷迭代,獲得優值,與梯度下降、牛頓法、共軛梯度法都起到同一類的作用。
本文是對李航《統計學習方法》的第9章複習總結,主要內容如下
-
EM(期望最大)演算法證明有跳躍性的地方全部事無鉅細地寫出來,
-
清晰地梳理網上很多人覺得沒看明白的三硬幣例子,將會把這個例子跟公式一一對應起來
-
GMM(高斯混合模型)迭代公式證明
-
F函式的極大-極大演算法(Maximization-Maximization-algorithm)和GEM 詳細證明
當然大家也可以參考Standford
本文原文將書上所有證明給出,由於CSDN的公式編輯器公式支援不全,有些公式沒法正常顯示,歡迎點選此處檢視原文, 個人技術部落格:SnailDove
正文
9.1 EM演算法的引入
概率模型有時既含有觀測變數(observable variable) , 又含有隱變數(hidden variable)或潛在變數(latent variable) 。
如果概率模型的變數都是觀測變數, 那麼給定資料, 可以直接用極大似然估計法或貝葉斯估計法估計模型引數。 但是, 當模型含有隱變數時, 就不能簡單地使用這些估計方法。 EM演算法就是含有隱變數的概率模型引數的極大似然估計法, 或極大後驗概率估計法
9.1.1 EM演算法
這裡, 隨機變數 是觀測變數, 表示一次試驗觀測的結果是1或0; 隨機變數 是隱變數, 表示未觀測到的擲硬幣 的結果; 是模型引數。 這一模型是以上資料的生成模型。 注意, 隨機變數 的資料可以觀測, 隨機變數 的資料不可觀測。
KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
P(y|\theta) &=…
將觀測資料表示為 , 未觀測資料表示為 , 則觀測資料的似然函式為
即:
考慮求模型引數 $\theta =(\pi, p, q) $ 的極大似然估計,即:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \hat{\theta}=\…
這個問題沒有解析解,因為隱變數資料無法獲得,只有通過迭代的方法求解。 EM演算法就是可以用於求解這個問題的一種迭代演算法。
一般地, 用 表示觀測隨機變數的資料, 表示隱隨機變數的資料。 和 連在一起稱為**完全資料(complete-data) , 觀測資料 又稱為不完全資料(incomplete-data) **。 假設給定觀測資料 , 其概率分佈是 , 其中是需要估計的模型引數, 那麼不完全資料 的似然函式是 , 對數似然函式 ; 假設 和 的聯合概率分佈是 , 那麼完全資料的對數似然函式是 。
9.1.2 EM演算法的匯出
注:最後一步源自於 所有可能取值的概率和為1
KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
\theta^{(i+1)}…
加號右邊,利用對數函式的性質得到:
KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
&\sum\limits_{…
代入上式可得:
KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
\theta^{(i+1)}…
由於在迭代求第 步時, 是已知的,那麼由訓練資料中可以求得 ,所以在 值確定的情況下, 的值也是確定的而不是變數,那麼對上式極大化等價求解對下面式子的極大化
KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
\theta^{(i+1)}…
Q函式
EM演算法
EM演算法解釋
9.1.3 EM演算法在非監督學習中的應用
9.2 EM演算法的收斂性
這一部分原書講的比較詳細,不畫蛇添足,貼上來。
三硬幣例子解析
前文講到拋硬幣的例子,現在重新詳細推導一下三硬幣這個例子。
是訓練集中的資料編號,實際上書上這裡求得是
KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
P(Z|y_j,\theta…
前文已知Q函式:
第一步求期望
即求Q函式
KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
Q(\theta, \the…
第二步極大化Q函式
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲
\theta^{(i+1)}… 用微積分求解最大值,先求導數為0點(為了求導方便另對數的底數為e,即認為此處對數函式為自然對數):