EM算法

来源:互联网 发布:分水岭算法优缺点 编辑:程序博客网 时间:2024/04/29 15:49

EM算法

  用X表示观测随机变量,Z表示隐随机变量。X和Z连在一起称为完全数据(complete-data),Y为不完全数据(incomplete-data)。给定训练样本X={x1,x2,,xn},样例间独立,EM算法通过迭代求样本的极大似然估计L(θ)来估计模型参数:

L(θ)=i=1nlogp(xi|θ)=i=1nlogzp(xi,z|θ)

  对于每一个样例xiQi表示该样例隐变量z的某种分布,Qi满足如下条件:
zQi(z)=1,Qi(z)0(1)

  如果z是连续性的,那么Qi是概率密度函数,需要将求和符号换成积分符号。比如,要讲班上的学生聚类,假设隐藏变量z是身高,那么Q_i就是连续的高斯分布,如果隐藏变量是男女,那么就是伯努利分布。不同样例的隐藏变量可能属于不同的分布。
  构造极大似然函数L(θ)的下界:
L(θ)=i=1nlogzp(xi,z|θ)(2)

=i=1nlogzQi(z)p(xi,z|θ)Qi(z)(3)

i=1nzQi(z)logp(xi,z|θ)Qi(z)(4)

式(3),式(4)可以理解为:
f(EzQi[p(xi,z|θ)Qi(z)])EzQi[f(p(xi,z|θ)Qi(z))]

根据式(4),L(θ)的下界和θp(xi,z|θ)Qi(z)有关。
  于是我们可以先固定θ,调整p(xi,z|θ)Qi(z)的值来使下界不断提升,以逼近L(θ)的真实值。根据Jensen不等式,当随机变量p(xi,z|θ)Qi(z)为常数时,等式成立。即当
p(xi,z|θ)Qi(z)=c(5)

时,下界和L(θ)相等。
由式(5),式(1)可知,
Qi(z)=p(xi,z|θ)zp(xi,z|θ)=p(xi,z|θ)p(xi|θ)=p(z|xi,θ)

  所以,只要Qi(z)为后验概率,L(θ)的形式转换成(4),由于(4)的log中没有求和,这样的式子求导比较原来直接求L(θ)的导容易。此外,在θ固定为θ时,只要Qi(z)为后验概率,L(θ)与下界值相等。由于L(θ)一直大于等于下界,所以变换θ的值,使下界变大,L(θ)也变大。
  于是迭代过程为:第t次迭代的结果为θt,在接下来第t+1次迭代中,E步:当Qi(z)p(z|xi,θt)时,下界最大,L(θ)近似为下界;M步:对θ求导,使L(θ)增大。
  根据个人理解,EM算法适用于包含隐变量,即样本可能含有多个分布的情况,迭代求出不同分布模型的参数θ,参见混合高斯模型的应用。
  本文参考自李航的统计学习分析以及JerryLead的博客,是本人的学习笔记,如有侵权,请告知,并感谢所有无私奉献的博主。

0 0
原创粉丝点击