EM算法

适用问题

带有隐变量(无法直接观测的变量)的条件概率

P(Y,ZΘ) Y是可观测变量,Z是隐变量,

Θ 是模型参数

通过提供 观测变量Y的观测值、Z的取值范围、 P(Y,ZΘ) P(ZY,Θ) , 计算出模型参数 Θ

算法

《EM算法》
《EM算法》

原理

本质上是求

P(Yθ)=ZP(Zθ)P(YZ,θ)



θ 的极大似然估计

θ̂ =argmaxθlogP(Yθ)



L(θ)=logP(Yθ)=ilogkP(Yi,Zkθ)

但是由于上式中包含了不可观测的Z的累加和包含和的对数,不能直接求导来确定 θ

转化为通过使两次迭代之间的增加量最大来逼近最大值

E步:建立L(\theta)两次迭代间的下界

Q:为什么E步的Q函数的含义是 在第i次迭代的 θ 和 观测值 Y 的条件下L(\theta) 中z的期望呢 ( Ez[logP(Y,Zθ)Y,θ(i)]

A:E步实际上是求 在上一次迭代的\theta^{(i)}的基础上,Z的期望。下一步M步即是让L( θ )在取何值时 z的期望最大。在下一篇文章 高斯混合模型中,可以在算法中用E(Z)代替计算

M步: 使下界极大(一般是分别使偏导为0)

在上一次迭代得到的 θ(i) 的基础上,下一次迭代取值 θ 使

L(θ)L(θ(i))

的值取最大

利用Jensen不等式,可得

L(θ)L(θ(i))=ZP(ZY,θ(i))logP(YZ,θ)P(Zθ)P(ZY,θ(i))P(Yθ(i))

去除多余的常数的项 也就是求


argmaxθZP(ZY,θ(i))logP(Y,Zθ)

作为本轮迭代产生的

θ(i+1)

点赞