EM算法

算法:

输入:观测变量数据 Y ,隐变量数据 Z ,联合分布 P(Y,Z|θ) ,条件分布 P(Z|Y,θ)
输出:模型参数 θ .
(1) 选择参数的初值 θ(0) ,开始迭代;
(2) E 步:记 θ(i) 为第 i 次迭代参数 θ 的估计值,在第 i+1 次迭代的 E 步,计算

Q(θ,θ(i))=EZ[logP(Y,Z|θ)|Y,θ(i)]=ZlogP(Y,Z|θ)P(Z|Y,θ(i))
这里, P(Z|Y,θ(i)) 是在给定观测数据 Y 和当前的参数估计 θ(i) 下隐变量数据 Z 的条件概率分布;
(3) M 步:求使 Q(θ,θ(i)) 极大化的 θ ,确定第 i+1 次迭代的参数的估计值 θ(i+1)
θ(i+1)=argmaxθQ(θ,θ(i))
(4) 重复第 (2) 步和第 (3) 步,直到收敛。

几点说明:

  1. 参数初值可以任意选择,但 EM 算法对初值敏感
  2. EM 算法不能保证找到全局最优值
  3. 常用的办法是选择几个不同的初值进行迭代,然后对得到的各个值比较,选择最好的。

你可能感兴趣的:(学习笔记)