EM 算法(Expectation Maximization)

EM 算法是一種重要的解決含有隱變量問(wèn)題的參數(shù)估計(jì)方法

算法釋義

EM算法 是用來(lái)解決含有隱變量的概率模型參數(shù)的極大似然估計(jì),或者叫極大后驗(yàn)概率估計(jì)。它是一種迭代算法,每次迭代由兩步組成:E 步,求期望,M 步,求極大。

算法步驟

輸入:觀測(cè)變量數(shù)據(jù) Y,隱變量數(shù)據(jù) Z,聯(lián)合分布 P(Y, Z | θ),條件分布 P(Z | Y, θ)
輸出:模型參數(shù) θ(T)
(1) 初始化模型參數(shù):θ(0)
(2) 迭代求解,直至收斂,t = 0,1,...,T:
a. E步,求期望:
\begin{align} Q(θ, θ^{(t)}) &= E_Z[\log P(Y, Z | θ) | Y, θ^{(t)}] \\ & = \sum_Z P(Z|Y, θ^{(t)}) \log P(Y, Z | θ) \\ \end{align}

b. M步,求極大:
θ^{(t+1)} = arg \max_{θ} Q(θ, θ^{(t)})


EM 算法的導(dǎo)出

極大似然估計(jì)的目標(biāo)是極大化觀測(cè)數(shù)據(jù) Y 關(guān)于參數(shù) θ 的似然函數(shù),對(duì)其取對(duì)數(shù),那么就是要極大化對(duì)數(shù)似然函數(shù),即極大化 L(θ) :
\begin{align} L(θ) &= \log P(Y|θ) = \log \sum_Z P(Y,Z|θ) \\ \end{align}

如果存在某一輪迭代的中間值 θ(t),則:
\begin{align} & 利用 Jensen 不等式\\ &【\log \sum_j λ_j y_j ≥ \sum_j λ_j \log y_j,其中 λ_j ≥ 0, \sum_j λ_j = 1】\\ L(θ) & = \log \left( \sum_Z P(Z|Y,θ^{(t)}) \frac {P(Y,Z|θ)} {P(Z|Y,θ^{(t)})} \right) \\ & ≥ \sum_Z P(Z|Y,θ^{(t)}) \log \frac {P(Y,Z|θ)} {P(Z|Y,θ^{(t)})} \\ & \\ \end{align}

我們把不等式右邊的這個(gè)函數(shù)成為 B(θ, θ(t)) 函數(shù),那么顯然 B(θ, θ(t)) 是 L(θ) 的一個(gè)下界,換句話說(shuō),如果 θ 盡可能使 B(θ, θ(t)) 增大,那么 L(θ) 也會(huì)增大,所以下面極大化 B(θ, θ(t)):
\begin{align} θ^{(t+1)} & = arg\max_θ B(θ,θ^{(t)}) \\ & = arg\max_θ \sum_Z \left( P(Z|Y,θ^{(t)}) \log \frac {P(Y,Z|θ)} {P(Z|Y,θ^{(t)})} \right) \\ & = arg\max_θ \sum_Z \left( P(Z|Y,θ^{(t)}) \left( \log {P(Y,Z|θ)} - \log {P(Z|Y,θ^{(t)})} \right) \right) \\ & = arg\max_θ \sum_Z \left( P(Z|Y,θ^{(t)}) \log {P(Y,Z|θ)} \right) \\ & = arg \max_{θ} Q(θ, θ^{(t)}) \\ \end{align}

EM 算法是不斷求解下界的極大化逼近求解對(duì)數(shù)似然函數(shù)極大化的算法,因此 EM 算法不能保證找到全局最優(yōu)解。

EM 算法的收斂性

pass


參考資料

《統(tǒng)計(jì)學(xué)習(xí)方法》,李航

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容