EM算法原理介绍

1. 引言

    EM算法是Dempster等人在1977年提出来的一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望;M步,求极大,因此,该算法也被称为期望极大算法,简称EM算法。

2. EM算法原理介绍

2.1 EM算法的原理

    一般地,用YYY表示观测随机变量的数据,ZZZ表示隐随机变量的数据,YYYZZZ连在一起称为完全数据,观测数据YYY又称为不完全数据。假设给定观测数据YYY,其概率分布是P(Y∣θ)P(Y | \theta)P(Yθ),其中θ\thetaθ是需要估计的模型参数,那么不完全数据YYY的似然函数是P(Y∣θ)P(Y | \theta)P(Yθ),对数似然函数是L(θ)=log⁡P(Y∣θ)L(\theta)=\log P(Y | \theta)L(θ)=logP(Yθ),假设YYYZZZ的联合概率分布是P(Y,Z∣θ)P(Y, Z | \theta)P(Y,Zθ),那么完全数据对数似然函数是log⁡P(Y,Z∣θ)\log P(Y, Z | \theta)logP(Y,Zθ)

    EM算法就是通过极大化不完全数据YYY的对数似然函数来对参数θ\thetaθ进行估计,即极大化:
L(θ)=log⁡P(Y∣θ)=log⁡∑ZP(Y,Z∣θ)=log⁡(∑ZP(Y∣Z,θ)P(Z∣θ)) \begin{aligned} L(\theta) &=\log P(Y | \theta)=\log \sum_{Z} P(Y, Z | \theta) \\ &=\log \left(\sum_{Z} P(Y | Z, \theta) P(Z | \theta)\right) \end{aligned} L(θ)=logP(Yθ)=logZP(Y,Zθ)=log(ZP(YZ,θ)P(Zθ))由于上式中含有未观测的数据和求和的对数,因此,没法直接对参数进行极大化估计。事实上,EM算法是通过迭代逐步近似极大化L(θ)L(\theta)L(θ),假设在第iii次迭代后θ\thetaθ的估计值是θ(i)\theta^{(i)}θ(i),我们希望估计值θ\thetaθ能使L(θ)L(\theta)L(θ)增加,即L(θ)>L(θ(i))L(\theta)>L\left(\theta^{(i)}\right)L(θ)>L(θ(i)),并逐步达到极大值,因此,可以直接考虑两者的差:
L(θ)−L(θ(i))=log⁡(∑ZP(Y∣Z,θ)P(Z∣θ))−log⁡P(Y∣θ(i)) L(\theta)-L\left(\theta^{(i)}\right)=\log \left(\sum_{Z} P(Y | Z, \theta) P(Z | \theta)\right)-\log P\left(Y | \theta^{(i)}\right) L(θ)L(θ(i))=log(ZP(YZ,θ)P(Zθ))logP(Yθ(i))利用Jensen不等式可以得到其下界:
L(θ)−L(θ(i))=log⁡(∑ZP(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i)))−log⁡P(Y∣θ(i))⩾∑ZP(Z∣Y,θ(i))log⁡P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))−log⁡P(Y∣θ(i))=∑ZP(Z∣Y,θ(i))log⁡P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i)) \begin{aligned} L(\theta)-L\left(\theta^{(i)}\right) &=\log \left(\sum_{Z} P\left(Z | Y, \theta^{(i)}\right) \frac{P(Y | Z, \theta) P(Z | \theta)}{P\left(Z | Y, \theta^{(i)}\right)}\right)-\log P\left(Y | \theta^{(i)}\right) \\ & \geqslant \sum_{Z} P\left(Z | Y, \theta^{(i)}\right) \log \frac{P(Y | Z, \theta) P(Z | \theta)}{P\left(Z | Y, \theta^{(i)}\right)}-\log P\left(Y | \theta^{(i)}\right) \\ &=\sum_{Z} P\left(Z | Y, \theta^{(i)}\right) \log \frac{P(Y | Z, \theta) P(Z | \theta)}{P\left(Z | Y, \theta^{(i)}\right) P\left(Y | \theta^{(i)}\right)} \end{aligned} L(θ)L(θ(i))=log(ZP(ZY,θ(i))P(ZY,θ(i))P(YZ,θ)P(Zθ))logP(Yθ(i))ZP(ZY,θ(i))logP(ZY,θ(i))P(YZ,θ)P(Zθ)logP(Yθ(i))=ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ)
B(θ,θ(i))=^L(θ(i))+∑ZP(Z∣Y,θ(i))log⁡P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i)) B\left(\theta, \theta^{(i)}\right) \hat{=} L\left(\theta^{(i)}\right)+\sum_{Z} P\left(Z | Y, \theta^{(i)}\right) \log \frac{P(Y | Z, \theta) P(Z | \theta)}{P\left(Z | Y, \theta^{(i)}\right) P\left(Y | \theta^{(i)}\right)} B(θ,θ(i))=^L(θ(i))+ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ)
L(θ)⩾B(θ,θ(i)) L(\theta) \geqslant B\left(\theta, \theta^{(i)}\right) L(θ)B(θ,θ(i))即函数B(θ,θ(i))B\left(\theta, \theta^{(i)}\right)B(θ,θ(i))L(θ)L(\theta)L(θ)的一个下界,并且有:
L(θ(i))=B(θ(i),θ(i)) L\left(\theta^{(i)}\right)=B\left(\theta^{(i)}, \theta^{(i)}\right) L(θ(i))=B(θ(i),θ(i))因此,任何可以使B(θ,θ(i))B\left(\theta, \theta^{(i)}\right)B(θ,θ(i))增大的θ\thetaθ也可以使L(θ)L(\theta)L(θ)增大,因此,每次迭代时可以直接对B(θ,θ(i))B\left(\theta, \theta^{(i)}\right)B(θ,θ(i))进行极大化更新θ\thetaθ
θ(i+1)=arg⁡max⁡θB(θ,θ(i)) \theta^{(i+1)}=\arg \max _{\theta} B\left(\theta, \theta^{(i)}\right) θ(i+1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值