EM(expectation maximization)理解以及推导过程

原创 2012年05月29日 11:18:11

from :http://www.hxxiaopei.com/?p=26

最近在看topic model,引入主题隐含的状态,采用EM算法求解参数,所以先系统了解EM算法,感觉比较抽象,参照一些论文以及斯坦福的机器学习视频,整理一下自己的想法。

1.引入

给定一个数据集合DataSet,观察变量是X,隐藏变量为Z,如果概率模型的变量都是观察变量,则直接利用极大似然估计法估计模型参数l(θ)=maxθNi=1lnP(xi|θ),对l(θ)求导,采用牛顿法或者梯度下降法,求解参数。如果模型中存在隐含变量Z,则P(X|θ)=zP(X,z|θ)l(θ)=maxθNi=1lnzP(xi,z|θ),采用极大似然估计,对θ求导,无法获取其解析形式,不能直接获取其结果。EM算法就是含有隐藏变量的概率模型参数估计方法。

2.算法

概括性的介绍,无法直接对l(θ)=Ni=1lnzP(xi,z|θ)求解,利用jessen不等式以及convex函数的性质,求l(θ)的下界,通过求下界的极大值,得到模型参数, ,所以并不是获取算法的全局最优解,而是局部最优。

EM参考手册对算法过程进行详细的推导,斯坦福视频也有一个推导过程,我理解EM参考手册中的推导更自然,而斯坦福视频推导更简练,直接match最后的结果。

推导过程:

l(θ)

=i=1NlnzP(xi,z|θ)

=i=1NlnzQ(z)P(xi,z|θ)Q(z)

=i=1NlnE(P(xi,z|θ)Q(z))

i=1NE(lnP(xi,z|θ)Q(z))

=i=1NzQ(z)lnP(xi,z|θ)Q(z)

其中 Q(z)0 , zQ(z)=1

Q(z)是z的分布函数,可以理解为z的概率密度函数

jensen不等式,ln E(x) >= E(ln(x))

现在将l(θ的参数估计转换成对其下界 Ni=1zQ(z)lnP(xi,z|θ)Q(z)的参数估计问题。

需要确定等式什么时候成立,只有等式成立时,下界的极大值最接近原始问题,lnE(P(xi,z|θ)Q(z))=E(lnP(xi,z|θ)Q(z))。根据Ng介绍,应该是P(xi,z|θ)Q(z)=constant时,等式成立。

需要 Q(z)P(xi,z|θ),同时,又有zQ(z)=1,则

Q(z)=P(xi,z|θ)zP(xi,z|θ)

=P(xi,z|θ)P(xi|θ)

=P(z|xiθ)

由此可见,Q(z)是在观察变量已知的情况下z的分布函数,是xi给定时z的后验概率。在实际的计算中,EM为迭代算法,计算Q(z)时,观察变量以及参数θ都是已知的

EM算法:

在给定Q(z)的情况下,可以利用上面的公式计算出lθ的下界,Estep是确定Q(z),而M-step则是利用确定的Q(z)以及公式Ni=1zQ(z)lnP(xi,z|θ)Q(z)计算极大似然估计

所以EM算法是:

Repeat untile convergence {

E step:

Q(z)=P(z|xi;θ)

M step:

θ=argmaxθNi=1zQ(z)lnP(xi,z|θ)Q(z)

}

在实际是使用中,Q(z)=P(xi,z|θ)P(xi|θ)θ为t轮迭代的结果,也就是P(xi,z|θt)P(xi|θt)

这时M step θt+1=argmaxθNi=1zQ(z|θt)lnP(xi,z|θt)Q(z|θt)

关于EM算法的收敛性,不再介绍。

关于EM的例子,主要介绍mixture模型,比如gaussian mixture model,接下来整理topic model plsi时,作为对EM实例介绍。

备注:关于为什么引入Q(z),我理解是数学上的技巧,比较好的构造这个形式。通过观察其他的推导过程,最后也是引入Q(z),解释为z的后验概率

from :http://www.hxxiaopei.com/?p=26

 

EM算法(Expectation Maximization)

EM算法(Expectation Maximization) 1 极大似然估计     假设有如图1的X所示的抽取的n个学生某门课程的成绩,又知学生的成绩符合高斯分布f...
  • pi9nc
  • pi9nc
  • 2013年10月03日 10:54
  • 7196

The EM(Expectation–Maximization) Algorithm 详解

在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Lat...
  • daringpig
  • daringpig
  • 2012年10月10日 10:39
  • 9980

EM(Expectation-Maximization)算法

本文对EM(Expectation-Maximization)算法进行了深入浅出的讨论。对于EM算法使用情景、为什么需要EM算法、为什么EM算法如此使用、EM算法使用的合理性等进行了详尽的讨论,相信读...
  • zhangyalin1992
  • zhangyalin1992
  • 2014年11月05日 21:50
  • 7850

Opencv2.4.9源码分析——Expectation Maximization

一、原理   期望极大算法(EM,Expectation Maximization)是一种能够得到极大似然参数估计的迭代方法。虽然EM算法在不同的领域被更早的提出,但它是由Dempster等人于197...
  • zhaocj
  • zhaocj
  • 2016年09月02日 20:10
  • 2438

OpenCV(3)ML库->Expectation - Maximization 算法

最大期望算法(Expectation-maximization algorithm,又译期望最大化算法)在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计。 在统计计算中...
  • sunboyiris
  • sunboyiris
  • 2014年04月03日 10:25
  • 1481

Expectation–Maximization Algorithm

本文主要介绍EM算法的推导思路。
  • qq_17213753
  • qq_17213753
  • 2017年11月12日 10:50
  • 69

十大机器学习算法之最大期望算法(EM,Expectation-Maximization算法)

一、算法简介 最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(latent variable)的概率参数模型...
  • crazyice521
  • crazyice521
  • 2016年11月21日 11:55
  • 638

数据挖掘十大经典算法(5) 最大期望(EM)算法

在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Lat...
  • aladdina
  • aladdina
  • 2009年05月01日 00:11
  • 29869

AI EM 算法 Expectation-maximization algorithm

  • 2010年10月18日 12:11
  • 15KB
  • 下载

EM(expectation maximization)理解以及推导过程

from :http://www.hxxiaopei.com/?p=26 最近在看topic model,引入主题隐含的状态,采用EM算法求解参数,所以先系统了解EM算法,感觉比较抽象,参照...
  • hxxiaopei
  • hxxiaopei
  • 2012年05月29日 11:18
  • 17083
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EM(expectation maximization)理解以及推导过程
举报原因:
原因补充:

(最多只允许输入30个字)