EM 算法

这个算法李航在《统计学习方法》上说的比较好:
“EM算法是一种迭代算法,用于含有隐变量的概率模型产生的极大似然估计,或极大后验概率估计。”

(Q函数)完全数据的对数似然函数 logP(Y,Z|θ  )关于在给定观测数据Y和当前参数 θ i   下对未观测数据Z的条件概率分布 P(Z|Y,θ i )  的期望称为Q函数,即
Q(θ,θ i )=E Z [logP(Y,Z|θ)|Y,θ i ] 

E步:
计算 Q(θ,θ i )=E Z [logP(Y,Z|θ)|Y,θ i ] 
M步:
θ i+1 =argmax θ Q(θ,θ i ) 

具体数学推导怎么来的可以看Andrew的lecture12
简单说就是设Z服从 QZ i   的分布,用Jensen不等式构造 logP(Y|θ)  的紧下界,由此(下界函数紧时,也就是取到等号时)可以得出 QZ i   的分布形式;然后就是M步优化 θ  了。

EM 算法_第1张图片

对于上图,还要强调两句,就是如何与李航的M-step等价;这个。。。自己再去琢磨琢磨(两者事实上换汤不换药),想通了有利于对EM算法更深入的理解。

总的来说,EM算法记住两句话:
1,EM算法是一种迭代算法,用于含有隐变量的概率模型产生的极大似然估计,或极大后验概率估计。
2,E步:求Q函数,其实就是构造紧下界函数
(记住是“紧”,紧相当于Jensen不等式取到等号,从而得到 QZ i   分布,从而可以求完全数据对数似然函数 logP(Y,Z|θ)|Y,θ i   关于 QZ i   的期望,也就是Q函数,两个Q不要搞混了。。。)
M步:求 θ i+1 =argmax θ Q(θ,θ i ) 

应用在高斯混合模型,混合模型可以由任意概率密度代替,我们常用的是高斯混合模型。
要区别高斯混合模型和高斯判别模型。高斯判别模型认为数据由某一个(记住是一个!)高斯函数生成;高斯混合模型认为数据是由一堆加权组合的高斯模型生成。

你可能感兴趣的:(算法,迭代)