EM演算法推導及其收斂性證明
EM演算法簡介
EM演算法是一種迭代演算法,用於含有隱變數的概率模型引數的極大似然估計,或極大後驗概率估計。EM演算法的每次迭代分為兩步:E步,求期望;M步,求極大。
概率模型有時既含有觀測變數,又含有隱變數或潛在變數,如果概率模型的變數都是觀測變數,那麼給定資料,可以直接用極大似然估計或貝葉斯法估計模型引數。但是當模型含有隱變數時,就不能簡單地使用這種估計方法。EM演算法就是含有隱變數的概率模型引數的極大似然估計法。
EM演算法
觀測資料表示為
,未觀測資料表示為
,則觀測資料的似然函式為
考慮求模型引數
的對數極大似然估計,即
該問題沒有解析解,只有通過迭代的方法求解。
EM演算法首先選取引數的初值,記作 ,然後通過如下步驟迭代計算引數的估計值,直至收斂。第 次迭代引數的估計值為 。EM演算法的第 次迭代如下:
E步: 計算在模型引數 下觀測資料 的概率。
M步: 計算模型引數的新估計值。
一般地,用 表示觀測隨機變數的資料, 表示隱隨機變數的資料。 和 連在一起稱為完全資料,觀測資料 又稱為不完全資料。假設給定觀測資料 ,其概率分佈是 ,其中 是需要估計的模型引數;不完全資料 的似然函式為 ,對數似然函式 ;假設 和 的聯合概率分佈是 ,那麼完全資料的對數似然函式為 。
EM演算法通過迭代求 的極大似然估計,每次迭代包含兩步:E步,求期望;M步,求極大化。
演算法1:(EM演算法)
輸入:觀測變數資料 ,隱變數資料 ,聯合分佈 ,條件分佈 ;
輸出:模型引數
(1)選擇引數的初值 ,開始迭代;
(2)E步:記
為第
次迭代引數
的估計值,在第
次迭代的E步,計算
這裡的
是在給定觀測資料
和當前的引數估計
下隱變數資料
的條件概率分佈;
(3)M步:求使 極大化的 ,確定第 次迭代的引數估計值為