EM算法收敛性推导

EM算法(Expectation-Maximization),就是用最大似然MLE来递推求模型的参数。顾明思议分为两步:第一步求隐变量的期望,第二步找到让隐变量期望最大化的参数。用公式来表示最终的目标就是:
L ( θ ) = ∑ i l o g ( p ( x i ; θ ) ) θ = arg max ⁡ θ L ( θ ) L(\theta)=\sum_{i}log(p(x_i;\theta)) \\ \theta = \argmax_{\theta}L(\theta) L(θ)=ilog(p(xi;θ))θ=θargmaxL(θ)
而模型中有未知的隐变量z,那么
L ( θ ) = ∑ i l o g ∑ z ( p ( x i , z ; θ ) ) L(\theta)=\sum_{i}log\sum_z(p(x_i,z;\theta)) L(θ)=ilogz(p(xi,z;θ))
里面的求和实际上是希望求z得期望,假设z服从某种分布,它的概率是 Q i ( z ) Q_i(z) Qi(z),它的取值分布是 g ( z ) g(z) g(z),那么 L ( θ ) L(\theta) L(θ)可以进一步变成:
L ( θ ) = ∑ i l o g E ( z ) L ( θ ) = ∑ i l o g ∑ z Q i ( z ) g ( z ) L ( θ ) = ∑ i l o g ∑ z Q i ( z ) p ( x i , z ; θ ) Q i ( z ) L(\theta)=\sum_{i}logE(z) \\ L(\theta)=\sum_{i}log\sum_zQ_i(z)g(z) \\ L(\theta)=\sum_{i}log\sum_zQ_i(z)\frac{p(x_i,z;\theta)}{Q_i(z)} L(θ)=ilogE(z)L(θ)=ilogzQi(z)g(z)L(θ)=ilogzQi(z)Qi(z)p(xi,z;θ)
利用Jesson不等式,凸函数 f ( E ( z ) ) > = E ( f ( z ) ) f(E(z))>=E(f(z)) f(E(z))>=E(f(z)),相等的情况是 E ( z ) = z E(z)=z E(z)=z,当 E ( z ) E(z) E(z)是常数的时候。那么可以成功把log放进求和里面
L ( θ ) > = ∑ i ∑ z Q i ( z ) l o g p ( x i , z ; θ ) Q i ( z ) = J ( z , θ ) L(\theta)>=\sum_{i}\sum_zQ_i(z)log\frac{p(x_i,z;\theta)}{Q_i(z)}=J(z,\theta) L(θ)>=izQi(z)logQi(z)p(xi,z;θ)=J(z,θ)
所以,整个极大似然的概率 L ( θ ) L(\theta) L(θ)有下界 J ( z , θ ) J(z,\theta) J(z,θ),我们每次优化可以提供下界 J ( z , θ ) J(z,\theta) J(z,θ),来不断提高 L ( θ ) L(\theta) L(θ)也就是说 L ( θ ) L(\theta) L(θ)是不断递增的,同时 L ( θ ) L(\theta) L(θ)不超过1,这就是算法能收敛的原因。
还剩下一个问题 Q i ( z ) Q_i(z) Qi(z)应该如何选择,如果Jesson不等式相等的条件就是
p ( x i , z ; θ ) Q i ( z ) = c \frac{p(x_i,z;\theta)}{Q_i(z)}=c Qi(z)p(xi,z;θ)=c
同时 ∑ z Q i ( z ) = 1 \sum_{z}Q_i(z)=1 zQi(z)=1,c是一个常数,也就是说 ∑ z p ( x i , z ; θ ) \sum_z p(x_i,z;\theta) zp(xi,z;θ)是和z无关的,写成公式就是
∑ z p ( x i , z ; θ ) = p ( x i ; θ ) \sum_z p(x_i,z;\theta)=p(x_i;\theta) zp(xi,z;θ)=p(xi;θ)
那么
Q i ( z ) = p ( x i , z ; θ ) ∑ z p ( x i , z ; θ ) Q i ( z ) = p ( x i , z ; θ ) p ( x i ; θ ) Q i ( z ) = p ( z ∣ x i ; θ ) Q_i(z)=\frac{p(x_i,z;\theta)}{\sum_zp(x_i,z;\theta)} \\ Q_i(z)=\frac{p(x_i,z;\theta)}{p(x_i;\theta)} \\ Q_i(z)=p(z|x_i;\theta) Qi(z)=zp(xi,z;θ)p(xi,z;θ)Qi(z)=p(xi;θ)p(xi,z;θ)Qi(z)=p(zxi;θ)
这也解决了 Q i ( z ) Q_i(z) Qi(z)如何选择的问题,刚好的已知参数和数据情况下的后验概率。
所以,EM算法用公式表达就是:

  1. E步:算隐含变量的期望,隐含变量的概率分布是 Q i ( z ) = p ( z ∣ x i ; θ ) Q_i(z)=p(z|x_i;\theta) Qi(z)=p(zxi;θ)
    而期望的下界是
    J ( z , θ ) = ∑ i ∑ z Q i ( z ) l o g p ( x i , z ; θ ) Q i ( z ) J(z,\theta)=\sum_{i}\sum_zQ_i(z)log\frac{p(x_i,z;\theta)}{Q_i(z)} J(z,θ)=izQi(z)logQi(z)p(xi,z;θ)
  2. M步:找到隐含变量期望最大化的 θ \theta θ进行下一轮迭代,期望下界最大化就是期望最大化
    θ = arg max ⁡ θ J ( z , θ ) \theta = \argmax_{\theta}J(z,\theta) θ=θargmaxJ(z,θ)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值