EM算法小结

EM算法主要包含两个变量:隐变量 Z 和模型参数 θ ,分别在E步和M步中进行迭代优化。隐变量 Z 可以是数据缺失的特征或者是主题变量等。

公式推导:

定义: X –观察数据; 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(qp)=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(qp) 也会增大,从而整个目标函数 lnp(X|θ) 变大。

你可能感兴趣的:(优化,机器学习,EM算法,数据缺失,迭代更新)