1 引入

机器学习中,经常会遇到极大似然估计 (Maximum Likelihood Estimation, MLE) 这个名词,它的含义是什么?它能够解决什么问题?我们该如何理解并使用它?本篇就对此进行详细的阐述和回答。

举一个最简单直观的例子,假设投掷硬币,我们每次投掷的结果只有两种:一正一反,古往今来,无数的实验和直觉告诉我们,投硬币这件事情正反两面的概率就是五五分,即正面概率 0.5,反面概率也是 0.5。

然而,我们怎么知道概率是 0.5 的呢?我们凭什么说就是 0.5,不可以是 0.55 或者 0.48 呢?因为有很多人做过这个实验,投多次硬币,比如投100次,大体上正反两面的次数总是都差不多,因此,我们就 估计 这个事情(投掷为正面)发生的概率为 0.5。

注意,上述的这个思维推理的过程很直觉化,我们人类很多时候对某件事情的判断其实就是这样:多次经历某件事情,比如买水果,我们每次都在看水果的外观来判断该水果是否新鲜可口,久而久之,我们就会发现,拍着清脆欲裂的西瓜有更大的概率会香甜可口,这其实也就是机器学习的基本世界观:从经验到规律。那么换成计算机解决,就是 数据 -> 规则 (Data -> Rule)。

2 极大似然估计的概念

说了这么多,那么极大似然估计到底是什么呢?再来看看我们刚刚说的抛硬币的例子,其实我们并不知道一枚硬币抛出之后正面朝上的客观概率是多少,因为毕竟我们不是上帝,但是我们还是很想知道这个概率的大小,我们唯一的手段就是,做实验,从实验结果的数据中发现这个事件其中的规律。比如,我们抛掷 100 次,发现正面有 52 次,反面有 48 次。此时,这个结果就给我们判断正面的概率提供了一种依据,现在可能有很多人会立刻说:“我知道了,根据这次实验的结果,正面的概率应该是 0.52 !”说的没错,这个论断的思维过程就是概率理论中我们最常看到的一个词 :“估计”。

但是,我们是如何估计的?直觉上,100 次中有 52 次正面,因此我们估计正面概率为 0.52,这似乎很简单直观。但是如果从纯粹的数学理论角度去思考,我们应当给出一个完美的解释。为了能够解释好这种估计的方法,数学家提出了极大似然估计。

极大似然估计的哲学内涵就是:我们对某个事件发生的概率未知,但我们做了一些实验,有过一些对这个事件的经历(经验),那么我们认为,这个事件的概率应该是能够与我们做的实验结果最吻合,当然,前提是我们做的实验次数应当足够多。如果只做一次实验,显然我们就会估计概率为 0 或 1 了。

3 计算

那么,这里的关键问题就是:我们如何确定正面的概率  ,使得其能够与实际的实验结果吻合度最高?这里的事件只有两种结果,因此要求解的概率有两个,即:  和  ,且由于  ,所以我们只需要求解  这一个概率即可。

将问题推广,对于某一实验,我们可能包含多种情况,其中每个实验结果的概率可记为一个集合  :

其中, 

假设我们做了  次实验,则该实验结果出现的概率可计算如下:

例如抛硬币实验,如果我们做了 4 次实验,结果为:正、正、反、反,那么这样的实验出现的概率可计算为:

现在回到我们在对极大似然估计含义的理解,如何确定正面的概率  ,使得其能够与实际的实验结果吻合度最高?其实把这句话说的在明白一些,就是:如何确定正面的概率  ,使得我们此次实验结果的发生概率尽可能大?

在转换为数学语言表达就是:求得一组  ,使得  最大化,数学表达即:

这里,我的表达公式可能与标准的统计学书籍中的表达不一致,为的是通过这样的表达,使其内涵更简单地体现出来,完备的数学表达可参考相关的概率统计书籍。

对于我们刚刚做的 4 次抛硬币实验,即可记为:

这个计算似乎我们能搞定,令  ,设:

则该问题就转化为求:在  取何值时,使得  最大?

该求解问题比较简单,由于  ,且前后两项均为平方项,均为非负数,根据基本不等式:  , 当且仅当  时取等号,则求得当  即:  时,  取得最大值。

因此,在实验结果为 “正、正、反、反”时,我们借助极大似然估计法求得  时,该实验结果发生的概率最大。

4 抓豆子实验

刚刚我们用 4 次抛硬币的实验解释了极大似然估计,由于该问题的计算十分简单,我们再举一个抓豆子的例子来具体说明一下极大似然估计的常用计算手法。

假设我们现在有一个麻袋,里面装了很多豆子,且豆子两种:红豆和绿豆,现在我们想知道这两种豆子各自占得比例是多少。显然我们不可能傻乎乎地一颗一颗的去数,懂概率理论的人会这样做:先把袋子中的豆子摇匀,然后随机地抽若干次豆子,记下抽取的豆子中红豆的个数和绿豆的个数,这样就能知道个大概情况了。

这其实也是极大似然估计的一个很实用地运用案例。现在我们假定抽取了 100 次豆子,其中有 70 个是红豆,30 个是绿豆。同样的,设红豆的比例 (或称抓得红豆的概率) 为  ,则绿豆的比例为  ,那么我们这次实验结果出现的概率为:

 , 其中 

可以看到,这次我们举的例子中指数项很大,无法像前面的那个例子中简单地求解,那么如何求得使得  最大时相应的  取值呢?我们可以使用一个数学中使用非常广泛的对数函数来协助解决,这里,我们设:

我们都知道,函数  是定义在  上的单调增函数,因此加入  函数对函数的极值求解并无影响。

根据对数计算公式  ,得:

再根据对数计算公式  , 得:

这样借助对数函数的数学变换,求解问题一下子变得简单很多。

现在,要求  的极值,我们可以先对其求导,借助  这一求导性质,得:

仔细观察可以发现,  , 当  很小时  , 此时  , 当  逐渐变大时,将会存在  , 即  ,因此,函数  是一个先上升后下降的函数形式,故当  时,  取得最大值。

令:

解得:

  

至此,我们利用极大似然估计求得了红豆的比例最可能为 0.7。原来一个我们平时经常直觉上判断出概率值的思维过程包含了这样一个完整的数学求证推理的过程。深入思考的人可能会发现,实际真实的红豆比例可能并非 0.7,的确,我们只能说很可能在 0.7 左右,因为极大似然估计方法本质上也是一种“估计”,既然叫做估计,肯定会存在偏差,但该中估计策略的基本世界观应该就是我们目前最能够直接认可的一种方式,那就是通过历史经验总结出规律啊。

极大似然估计 —— Maximum Likelihood Estimation相关推荐

  1. 极大似然估计(Maximum Likelihood)与无监督

    1. 极大似然与最大概率 因为不是科班出身,所以最初接触极大似然的时候,总是很奇怪为什么叫极大似然,而不直接叫做最大概率? 后来才知道极大似然是用来估计未知参数的,而最大概率的表述更适合于已知参数的情 ...

  2. 最大似然估计(Maximum likelihood estimation)(通过例子理解)

    之前看书上的一直不理解到底什么是似然,最后还是查了好几篇文章后才明白,现在我来总结一下吧,要想看懂最大似然估计,首先我们要理解什么是似然,不然对我来说不理解似然,我就一直在困惑最大似然估计到底要求的是 ...

  3. 最大似然估计(Maximum likelihood estimation)

    最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:"模型已定,参数未知",利用已知样本结果(统计概率)反推最有可能导致这样结果的参数值.简单而言,假设我们要统计全国人口的 ...

  4. 极大似然估计(Maximum likelihood estimation,MLE):用样本估计总体参数

    1 基本概念回顾 边缘概率.联合概率和条件概率的基本概念. 1.1 定义 边缘概率(Marginal Probability):可以简单理解为单一事件发生的概率.如果A是一个事件,且事件A发生的概率为 ...

  5. 极大似然估计Maximum Likelihood Estimation

    极大似然估计是概率论在统计学的应用,是一种参数估计.说的是已知随机样本满足某种具体参数未知的概率分布,参数估计就是通过若干次试验,利用结果推出参数的大概值.极大似然估计的一种直观想法是已知某个事件发生 ...

  6. 【机器学习算法-python实现】最大似然估计(Maximum Likelihood)

    1.背景 最大似然估计是概率论中常常涉及到的一种统计方法.大体的思想是,在知道概率密度f的前提下,我们进行一次采样,就可以根据f来计算这个采样实现的可能性.当然最大似然可以有很多变化,这里实现一种简单 ...

  7. 均匀分布(uniform distribution)期望的最大似然估计(maximum likelihood estimation)

    maximum estimator method more known as MLE of a uniform distribution [0,θ][0, \theta] 区间上的均匀分布为例,独立同 ...

  8. 机器学习概念:最大后验概率估计与最大似然估计 (Maximum posterior probability and maximum likelihood estimation)

    joey 周琦 假设有参数θ\theta, 观测x\mathbf{x}, 设f(x|θ)f(x|\theta)是变量xx的采样分布,θ\theta是其中的参数.那么θ\theta的最大似然估计可以表示 ...

  9. 最大似然估计(Maximum Likehood Estimation,MLE)和最大后验估计(Maximum A Posteriori estimation, MAP)

    概率与统计的区别 概率研究的问题是一个模型和它的参数已知的情况下,怎么去预测这个模型产生的结果的特性(如均值,方差,协方差等) 统计研究的问题是在已有的大量的数据的情况下,推断产生这堆数据的模型及其参 ...

最新文章

  1. 正定小主人机器人_石家庄正定县2015中小学生机器人运动大赛隆重开幕
  2. c语言程序设计基础程序改错,c程序设计程序改错题_相关文章专题_写写帮文库...
  3. python学习路线-2020年 Python学习路线及学习目标规划 拿走不谢!
  4. Qt C++模版函数示例
  5. SecurityManager安全管理器
  6. ES6的新特性(8)——数组的扩展
  7. SQLServer优化:SQLServer中NOLOCK关键字的用法介绍
  8. 关于c语言的符号常量以下叙述中正确的是,关于C语言的符号常量,以下叙述中正确的是...
  9. SpringMVC数据格式化
  10. Java案例:压缩与解压缩文件
  11. KVM虚拟机添加磁盘空间
  12. ise仿真添加信号_「干货」推荐一款FPGA仿真调试鸟枪换炮的工具
  13. ubuntu 安装、配置、卸载Anaconda3
  14. 华为27asph是什么型号_华为手机原来还有这样神奇的操作?一键了解别人拿你手机做了什么...
  15. c 语言自动关机代码,自动关机 C语言源代码
  16. Python 网络爬虫与数据采集(一)
  17. 谷歌浏览器使用charles抓包localhost
  18. java和3d建模_基于Java3D技术和Swing技术的3D建模开发
  19. python---之scipy.ndimage.measurements.label
  20. exlc表格怎么换行_excel表格怎么换行_excel表格怎么换行上下换行

热门文章

  1. python采用面向对象编程模式吗_在python中,面向对象还有用吗?
  2. excel 文档管理服务器,Excel Server Tutorial
  3. java display属性_JavaScript中的style.display属性操作
  4. mysql数据库基本操作总结与归纳
  5. c语言版票务管理系统,火车票务管理系统(C语言版)【TXT文件,改后缀即可】
  6. linux怎么打开q7后缀的文件,ZQ7 文件扩展名: 它是什么以及如何打开它?
  7. python 图片地址_python解码data:image开头的图片地址
  8. php怎么删除表数据,php怎样删除数据表中的数据_后端开发
  9. java自定义表单系统_表单识别:自定义表单模板无需额外定制
  10. android compile使用方法,自己创建一个android studio在线依赖compile