您的位置:首页 > 其它

EM算法

2016-05-08 18:20 344 查看

EM算法

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

L(θ)=∑i=1nlogp(xi|θ)=∑i=1nlog∑zp(xi,z|θ)

  对于每一个样例xi,Qi表示该样例隐变量z的某种分布,Qi满足如下条件:

∑zQi(z)=1,Qi(z)≥0(1)

  如果z是连续性的,那么Qi是概率密度函数,需要将求和符号换成积分符号。比如,要讲班上的学生聚类,假设隐藏变量z是身高,那么Q_i就是连续的高斯分布,如果隐藏变量是男女,那么就是伯努利分布。不同样例的隐藏变量可能属于不同的分布。

  构造极大似然函数L(θ)的下界:

L(θ)=∑i=1nlog∑zp(xi,z|θ)(2)

=∑i=1nlog∑zQi(z)p(xi,z|θ)Qi(z)(3)

≥∑i=1n∑zQi(z)logp(xi,z|θ)Qi(z)(4)

式(3),式(4)可以理解为:

f(Ez∼Qi[p(xi,z|θ)Qi(z)])≥Ez∼Qi[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的博客,是本人的学习笔记,如有侵权,请告知,并感谢所有无私奉献的博主。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: