序
EM算法主要包含两个变量:隐变量
Z
和模型参数
公式推导:
定义:
最大化目标函数来优化
Z
和
lnp(X|θ)
需要用到公式:
p(X,Z|θ)=p(Z|X,θ)⋅p(X|θ)
推导:
lnp(X|θ)=∑Zq(Z)lnp(X|θ)=∑Zq(Z)lnp(X,Z|θ)p(Z|X,θ)=∑Zq(Z)lnp(X,Z|θ)p(Z|X,θ)⋅q(Z)q(Z)=∑Zq(Z)lnp(X,Z|θ)q(Z)−∑Zq(Z)lnp(Z|X,θ)q(Z)
定义:
L(q,θ)=∑Zq(Z)lnp(X,Z|θ)q(Z)KL(q∥p)=−∑Zq(Z)lnp(Z|X,θ)q(Z)≥0
分析:
为了最大化 lnp(X|θ) ,迭代优化 q(Z) 和 θ 。当 θ 固定时, lnp(X|θ) 也就确定了,与 q(Z) 的具体取值无关。
E步:固定 θ ,调整 q(Z) 来最大化 lnp(X|θ) 的下界 L(q,θ) ,即最小化KL距离。使 q(Z) 尽量接近于后验概率 p(Z|X,θ) 。
M步:固定 q(Z) ,调整 θ 来最大化下界 L(q,θ) 。 θ 改变之后 KL(q∥p) 也会增大,从而整个目标函数 lnp(X|θ) 变大。