EM算法解析

本文介绍EM算法的相关推导过程,同时会介绍混合高斯模型。

1.EM算法

1.1 EM算法的推导

观测数据(不完全数据)X关于参数 θ 的对数似然函数为:

L(θ)=logP(x|θ)=logzP(x,z|θ)=logz[q(z)P(x,z|θ)q(z)]zq(z)logP(x,z|θ)q(z)=zq(z)logP(x,z|θ)+zq(z)logq(z)

另一方面:

L(θ)=logP(x|θ)=zq(z)logP(x|θ)=zq(z)logP(x,z|θ)P(z|x,θ)=zq(z)logP(x,z|θ)q(z)p(z|x,θ)q(z)=zq(z)logP(x,z|θ)+zlogq(z)p(z|x,θ)+zq(z)logq(z)=zq(z)logP(x,z|θ)+KL(q(z)||p(z|x,θ))+zq(z)logq(z)

令:
B(θ,q(z))=zq(z)logP(x,z|θ)+zq(z)logq(z)

根据(公式1):
L(θ)B(θ,q(z))=KL(q(z)||p(z|x,θ))

由上式可知, B(θ,q(z)) L(θ) 的一个下界。二者的差值即为概率分布 q(z) p(z|x,θ) 的KL距离。

θ 固定时, L(θ) 的值确定。但是随着 q(z) 的变化, B(θ,q(z)) 的值会不断变化。接下来要做的是调整 q(z) 的分布,使 B(θ,q(z)) 的值尽可能的靠近 L(θ) 的值,即尽可能的提高 L(θ) 的下界。

根据KL距离的定义,当 q(z)=p(z|x,θ) 时, KL(q(z)||p(z|x,θ))=0 ,有下式成立:

L(θ)=B(θ)

EM算法:
E步:
在时刻t的参数 θt 固定的情况下,求能使 B(θt,q(z);x) 达到最大的下界的期望值:
qt(z)=argmaxq(z)B(θt,q(z);x)=p(z|x,θt)

M步:
qt(z) 固定的情况下,求使 B(θt,q(z);x) 取得极大值的新的 θt+1 ,由于 B(θt,q(z);x) 的第二项与 θ 无关,因此只需要求使第一项达到最大值的 θt+1 即可。
θt+1=argmaxθEqt(z)P(x,z|θ)=argmaxθzqt(z)logP(x,z|θ)

1.2 EM算法的收敛性

假定 θt θt+1 是第t次和t+1次迭代后的结果,求证:

L(θt+1)L(θt)

证明:
(1)在选定 θt 后,由E步 qt(z)=p(z,x|θt) ,则:
L(θt)=Eqt(z)P(x,z|θt)+H(qt(z))=zqt(z)logP(x,z|θt)+zqt(z)logqt(z)

(2)在经过M步的推导得到 θt+1 后:
L(θt+1)zqt(z)logP(x,z|θt+1)+zqt(z)logqt(z)

(3)根据M步的定义,将 θt 调整到 θt+1 后,使下界最大化:
Eqt(z)P(x,z|θt+1)Eqt(z)P(x,z|θt)

(4)综合上述三个公式可得:
L(θt+1)L(θt)

也就是说,经过一次次的迭代,EM算法总会收敛到一个局部最大值(但不一定能收敛到全局最大值)。

2.混合高斯模型(GMM)

假设数据{ x1,x2,,xn }由混合高斯模型生成:

P(x,θ)=k=1Kθzϕ(x|θx)=k=1KπkN(μk,σk)

其中\theta_z由两部分组成:
θz={π1,π2,,πk}

θx={μ1,μ2,,μk;σ1,σ2,,σk}

定义:

Z=z1z2zn=100010000001

其中:
Znk={10nk

有了观测数据 xn 及未观测数据 znk ,那么完全数据是:

(xn,zn1,zn2,,znk),n=1,2,3,N

所以,完全数据的似然函数为:
p(x,z|θ)=P(x1,x2,,xn,z1,z2,,zn|θ)=n=1NP(xn,zn1,zn2,,znk|θ)=n=1NP(zn|θz)n=1NP(xn|zn,θx)=n=1Nk=1KN(μk,σk)Znkn=1Nk=1KπZnkk

对数似然函数为:

L(θ)=logP(x,z|θ)=n=1Nk=1KZnk[logN(μk,σk)+logπk]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值