1. 最大似然估计的理解

最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种参数估计方法,如果不理解这两种方法的思路,很容易弄混它们。下文将详细说明MLE和MAP的思路与区别。

但别急,我们先从概率和统计的区别讲起。

概率和统计是一个东西吗?

概率(probabilty)和统计(statistics)看似两个相近的概念,其实研究的问题刚好相反。

概率研究的问题是,已知一个模型和参数,怎么去预测这个模型产生的结果的特性(例如均值,方差,协方差等等)。 举个例子,我想研究怎么养猪(模型是猪),我选好了想养的品种、喂养方式、猪棚的设计等等(选择参数),我想知道我养出来的猪大概能有多肥,肉质怎么样(预测结果)。

统计研究的问题则相反。统计是,有一堆数据,要利用这堆数据去预测模型和参数。仍以猪为例。现在我买到了一堆肉,通过观察和判断,我确定这是猪肉(这就确定了模型。在实际研究中,也是通过观察数据推测模型是/像高斯分布的、指数分布的、拉普拉斯分布的等等),然后,可以进一步研究,判定这猪的品种、这是圈养猪还是跑山猪还是网易猪,等等(推测模型参数)。

一句话总结:概率是已知模型和参数,推数据。统计是已知数据,推模型和参数

显然,MLE和MAP都是统计领域的问题。它们都是用来推测参数的方法。为什么会存在着两种不同方法呢? 这需要理解贝叶斯思想。我们来看看贝叶斯公式。

                                           【式1】

贝叶斯公式看起来很简单,无非是倒了倒条件概率和联合概率的公式。

把B展开,可以写成:

                【式2】

其中(∼A表示”非A”)

这个式子就很有意思了。想想这个情况。一辆汽车(或者电瓶车)的警报响了,你通常是什么反应?有小偷?撞车了? 不。你通常什么反应都没有。因为汽车警报响一响实在是太正常了!每天都要发生好多次。本来,汽车警报设置的功能是,出现了异常情况,需要人关注。然而,由于虚警实在是太多,人们渐渐不相信警报的功能了。

贝叶斯公式就是在描述,你有多大把握能相信一件证据?(how much you can trust the evidence)

我们假设响警报的目的就是想说汽车被砸了。把A计作“汽车被砸了”,B计作“警报响了”,带进贝叶斯公式里看。我们想求等式左边发生A|B的概率,这是在说警报响了,汽车也确实被砸了。汽车被砸引起(trigger)警报响,即B|A。但是,也有可能是汽车被小孩子皮球踢了一下、被行人碰了一下等其他原因(统统计作∼A),其他原因引起汽车警报响了,即B|∼A。那么,现在突然听见警报响了,这时汽车已经被砸了的概率是多少呢(这即是说,警报响这个证据有了,多大把握能相信它确实是在报警说汽车被砸了)?想一想,应当这样来计算。用警报响起、汽车也被砸了这事件的数量,除以响警报事件的数量(这即【式1】)。进一步展开,即警报响起、汽车也被砸了的事件的数量,除以警报响起、汽车被砸了的事件数量加上警报响起、汽车没被砸的事件数量(这即【式2】)。

再思考【式2】。想让P(A|B)=1P(A|B)=1,即警报响了,汽车一定被砸了,该怎么做呢?让P(B|∼A)P(∼A)=P(B|∼A)P(∼A)=0即可。很容易想清楚,假若让P(∼A)=0P(∼A)=0,即杜绝了汽车被球踢、被行人碰到等等其他所有情况,那自然,警报响了,只剩下一种可能——汽车被砸了。这即是提高了响警报这个证据的说服力。

从这个角度总结贝叶斯公式:做判断的时候,要考虑所有的因素。 老板骂你,不一定是你把什么工作搞砸了,可能只是他今天出门前和太太吵了一架。

再思考【式2】。观察【式2】右边的分子,P(B|A)P(B|A)为汽车被砸后响警报的概率。姑且仍为这是1吧。但是,若P(A)P(A)很小,即汽车被砸的概率本身就很小,则P(B|A)P(A)P(B|A)P(A)仍然很小,即【式2】右边分子仍然很小,P(A|B)P(A|B) 还是大不起来。 这里,​P(A)P(A)即是常说的先验概率,如果A的先验概率很小,就算P(B|A)P(B|A)较大,可能A的后验概率P(A|B)P(A|B)还是不会大(假设P(B|∼A)P(∼A)P(B|∼A)P(∼A)不变的情况下)。

从这个角度思考贝叶斯公式:一个本来就难以发生的事情,就算出现某个证据和他强烈相关,也要谨慎。证据很可能来自别的虽然不是很相关,但发生概率较高的事情。 发现刚才写的代码编译报错,可是我今天状态特别好,这语言我也很熟悉,犯错的概率很低。因此觉得是编译器出错了。别,还是先再检查下自己的代码吧。

似然函数

似然(likelihood)这个词其实和概率(probability)是差不多的意思,Colins字典这么解释:The likelihood of something happening is how likely it is to happen. 你把likelihood换成probability,这解释也读得通。但是在统计里面,似然函数和概率函数却是两个不同的概念(其实也很相近就是了)。

对于函数:P(x|θ)

输入有两个:x表示某一个具体的数据;θ表示模型的参数。

如果θ是已知确定的,x是变量,这个函数叫做概率函数(probability function),它描述对于不同的样本点x,其出现概率是多少。

如果x是已知确定的,θ是变量,这个函数叫做似然函数(likelihood function), 它描述对于不同的模型参数,出现x这个样本点的概率是多少。

最大似然估计(MLE):一种给定观察数据来评估模型参数的方法

利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值!

最大似然估计中采样需满足一个重要的假设,就是所有的采样都是独立同分布的!!!

例子1:

假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我 们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,然后把拿出来的球 再放回罐中。这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。假如在前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有可能是多少?

很多人马上就有答案了:70%。而其后的理论支撑是什么呢?

我们假设罐中白球的比例是p,那么黑球的比例就是1-p。因为每抽一个球出来,在记录颜色之后,我们把抽出的球放回了罐中并摇匀,所以每次抽出来的球的颜 色服从同一独立分布。

这里我们把一次抽出来球的颜色称为一次抽样。题目中在一百次抽样中,七十次是白球的,三十次为黑球事件的概率是P(样本结果|Model)。

如果第一次抽象的结果记为x1,第二次抽样的结果记为x2....那么样本结果为(x1,x2.....,x100)。这样,我们可以得到如下表达式:

P(样本结果|Model)

  = P(x1,x2,…,x100|Model)

  = P(x1|Model)P(x2|Model)…P(x100|Model)

  = p^70(1-p)^30.

好的,我们已经有了观察样本结果出现的概率表达式了。那么我们要求的模型的参数,也就是求的式中的p。

那么我们怎么来求这个p呢?

不同的p,直接导致P(样本结果|Model)的不同。

好的,我们的p实际上是有无数多种分布的。如下:

那么求出 p^70(1-p)^30为 7.8 * 10^(-31)

p的分布也可以是如下:

那么也可以求出p^70(1-p)^30为2.95* 10^(-27)

那么问题来了,既然有无数种分布可以选择,极大似然估计应该按照什么原则去选取这个分布呢?

答:采取的方法是让这个样本结果出现的可能性最大,也就是使得p^70(1-p)^30值最大,那么我们就可以看成是p的方程,求导即可!

那么既然事情已经发生了,为什么不让这个出现的结果的可能性最大呢?这也就是最大似然估计的核心。

我们想办法让观察样本出现的概率最大,转换为数学问题就是使得:

p^70(1-p)^30最大,这太简单了,未知数只有一个p,我们令其导数为0,即可求出p为70%,与我们一开始认为的70%是一致的。其中蕴含着我们的数学思想在里面。

例子2:

假设我们要统计全国人民的年均收入,首先假设这个收入服从服从正态分布,但是该分布的均值与方差未知。我们没有人力与物力去统计全国每个人的收入。我们国家有10几亿人口呢?那么岂不是没有办法了?

不不不,有了最大似然估计之后,我们可以采用嘛!我们比如选取一个城市,或者一个乡镇的人口收入,作为我们的观察样本结果。然后通过最大似然估计来获取上述假设中的正态分布的参数。

有了参数的结果后,我们就可以知道该正态分布的期望和方差了。也就是我们通过了一个小样本的采样,反过来知道了全国人民年收入的一系列重要的数学指标量!

那么我们就知道了极大似然估计的核心关键就是对于一些情况,样本太多,无法得出分布的参数值,可以采样小样本后,利用最大似然估计获取假设中分布的参数值。

例子3:

假设有一个造币厂生产某种硬币,现在我们拿到了一枚这种硬币,想试试这硬币是不是均匀的。即想知道抛这枚硬币,正反面出现的概率(记为θ)各是多少?

这是一个统计问题,回想一下,解决统计问题需要什么? 数据!

于是我们拿这枚硬币抛了10次,得到的数据(x0)是:反正正正正反正正正反。我们想求的正面概率θ是模型参数,而抛硬币模型我们可以假设是 二项分布。

那么,出现实验结果x0(即反正正正正反正正正反)的似然函数是多少呢?

注意,这是个只关于θ的函数。而最大似然估计,顾名思义,就是要最大化这个函数。我们可以画出f(θ)的图像:

可以看出,在θ=0.7时,似然函数取得最大值。当然对f(θ)求导=0,也可直接得出θ=0.7。

这样,我们已经完成了对θ的最大似然估计。即,抛10次硬币,发现7次硬币正面向上,最大似然估计认为正面向上的概率是0.7。

且慢,一些人可能会说,硬币一般都是均匀的啊! 就算你做实验发现结果是“反正正正正反正正正反”,我也不信θ=0.7。

这里就包含了贝叶斯学派的思想了——要考虑先验概率。 为此,引入了最大后验概率估计。

最大后验概率估计

最大似然估计是求参数θ, 使似然函数P(x0|θ)最大。最大后验概率估计则是想求θ使P(x0|θ)P(θ)最大。求得的θ不单单让似然函数大,θ自己出现的先验概率也得大。 (这有点像正则化里加惩罚项的思想,不过正则化里是利用加法,而MAP里是利用乘法)

MAP其实是在最大化,不过因为x0是确定的(即投出的“反正正正正反正正正反”),P(x0)是一个已知值,所以去掉了分母P(x0)(假设“投10次硬币”是一次实验,实验做了1000次,“反正正正正反正正正反”出现了n次,则P(x0)=n/1000。总之,这是一个可以由数据集得到的值)。最大化P(θ|x0)的意义也很明确,x0已经出现了,要求θ取什么值使P(θ|x0)最大。顺带一提,P(θ|x0)即后验概率,这就是“最大后验概率估计”名字的由来。

对于投硬币的例子来看,我们认为(”先验地知道“)θ取0.5的概率很大,取其他值的概率小一些。我们用一个高斯分布来具体描述我们掌握的这个先验知识,例如假设P(θ)为均值0.5,方差0.1的高斯函数,如下图:

则P(x0|θ)P(θ)的函数图像为:

注意,此时函数取最大值时,θ取值已向左偏移,不再是0.7。实际上,在θ=0.558时函数取得了最大值。即,用最大后验概率估计,得到θ=0.558

最后,那要怎样才能说服一个贝叶斯派相信θ=0.7呢?你得多做点实验。如果做了1000次实验,其中700次都是正面向上,这时似然函数为:

如果仍然假设P(θ)P(θ)为均值0.5,方差0.1的高斯函数,P(x0|θ)P(θ)的函数图像为:

在θ=0.696处,P(x0|θ)P(θ)取得最大值。

这样,就算一个考虑了先验概率的贝叶斯派,也不得不承认得把θ估计在0.7附近了。

要是遇上了顽固的贝叶斯派,认为P(θ=0.5)=1,那就没得玩了。 无论怎么做实验,使用MAP估计出来都是θ=0.5θ=0.5。这也说明,一个合理的先验概率假设是很重要的。(通常,先验概率能从数据中直接分析得到)

最大似然估计和最大后验概率估计的区别

相信读完上文,MLE和MAP的区别应该是很清楚的了。MAP就是多个作为因子的先验概率P(θ)。或者,也可以反过来,认为MLE是把先验概率P(θ)认为等于常数,即认为θ是均匀分布。

2. 最大似然估计的求解

最大似然估计:对于一个给定的样本集,挑选使得P(x;θ)能够达到最大时的参数 作为θ的估计值,使得:

这里只分析L可导的情况。极值点通常是在导数等于0的点取得,因此可以通过下式求得θ:

如果θ是n维向量,则:

对于一些特殊的密度函数(比如指数密度函数)来说,直接求dL/dθ太过繁琐,由于L与lnL在同一θ处取到极值,所以也经常使用:

 例子1:

  设样本的总体分布率为:P{X=x}=p^x(1-p)^(1-x),求p在观察样本{ x1, x2, …, xn }下的最大似然估计量。

  

  这里只不过是把θ用p表示,现在我们做一下替换,变成熟悉的形式:

  L(θ)是θ的指数形式,换成对数更为简单:

  根据对数的基本公式继续计算:

示例2

  总体样本服从参数为λ的指数分布,{x1, x2, …, xn}是观察样本,求λ的最大似然估计值。

  总体样本的概率密度是:

 
 

最大似然估计和最大后验概率估计的理解与求解相关推荐

  1. 详解最大似然估计、最大后验概率估计及贝叶斯公式

    最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种 ...

  2. 机器学习:最大似然估计与最大后验概率估计

    在机器学习领域,概率估计是经常用到的一种模型,而概率估计中,我们经常会看到两种估计模型,一种是最大似然估计,即 Maximum likelihood, 另外一种就是最大后验概率估计,即 Maximum ...

  3. 最大似然估计、最大后验概率估计和贝叶斯估计

      本内容主要介绍概率论与统计学相关基础知识,主要涉及 联合概率.边缘概率和条件概率:贝叶斯公式.先验概率.后验概率和似然函数:最大似然估计.最大后验概率估计和贝叶斯估计 等.为机器学习中的贝叶斯分类 ...

  4. 最大似然估计和最大后验概率估计的区别

    最大似然估计(MLE) 1.似然函数:L(θ|x)=P(X=x|θ) ①物理意义:某次实验,θ取不同值时,出现X=x的结果的概率: ②似然函数是参数(θ)的函数: ③似然函数是条件转移概率. 例1:设 ...

  5. 贝叶斯估计、最大似然估计、最大后验概率估计的区别

    似然函数和概率函数(很重要) 这个式子有两种解读方法: 把 theta 看成常量,而 x 为变量,此时式子为概率函数,表示在不同 x 出现的概率. 把 x 看成常量,theta 看成变量,此时式子为似 ...

  6. 贝叶斯公式的对数似然函数_贝叶斯估计、最大似然估计、最大后验概率估计

    贝叶斯估计.最大似然估计(MLE).最大后验概率估计(MAP)这几个概念在机器学习和深度学习中经常碰到,读文章的时候还感觉挺明白,但独立思考时经常会傻傻分不清楚(

  7. 理解极大似然估计与最大后验概率估计

    文章目录 概率和统计 贝叶斯公式 似然函数 最大似然估计 最大后验概率估计 最大似然估计和最大后验概率估计的区别 最大似然估计的一个例子 参考链接 概率和统计 概率(probabilty)和统计(st ...

  8. 贝叶斯分类、极大似然估计和最大后验概率估计的一些概念

    朴素贝叶斯分类算法:https://zhuanlan.zhihu.com/p/26262151 极大似然估计:https://blog.csdn.net/zengxiantao1994/article ...

  9. 最大似然估计和最大后验概率

    http://www.cnblogs.com/liliu/archive/2010/11/22/1883702.html 1. 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:" ...

最新文章

  1. python3 字符串 列表 字典 转换
  2. Thrust快速入门教程(二)——Vector的使用
  3. ML之FE:基于自定义数据集(银行客户信息贷款和赔偿)对比实现特征衍生(手动设计新特征、利用featuretools工具实现自动特征生成)
  4. 嵌入式_makefile简单语法介绍
  5. 小谈Online-game服务器端设计(3)
  6. 实现自动文本摘要(python,java)
  7. Spark中 RDD之coalesce与repartition区别
  8. Ubuntu中octopress安装
  9. C语言求字符串并集,怎样用c语言写求集合的交集,并集,补集”这个程序?
  10. php完整系统由哪几部分,一个完整的物联网系统由哪些部分组成,各有什么功能?...
  11. sip协议详解_SIP协议是什么 SIP协议实现机制介绍【详解】
  12. magick++配置
  13. Science | 再野化植物微生物组——作物祖先微生物群可能为提高可持续的粮食生产提供了一种方法...
  14. 如何简单地实现小程序分享页拥有返回首页按钮
  15. 往事如烟 - 梧桐叶落
  16. 2021 最新 Win10 MySQL 安装教程
  17. 我的Qt作品(1)高仿海康威视MVS主界面
  18. AES解密控制台中文乱码问题
  19. 非易失性NV-SRAM简介
  20. 安卓自定义view中 绘画基本图形点线面,矩形,方形,圆,扇形,文字及沿着特定方向布局,自定义圆角ImageView图片等等相关api使用方法及举例

热门文章

  1. 探索 ASP.NET Futures (Part 2 - Search Enabled)
  2. 机器学习(Machine Learning)- 吴恩达(Andrew Ng)-学习笔记
  3. Packet for query is too large
  4. LeetCode-38 报数
  5. 遍历一个数据去掉最后一个元素的样式
  6. Linux云服务器安装node.js
  7. SpringBoot集成Beetl模板引擎之入门案例
  8. ubuntuKylin17.04重装KDE
  9. Zabbix 3.0 部署监控 [三]
  10. WinForm窗体拖动代码