<机器学习练习>EM算法

原创 2016年05月31日 00:23:10

一:EM算法介绍

1)算法解释
Expectation-maximization algorithm,期望最大化算法。用于含有不可观察的隐形变量的,概率模型中,并利用参数最大似然估计。

2)计算思想:

因为模型包含隐含的变量,可以看作参数A,同样的对于要估计的其他参数可以看作B,知道B,可以给出求出A,同样的知道A,可以给出最优的参数B。EM算法就是,先假设已知参数B,然后求出A,再用求出的A,去得到新最优B。有点类似于交替方向法。一直到收敛为止。这就涉及到算法收敛性问题。

3)最大似然估计介绍

举例:假设我们需要调查我们学校的男生和女生的身高分布。你在校园里随便地活捉了100个男生和100个女生。男左女右,首先统计抽样得到的100个男生的身高。假设他们的身高是服从高斯分布的。但是这个分布的均值和方差,我们不知道,这两个参数就是我们要估计的。

所有的男生身高服从高斯分布p(xi|θ)=N(μ,σ),且相互独立,现在我们有{x1,x2,x3,…xn}这么多样本,则这么多样本的联合概率密度函数,即其似然函数为
L(θ)=L(x1,x2xn|θ)=ni=1p(xi|θ)
因为这些样本被选中,出现了,那么我们就应该找到最好的参数θ,使得似然函数尽可能的大,也就是尽可能的这100个样本都能选中。那么怎么求最好的参数呢,一般的处理方法是对似然函数取对数,然后求导,令其等于0即可。

所以最大似然函数估计,其思想是:已知某个参数能使这些样本出现的概率最大,我们就没必要去选别的参数,直接把这个参数作为估计的真实值。

4)EM思想介绍:
上例是:我们已知了,这堆样本是属于男生身高的,那堆样本属于女生身高的,所以直接可以利用最大似然估计进行参数的求解。
如果,这两堆样本混到一起,不能分清哪些样本属于男生,哪些样本属于女生,那么应该怎么来估计参数呢?

E步:首先分别假定,男生,女生的正态分布参数:均值和方差。然后把这200个样本,进行分类,对于每个样本当然是分别带入男女概率密度函数里面,求得概率,概率大的属于那一类。
M步:当这些样本经过E步,已经分了两类,一类属于男生,一类属于女生,然后按照最大似然估计,分别求出男生,女生的正态分布参数:均值和方差。当没达到收敛条件时,把参数:均值和方差,带入E步,对样本进行分类。然后再进行M步。直到收敛。

二:EM算法理论

按照上述的理解:对于样本{x1,x2,…xn}。目的是求参数,使得其联合概率密度函数或者说似然函数最大化。其最大似然函数如下:
这里写图片描述

不能直接求导进行计算有两方面:
1:即使取对数后进行求导,依然很难得到解析解。因为式子太过复杂
2:包含隐含的参量,使问题变的复杂。
接下来处理的方法是引用一个新的概率变量:隐含变量z的分布Qi。对于上例可知,隐含的分布是二项分布伯努力分布。
接着对上述问题进行计算:
这里写图片描述
其中最后一项不等式有 Jensen不等式给出。
可以看到,目的是对最大似然取最大,现在只有当其下界不断的增大,不断的进行逼近最大似然值。下界怎么能不断的增大呢,这其实就涉及到EM算法的E步了,不断的调整隐含变量的分布概率值和样本的分布概率值,从而达到逼近下界。

版权声明:本文为博主原创文章,未经博主允许不得转载。

漫谈机器学习经典算法—理解EM算法

公式显示有问题,可移步http://lanbing510.info/2015/11/12/Master-EM-Algorithm.html写在前面EM(Expectation Maximization...
  • lanbing510
  • lanbing510
  • 2015年11月15日 15:46
  • 5232

简单易学的机器学习算法——EM算法

一、EM算法简介 EM算法是期望极大(Expectation Maximization)算法的简称,是一种解决存在隐含变量优化问题的有效方法。...
  • google19890102
  • google19890102
  • 2015年06月12日 14:30
  • 5074

机器学习——EM算法 知识点与面试总结

提出:有时候任务中含有一些不能观察到的隐含变量,样本的产生和隐含变量有关,而求模型的参数时一般用最大似然估计,由于隐变量的存在,所以对似然函数参数求导是求不出来的,这时采用EM算法来求导。 总结:是一...
  • qq_34896915
  • qq_34896915
  • 2017年07月12日 20:09
  • 963

机器学习入门算法及其java实现-EM(Expectation Maxium)算法

EM算法
  • fre0sty
  • fre0sty
  • 2017年10月18日 15:54
  • 220

机器学习笔记(十七)——EM算法的推导

一、Jensen 不等式     在EM算法的推导过程中,用到了数学上的Jensen不等式,这里先来介绍一下。 若Ω是有限集合{x1,x2,…,xn}" role="presenta...
  • chunyun0716
  • chunyun0716
  • 2016年10月22日 12:45
  • 1046

机器学习-->无监督学习-->EM算法

本篇博文将详细总结机器学习里面一个非常重要的算法-EM算法。复习Jensen不等式若f是凸函数 凸函数即割线在函数线的上方。基本Jensen不等式:若,则有上面是针对离散情况,若对于连续情况可以...
  • Mr_tyting
  • Mr_tyting
  • 2017年08月10日 23:19
  • 679

统计机器学习笔记——EM算法及其应用(1)

EM算法的适用场景与简单例子
  • SAJIAHAN
  • SAJIAHAN
  • 2016年11月09日 22:14
  • 2177

【机器学习】手推EM算法

Andrew Wu那门《机器学习》真的是太好了,每次看都有不少新收获,今天打算重新回顾一下EM算法来着,结果看李航的《统计学习方法》发现之前的理解有不少错误,又重新开始研究,结果都不是很明白,看And...
  • haolexiao
  • haolexiao
  • 2017年03月11日 01:49
  • 495

机器学习方法:EM算法

转自:http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.htm EM是我一直想深入学习的算法之一,第一次听说是在NLP课中的HMM...
  • ChelseaForeverLove
  • ChelseaForeverLove
  • 2016年12月16日 09:16
  • 125

(斯坦福机器学习课程笔记)EM算法

=========================JENSEN不等式======================== 若f(x)f(x)是凸函数,即f″(x)=0f^{''}(x)=0,则f(E[x...
  • qq_32231743
  • qq_32231743
  • 2017年03月06日 09:12
  • 298
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:<机器学习练习>EM算法
举报原因:
原因补充:

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