机器学习---从最大似然估计法到EM算法

最大似然估计 :

这个我们大学学习概率一直用到的东西,其实非常牛逼!

 什么是最大似然估计?
     问题:给定一组观察数据还有一个参数待定的模型,如何来估计这个未知参数呢?

观察数据(x1,y1)......(xn,yn)   待定模型参数为θ,模型为f(x;θ)。这时候可以借助观察数据来估计这个θ。这就是最大似然函数估计。

     举个例子:

        假设我们有一个袋子,里面装着白球和黑球,但是我们不知道他们分别有多少个,这时候需要我们估计每次取出一个球是白球的概率是多少?如何估计呢? 可以通过连续有放回的从袋子里面取一百次,看看是白球还是黑球。假设取100次里面 白球占70次,黑球30次。设抽取是白球的概率为P。 那么一百次抽取的总概率为 p(x;p)

         p(x;p)=p(x1,x2.......x100;θ)=p(x1;θ)*p(x2;θ)........p(x100;θ

  =p70*(1-p)30

那么这时候我们希望可以使这个概率最大。

求导:logp(x;p)=logp70*(1-p)30   另导数为0则可以求出p=0.7(同理可以用到连续变量里面,这时候就是概率密度函数的乘积so easy)

       是不是很简单,对!就是这么简单!其实最大似然估计就是在给定一组数据和一个待定参数模型,如何确定这个模型未知参数,使得这个确定后的参数模型产生的已知数据概率最大。当然这里我只是举了一个只有一个未知参数的估计方法,多个未知参数的做法是一样的,就是求似然函数求导取最大值。其实并不是所有似然函数都可以求导的,当似然函数无法求导时就需要根据定义求使得L(θ)最大的θ。

EM算法 :

相信大家对似然函数已经手到擒来了。那么我们就来看看高深的。

一个概率模型有时候既含有观察变量,有含有隐变量。如果只有观察变量那么我们可以用最大似然法(或者贝叶斯)估计未知参数,但是如果还含有隐变量就不能如此简单解决了。这时候就需要EM算法。

大家可能对这种问题不是很明白,也不太明白隐变量是什么意思。我举个例子(引用统计学习方法的例子):

有3枚硬币分别记为A,B,C,并且出现正面概率分别为p ,q ,k.规则如下:先抛硬币A,如果为正面就选择B,否则选择C,然后再将选择的硬币(B或者C抛),然后观测结果。正面为1 反面为0.独立重复实验10次结果如下:1,1,1,0,0,0,1,1,1,0。我们并不知道抛A硬币时为正面还是方面,只知道最后的结果,问如何估计p,q,k的值?

如果我们知道抛的是哪个硬币就可以使用最大似然估计来估计这些参数,但是我们不知道。因为有p的原因,所以无法估计,这个p就是隐变量

       log(Θ)=Σlogp(x;Θ)=Σlogp(x,p;Θ),Θ就是要求的q,k 待定参数,x为观测数据,因为这个p导致我们无法求解MaxΣlogp(x;Θ)。

还比如说调查 男生 女生身高的问题。身高肯定是服从高斯分布。以往我们可以通过对男生抽样进而求出高斯分布的参数,女生也是,但是如果我们只能知道某个人的高度,却不能知道他是男生或者女生(隐含变量),这时候就无法使用似然函数估计了。这个时候就可以使用EM方法。

分为E和M两步:

E步:

首先通过随机赋值一个我们要求的参数,然后求出另外一个隐含参数的后验概率。这是期望计算过程,我们首先通过随便赋予模型参数的初始值p,q,k,求出各个数据到模型的结果。

M步

用求出来的隐含参数的后验概率进行对传统的似然函数估计,对要求参数进行修正。迭代直到前后两次要求的参数一样为止

其实可以这么简单理解:就是在无监督聚类的时候,我们不知道模型的参数(比如为高斯分布),这时候我们就随便赋值给模型的待定参数(u和ó)。然后我们就可以计算出各个数据分别属于那一类。然后我们用这些分类好的数据重新估计u和ó。

   参考 : http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

      

时间: 2024-10-27 18:37:00

机器学习---从最大似然估计法到EM算法的相关文章

猪猪的机器学习笔记(十四)EM算法

EM算法 作者:樱花猪   摘要: 本文为七月算法(julyedu.com)12月机器学习第十次次课在线笔记.EM算法全称为Expectation Maximization Algorithm,既最大期望算法.它是一种迭代的算法,用于含有隐变量的概率参数模型的最大似然估计和极大后验概率估计.EM算法经常用于机器学习和机器视觉的聚类领域,是一个非常重要的算法.而EM算法本身从使用上来讲并不算难,但是如果需要真正的理解则需要许多知识的相互串联. 引言:      EM算法是机器学习十大经典算法之一.

【机器学习】极大似然估计法

原文链接 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:"模型已定,参数未知".简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知.我们没有人力与物力去统计全国每个人的身高,但是可以通过采样,获取部分人的身高,然后通过最大似然估计来获取上述假设中的正态分布的均值与方差. 最大似然估计中采样需满足一个很重要的假设,就是所有的采样都是独立同分布的.下面我们具体描述一下最大似然估计: 首先,假设为独立同分布的采样,θ为模型参数,

从最大似然到EM算法浅解

原文在这里 机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做很多人做不了的事.那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界上,还吸引了那么多世人的目光. 我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为它很简单,又很复杂.简单在于它的思想,简单在于其仅包含了两个步骤就能完成强大的功能,复杂在于它的数学

机器学习笔记—EM 算法

EM 算法所面对的问题跟之前的不一样,要复杂一些. EM 算法所用的概率模型,既含有观测变量,又含有隐变量.如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法来估计模型参数,但是,当模型含有隐变量时,情况就复杂一些,相当于一个双层的概率模型,要估计出两层的模型参数,就需要换种方法求解.EM 算法是通过迭代的方法求解. 监督学习是由训练数据 {(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))} 学习条件概率分布 P(Y|X) 或决策

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

一.机器学习中的參数预计问题 在前面的博文中,如"简单易学的机器学习算法--Logistic回归"中,採用了极大似然函数对其模型中的參数进行预计,简单来讲即对于一系列样本,Logistic回归问题属于监督型学习问题,样本中含有训练的特征 X_i" title="X_i" >以及标签.在Logistic回归的參数求解中.通过构造样本属于类别和类别的概率: 这样便能得到Logistic回归的属于不同类别的概率函数: 此时,使用极大似然预计便可以预计出模型

opencv3中的机器学习算法之:EM算法

不同于其它的机器学习模型,EM算法是一种非监督的学习算法,它的输入数据事先不需要进行标注.相反,该算法从给定的样本集中,能计算出高斯混和参数的最大似然估计.也能得到每个样本对应的标注值,类似于kmeans聚类(输入样本数据,输出样本数据的标注).实际上,高斯混和模型GMM和kmeans都是EM算法的应用. 在opencv3.0中,EM算法的函数是trainEM,函数原型为: bool trainEM(InputArray samples, OutputArray logLikelihoods=n

机器学习笔记(十)EM算法及实践(以混合高斯模型(GMM)为例来次完整的EM)

今天要来讨论的是EM算法.第一眼看到EM我就想到了我大枫哥,EM Master,千里马,RUA!!!不知道看这个博客的人有没有懂这个梗的.好的,言归正传,今天要讲的EM算法,全称是Expectation maximization,期望最大化.怎么个意思呢,就是给你一堆观测样本,让你给出这个模型的参数估计.我靠,这套路我们前面讨论各种回归的时候不是已经用烂了吗?求期望,求对数期望,求导为0,得到参数估计值,这套路我懂啊,MLE!但问题在于,如果这个问题存在中间的隐变量呢?会不会把我们的套路给带崩呢

关于机器学习-EM算法新解

我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为它很简单,又很复杂.简单在于它的思想,简单在于其仅包含了两个步骤就能完成强大的功能,复杂在于它的数学推理涉及到比较繁杂的概率公式等.如果只讲简单的,就丢失了EM算法的精髓,如果只讲数学推理,又过于枯燥和生涩,但另一方面,想把两者结合起来也不是件容易的事.所以,我也没法期待我能把它讲得怎样.希望各位不吝指导. EM模型 在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参

机器学习十大算法之一:EM算法

机器学习十大算法之一:EM算法.能评得上十大之一,让人听起来觉得挺NB的.什么是NB啊,我们一般说某个人很NB,是因为他能解决一些别人解决不了的问题.神为什么是神,因为神能做很多人做不了的事.那么EM算法能解决什么问题呢?或者说EM算法是因为什么而来到这个世界上,还吸引了那么多世人的目光. 我希望自己能通俗地把它理解或者说明白,但是,EM这个问题感觉真的不太好用通俗的语言去说明白,因为它很简单,又很复杂.简单在于它的思想,简单在于其仅包含了两个步骤就能完成强大的功能,复杂在于它的数学推理涉及到比