1. 程式人生 > >EM演算法推導及其收斂性證明

EM演算法推導及其收斂性證明

EM演算法簡介

EM演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率估計。EM演算法的每次迭代分為兩步:E步,求期望;M步,求極大。

概率模型有時既含有觀測變數,又含有隱變數或潛在變數,如果概率模型的變數都是觀測變數,那麼給定資料,可以直接用極大似然估計或貝葉斯法估計模型引數。但是當模型含有隱變數時,就不能簡單地使用這種估計方法。EM演算法就是含有隱變數的概率模型引數的極大似然估計法。

EM演算法

觀測資料表示為 Y =

( Y 1 , Y 2 Y n
) T Y=(Y_1, Y_2\dots Y_n)^T ,未觀測資料表示為 Z = ( Z
1 , Z 2 Z n ) T Z=(Z_1, Z_2\dots Z_n)^T
,則觀測資料的似然函式為
(1) P ( Y θ ) = Z P ( Z θ ) P ( Y Z , θ ) P(Y|\theta) = \sum_ZP(Z|\theta)P(Y|Z,\theta)\tag{1}
考慮求模型引數 θ \theta 的對數極大似然估計,即
(2) θ ^ = a r g max θ log P ( Y θ ) \hat{\theta} = arg \max_{\theta} \log P(Y|\theta)\tag{2}
該問題沒有解析解,只有通過迭代的方法求解。

EM演算法首先選取引數的初值,記作 θ ( 0 ) \theta^{(0)} ,然後通過如下步驟迭代計算引數的估計值,直至收斂。第 i i 次迭代引數的估計值為 θ ( i ) \theta^{(i)} 。EM演算法的第 i + 1 i+1 次迭代如下:

E步: 計算在模型引數 θ ( i ) \theta^{(i)} 下觀測資料 y j y_j 的概率。

M步: 計算模型引數的新估計值。

一般地,用 Y Y 表示觀測隨機變數的資料, Z Z 表示隱隨機變數的資料。 Y Y Z Z 連在一起稱為完全資料,觀測資料 Y Y 又稱為不完全資料。假設給定觀測資料 Y Y ,其概率分佈是 P ( Y θ ) P(Y|\theta) ,其中 θ \theta 是需要估計的模型引數;不完全資料 Y Y 的似然函式為 P ( Y θ ) P(Y|\theta) ,對數似然函式 L ( θ ) = log P ( Y θ ) L(\theta)=\log P(Y|\theta) ;假設 Y Y Z Z 的聯合概率分佈是 P ( Y , Z θ ) P(Y,Z|\theta) ,那麼完全資料的對數似然函式為 log P ( Y , Z θ ) \log P(Y,Z|\theta)

EM演算法通過迭代求 L ( θ ) = log P ( Y θ ) L(\theta)=\log P(Y|\theta) 的極大似然估計,每次迭代包含兩步:E步,求期望;M步,求極大化。

演算法1:(EM演算法)

輸入:觀測變數資料 Y Y ,隱變數資料 Z Z ,聯合分佈 P ( Y , Z θ ) P(Y,Z|\theta) ,條件分佈 P ( Z Y , θ ) P(Z|Y,\theta)

輸出:模型引數 θ \theta

(1)選擇引數的初值 θ ( 0 ) \theta^{(0)} ,開始迭代;

(2)E步:記 θ ( i ) \theta^{(i)} 為第 i i 次迭代引數 θ \theta 的估計值,在第 i + 1 i+1 次迭代的E步,計算
(3) Q ( θ , θ ( i ) ) = E Z [ log P ( Y , Z θ ) Y , θ ( i ) ] = Z ( log P ( Y , Z θ ) ) P ( Z Y , θ ( i ) ) Q(\theta, \theta^{(i)}) = E_Z[\log P(Y,Z|\theta)|Y,\theta^{(i)}] = \sum_Z\Big(\log P(Y,Z|\theta)\Big)P(Z|Y,\theta^{(i)}) \tag{3}
這裡的 P ( Z Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) 是在給定觀測資料 Y Y 和當前的引數估計 θ ( i ) \theta^{(i)} 下隱變數資料 Z Z 的條件概率分佈;

(3)M步:求使 Q ( θ , θ ( i ) ) Q(\theta, \theta^{(i)}) 極大化的 θ \theta ,確定第 i + 1 i+1 次迭代的引數估計值為 θ ( i + 1 ) \theta^{(i+1)}

相關推薦

EM演算法推導及其收斂證明

EM演算法簡介 EM演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率估計。EM演算法的每次迭代分為兩步:E步,求期望;M步,求極大。 概率模型有時既含有觀測變數,又含有隱變數或潛在變數,如果概率模型的變數都是觀測變數,那麼給定資料,可以直接用極大似然

EM演算法推導收斂證明和在GMM中的應用)

一、EM演算法的提出 當你有一組資料像如下這樣: 顯然用單個高斯分佈模型去擬合它們效果不好,這是一個典型的高斯混合模型的例子: p(X)=∑l=1kαlN(X|μl,Σl)∑l=1kαl=1p(X)=∑l=1kαlN(X|μl,Σl)∑l=1kαl=1

CS229與《統計學習方法》的EM演算法理解和比較,收斂證明

關於吳恩達老師的cs229講義和視訊與《統計學習方法》這本書上的EM演算法,作為初學者,強烈建議只看前者,恐怕是我比較菜只看後者的話會有很多地方不明白,比如為什麼似然函式不是 ∏

感知機模型、學習演算法收斂證明

1、感知機 學習資料:《統計學習方法》,cs229講義,其他。 感知機是用來進行二類分類的分類模型,而感知機的學習過程就是求出將訓練資料進行線性劃分的分離超平面過程。下面會給出感知機模型,接著進行學習,最後證明演算法的收斂性。 1.1、感知機模型 看下面的圖,有兩類點,記

【優化】梯度下降 收斂 證明

梯度下降方法的收斂率是O(1/t)。 本文首先介紹梯度下降演算法的定義,之後解釋收斂性的意義,並給出梯度下降演算法收斂性詳細證明過程1。 梯度下降演算法 設系統引數為x。對於樣本i,其代價函式為fi(x)。在n個樣本組成的訓練集上,其整體代價函

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

03 EM演算法 - EM演算法流程和直觀案例 八、EM演算法收斂證明 EM演算法的收斂性只要我們能夠證明對數似然函式的值在迭代的過程中是增加的即可。 問題: 隨機選擇1000名使用者,測量使用者的身高;若樣本中存在男性和女性,身高分別服從高斯分佈N(μ1,σ1)和N(μ2,σ2)的分

EM演算法及其理解

1. EM演算法是求解含有隱變數的極大似然估計引數的迭代演算法。 2. 極大似然估計可以用梯度下降法求解,但是如果概率分佈中含有隱變數的時候,先求和再求log,再求導很難。 3. 對於每一輪的迭代,先找到當前函式的一個下界函式,如果我們找到讓下界函式達到最大的引數,那麼這個引數也

【ML1】機器學習之EM演算法(含演算法詳細推導過程)

        寫在前面的話:對於EM演算法(Expectation Maximization Algorithm, 最大期望演算法), 大家如果僅僅是為了使用,則熟悉演算法流程即可。此處的演算法推導過程,僅提供給大家進階 之用。對於其應用,

【機器學習】EM演算法詳細推導和講解

眾所周知,極大似然估計是一種應用很廣泛的引數估計方法。例如我手頭有一些東北人的身高的資料,又知道身高的概率模型是高斯分佈,那麼利用極大化似然函式的方法可以估計出高斯分佈的兩個引數,均值和方差。這個方法基本上所有概率課本上都會講,我這就不多說了,不清楚的請百度。   然而現在我面臨的是這種情況,我

EM演算法及其推廣-expectation maximization algorithm

WIKI In statistics, an expectation–maximization (EM) algorithm is an iterative method to find maximum likelihood or maximum a posteriori

【轉載】【機器學習】EM演算法詳細推導和講解

今天不太想學習,炒個冷飯,講講機器學習十大演算法裡有名的EM演算法,文章裡面有些個人理解,如有錯漏,還請讀者不吝賜教。   眾所周知,極大似然估計是一種應用很廣泛的引數估計方法。例如我手頭有一些東北人的身高的資料,又知道身高的概率模型是高斯分佈,那麼利用極大化似然函式的

EM演算法及其推廣

概述 EM演算法是一種迭代演算法,用於含有隱變數(hidden variable)的概率模型引數的極大似然估計,或極大後驗概率估計。 EM演算法的每次迭代由兩步組成:E步,求期望(expectation);M步,求極大( maximization ),所以這一演算法稱為期望極大演算法(expectatio

EM演算法及其推廣(一)

EM演算法是個什麼東東 EM演算法(Expectation-maximization algorithm 期望最大化演算法),是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率(事情已經發生,求這件事情發生的原因是由某個因素引起的可能性的大小)估計。 拆解一

機器學習筆記11-EM演算法及其推廣

機器學習筆記11-EM演算法及其推廣 EM演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率估計。EM演算法的每次迭代由兩部組成:E步,求期望(expectation);M步,求極大(maximization)。 EM演算法的引入 我們面對一

迪傑斯特拉(Dijkstra)演算法描述及其正確性證明

1. 演算法描述 Dijkstra演算法是圖論中常用的一個演算法,用於計算圖中從一個指定點到其餘所有點的最短路徑。圖是有向圖,所有邊的權重為非負數,圖1是滿足條件的一個簡單有向圖。 圖1 有向加權圖示例 在圖1中,A到D的最短路徑是A-->C-->B-->

EM演算法過程推導

      EM是我一直想深入學習的演算法之一,第一次聽說是在NLP課中的HMM那一節,為了解決HMM的引數估計問題,使用了EM演算法。在之後的MT中的詞對齊中也用到了。在Mitchell的書中也提到EM可以用於貝葉斯網路中。 下面主要介紹EM的整個推導過程。 1. Jensen不等式       回顧優化

高斯混合模型(GMM)及其EM演算法的理解

一個例子 高斯混合模型(Gaussian Mixed Model)指的是多個高斯分佈函式的線性組合,理論上GMM可以擬合出任意型別的分佈,通常用於解決同一集合下的資料包含多個不同的分佈的情況(或者是同一類分佈但引數不一樣,或者是不同型別的分佈,比如正態分佈和伯

EM演算法原理與證明

EM演算法解高斯混合模型Gaussian Mixture Models 假設我們需要調查我們學校的男生和女生的身高分佈。在校園裡隨便地活捉了100個男生和100個女生,他們共200個人(也就是200個身高的樣本資料)。 高斯模型 你開始喊:“男的左邊,女的右邊,其他

迭代演算法收斂

迭代算法必須收斂,所產生的極小化序列Xk具有這樣的性質:或者序列中的某一點就是極小點X∗;或者序列收斂於極小點X∗,即滿足 limk→∞∥Xk−X∗∥=0 但求解非線性最優化問題時,通常迭代序點序列收

EM演算法及其應用

EM演算法簡介 首先上一段EM演算法的wiki定義: expectation–maximization (EM) algorithm is an iterative method to find maximum likelihood(MLE)