【模式识别】期望最大化算法(EM算法)

引言

概率模型的参数估计方法(包括最大似然估计、最大后验概率估计以及贝叶斯估计)适用于概率模型中的变量均为观测变量的情况。当模型中含有隐变量时(例如:样本点的某些特征丢失或隐变量不可观测的情况下),这些方法便失去作用。**EM算法就是解决含有隐变量的概率模型参数的最大似然估计法。**EM算法的核心就是根据已有的数据递归估计似然函数。

EM算法

EM算法流程:

输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|θ),条件分布P(Z|Y,θ);

输出:模型参数θ

(1)选择参数初值** θ ( 0 ) \theta^{(0)} θ(0)**,开始迭代:

(2)E步:记 θ ( i ) \theta^{(i)} θ(i)为第i次迭代参数θ的估计值,在i+1次的迭代E步计算:
Q ( θ , θ ( i ) ) = E Z [ l o g P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] = ∑ Z l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) Q(\theta ,\theta^{(i)})=E_Z[logP(Y,Z|\theta)|Y,\theta^{(i)}]=\sum_ZlogP(Y,Z|\theta)P(Z|Y,\theta^{(i)}) Q(θ,θ(i))=EZ[logP(Y,Zθ)Y,θ(i)]=ZlogP(Y,Zθ)P(ZY,θ(i))
其中 P ( Z ∣ Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) P(ZY,θ(i))是在给定观测数据Y和当前参数估计 θ ( i ) \theta^{(i)} θ(i)下隐变量数据Z的条件概率分布;

(3)M步:求使 Q ( θ , θ ( i ) ) Q(\theta ,\theta^{(i)}) Q(θ,θ(i))极大化的θ,确定第i+1次迭代的参数估计值 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)
θ ( i + 1 ) = arg ⁡ max ⁡ θ Q ( θ , θ ( i ) ) \theta^{(i+1)}=\arg \max_\theta Q(\theta ,\theta^{(i)}) θ(i+1)=argθmaxQ(θ,θ(i))
(4)重复2,3步直至收敛。

算法解释

函数 Q ( θ , θ ( i ) ) Q(\theta ,\theta^{(i)}) Q(θ,θ(i)),称为Q函数,是EM算法的核心公式。它是一个条件期望函数,表示的是:

在给定观测数据Y和当前参数 θ ( i ) \theta^{(i)} θ(i)的未观测数据Z的条件概率分布 P ( Z ∣ Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) P(ZY,θ(i))的条件下,完全数据的对数似然函数 l o g P ( Y , Z ∣ θ ) logP(Y,Z|\theta) logP(Y,Zθ)的条件期望

另外,EM算法对第一步的参数初值选择敏感。

总结

EM算法实际上是从为了使观测数据的似然函数log P(Y|θ)极大化这一目的出发推导出来的一个迭代算法。在构建具体的EM算法时,重要的是定义Q函数。每次迭代,EM算法都通过极大化Q函数来增大对数似然函数log P(Y|θ)。也就是说,似然函数会随着Q函数的增大而增大。

一般条件下EM算法是收敛的,但不能保证收敛到全局最优,即它是一个局部最优算法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值