https://www.toutiao.com/a6672959716013900301/

生活实例

我们在生活中就经常应用到最大似然估计的思想。

比如你高中的班主任上课时从教室门缝进行扒头观测,10 次独立观测的结果显示,小明同学睡觉 8 次,听讲 2 次,班主任由此推断小明上课经常不好好听讲,班主任的推断应用的就是极大似然估计的思想。

具体而言,最大似然估计有以下特点。

似然不是概率

什么是概率呢?投掷一枚质地均匀的硬币,正面向上的 概率 是 0.5。

发现了没?在讨论概率的时候,我们并不需要真实地把硬币抛出去。我们讨论的是某种情况发生的可能性。抛掷硬币正面向上的可能性也可以理解为硬币的一个参数。

似然又如何解释?

回想班主任扒头的例子,假设班主任刚开始接触这个班级,对同学们的认识程度为 0。假设小明上课听讲的状态是小明的一个参数,班主任事先不知道这个参数,但是班主任拿到了她的观测结果:在 10 次扒头的独立实验中,有 8 次为没有好好听讲。

于是班主任 通过已知的观测结果(或者是数据),反过来推测小明的参数,这种情形需要用似然来解释。

从公式的角度来看,假设某一事物的参数为 θ,概率是已知参数的情况下,某个随机变量 X 的取值出现的可能性,如 P(X | θ = 这枚硬币质地均匀),而似然函数则是 L(θ | X = 抛掷 2 次 1 次正面向上)。

似然函数如何求解呢?

在最大似然估计中,似然函数被定义为样本观测值出现的概率。

从上面这句话的角度理解,我们很容易得到 L(θ|x) = P(x|θ)。如果从贝叶斯公式的角度来看,似然函数是条件概率的逆反。我们也很容易得到 L(θ|x) = αP(x|θ),其中 α 是任何大于 0 的常数(取 1 即可)。

朴素的最大似然估计

现在,我们使用以下维基百科似然函数这个词条中的例子——抛硬币。

现在已知抛了两次硬币,都是正面朝上,这是已知的观测结果(用 HH 表示,H 是 head 的缩写),我们想据此推论抛掷该硬币正面向上的可能性,即该硬币的参数 θ,即求 L(θ|HH)。

显然,我们根本不知道怎么求L(θ|HH)... 怎么办?假设一下吧。

假设 θ = 0.5,那么有

即 θ = 0.5 时,样本观测值出现的概率为 0.25。

再假设 θ = 0.6,那么有

即 θ = 0.6 时,样本观测值出现的概率为 0.36。

发现了什么问题?当 θ = 0.6 时,样本观测值出现的概率提高了。

如果我们不断假设 θ 并计算样本观测值出现的概率,就能得到如下结果:

其中横轴为 θ,纵轴为样本观测值出现的概率,即似然。

现在回想一下今天的主题:最大似然估计,最大似然,最大...

你可能已经猜到了。最大似然估计的理念就是,看看参数 θ 取多少的时候,样本观测值出现的概率最大?比如上面的例子中,当硬币两面都是正面的时候,我们的观测结果(两次投掷均正面向上)出现的概率最大,那么我们就合理估计:硬币的参数为 θ = P(出现正面) = 1。

所以在最大似然估计当中包含着一个朴素的思想:对于有限次的观测结果,既然该结果能出现到我们面前,我们就简单的认为,这个结果出现的可能性很大,在估计参数的时候,就让这个结果出现的概率最大。

比如说,投掷两次硬币都正面向上,之所以出现这样的结果,是因为这样的结果出现的概率最大,我们希望取到某一个参数 θ,使这样的结果出现的概率最大。也就是取图像中的最大值 1。

同理,3 次投掷硬币,前两次正面向上,第三次反面向上,那么用最大似然估计得到的结果是多少呢?在看下图给出的计算结果之前,不妨先思考一下。

在 θ = P(出现正面) = 2/3 时,似然函数的值最大,根据最大似然估计的思想,我们取参数为 2/3。

大似然估计在机器学习中的应用

为什么最大似然估计能广泛应用在机器学习领域?这其实是一种遗憾:我们想求解的问题中包含的数据往往是无穷无尽的,不可能将这些数据全部获取。

因此只能通过最大似然估计等估计方法,通过已知的,有限个的样本,估计整个无穷无尽的数据集的参数。

当然,这样的估计无可避免会产生误差。比如投掷两次硬币两次均正面朝上的情况,有实际生活经验的我们都知道,2 次实验无法说明任何问题。

大似然估计的计算

上面我们讲的都是投硬币的例子,属于离散分布中的二项分布。对于离散分布,参数离散且有限的情况下,我们确实可以逐一带入尝试,找到最优解。

在机器学习领域我们实际上更经常遇到的是数据服从某种连续分布(如高斯分布),且参数无限的情况。得到似然函数后,为了便于计算,经常要取该函数的对数。求解这种对数似然函数的最大值是一个最优化问题,常用的方法包括梯度下降法,牛顿法等。本文不再做详细介绍。

最大似然估计法在许多机器学习经典模型(如线性回归,逻辑回归)中都有应用。欢迎关注力扣的机器学习专栏,我们会在专栏中奉上其具体的应用细节。

预告:下期机器学习专栏推出的文章内容为「最大似然估计的应用」

互动话题:机器学习专栏已经开播第二期啦!大家的热情都很高涨。在座的小伙伴有想要学习的有关机器学习的内容都可以在评论区留言,力扣会选取点赞最高的留言内容的作为专栏之后的主题内容。

参考资料

https://www.jiqizhixin.com/articles/2018-01-09-6

https://zh.wikipedia.org/wiki/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0

https://zh.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E4%BC%BC%E7%84%B6%E4%BC%B0%E8%AE%A1

本文作者:宫业奇

声明:本文归 “力扣” 版权所有,如需转载请联系。

专栏 | 机器学习 - 最大似然估计相关推荐

  1. 最大似然估计_机器学习最大似然估计

    很早之前接触了费曼学习法,费曼学习法是说"如果你真的想确保你对知识的理解没什么问题,就把它教给非专业的另一个人,如果他能听懂,就说明你真的理解了".前段时间看卷积神经网络时特别想用 ...

  2. 机器学习-极大似然估计

    通俗理解: 就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值!(模型已定,参数未知) 注意: 极大似然估计中所有的采样都是独立的. 最大似然估计求解步骤: 例题: ...

  3. 机器学习基础——先验概率、后验概率和似然估计的讲解;频率派和贝叶斯派之分;以及MLE和MAP方法的解析

    1.先验概率 假定 B 1 , B 2 , - , B n B_1,B_2,\ldots ,B_n B1​,B2​,-,Bn​是某个过程所有可能的前提条件,也就是 B 1 , B 2 , - , B ...

  4. 透彻理解机器学习中极大似然估计MLE的原理(附3D可视化代码)

    文章目录 相关资料 一.什么是概率,什么是似然 二.极大似然估计 Maximum Likelihood Estimation (MLE) 的含义 2.1 机器学习中的极大化似然函数 2.2 极大似然估 ...

  5. 机器学习笔记(四)——最大似然估计

    一.最大似然估计的基本思想 最大似然估计的基本思想是:从样本中随机抽取n个样本,而模型的参数估计量使得抽取的这n个样本的观测值的概率最大.最大似然估计是一个统计方法,它用来求一个样本集的概率密度函数的 ...

  6. 机器学习笔记1.矩估计、极大似然估计。

    1.矩估计 1.1矩估计思想: 矩估计是基于一种简单的"替换"思想,即用样本矩估计总体矩 1.2矩估计理论: 矩估计的理论依据就是基于大数定律的,大数定律语言化表述为:当总体的k阶 ...

  7. 机器学习基础(五)最大似然估计

    最大似然估计 我们希望有些准则可以让我们从不同模型中得到特定函数作为好的估计,而不是猜测某些函数可能是好的估计,然后分析其偏差和方差.最常用的准则是最大似然估计. 接下来是较为枯燥的数学推导,耐心看下 ...

  8. 通俗易懂详解机器学习中的最大似然估计

    讲解前看个例子: 例子(一个场景): 1.一个盒子里有很多小球,颜色有白色(用w表示)和黑色(用b表示). 条件:(1) 盒子里面小球很多,n个. (2) 只有2中颜色的小球 2. 从盒子里取出来10 ...

  9. 机器学习笔记(VII)线性模型(III)对数几率回归和极大似然估计

    背景知识 常见回归模型 线性回归(linear regression): y=wTx+b(1) y=\mathbf{w}^T\mathbf{x}+b\tag{1} 但是有时候预测值会逼近 y \mat ...

最新文章

  1. Android MVC,MVP,MVVM模式入门——重构登陆注册功能
  2. linux的cat命令
  3. 条件运算符?:接受三个操作数,是C#中唯一的三元运算符(转)
  4. c#如何判断字符串是否含中文
  5. python实例[判断操作系统类型]
  6. 《汇编语言》课程设计
  7. OpenAI 发布模型实现自动定理证明,妈妈再也不用担心我的数学?
  8. jdk和jre和jvm区别_JDK,JRE和JVM之间的区别
  9. String StringBuilder StringBuffer
  10. ASP.NET中Session的sessionState 4种mode模式
  11. Linux 的 history 命令显示时间
  12. delphi 侧边栏_Delphi 开发工具各版本官方下载地址
  13. html 取色器插件,jQuery拾色器插件bigcolorpicker
  14. 三层交换机实现不同vlan间通信
  15. win10实现宽带转WiFi
  16. 滴滴打车CTO张博:生死战役,技术和时间赛跑
  17. TIA protal与SCL从入门到精通(2)——EN/ENO 机制
  18. Windows 10 升级软件 Windows 10 易升
  19. thinkphp5常用函数汇总_(thinkPHP)PHP常用函数大全
  20. mysql中vlookup函数_vlookup函数用法示例,如何使用vlookup函数

热门文章

  1. numpy库学习 向量 矩阵 均为有两个[[ ,而秩为1的数组只有一个[ np.array([[]]) 与np.array([])的区别
  2. python set list str转换
  3. JTEXTFIELD
  4. Docker系列 六. Docker 安装 Redis
  5. 《强化学习周刊》第19期:ICCV-2021强化学习的最新研究与应用
  6. 《预训练周刊》第20期:EVA:包含28亿参数的中文预训练对话模型、基于知识融入提示词的文本分类...
  7. Ext JS图书风暴来袭!
  8. Python可变参数
  9. MIT发布首个贝叶斯「数据清洗」机器人!8小时洗200万条数据
  10. 张亚勤:深度学习更近一步,如何突破香农、冯诺依曼和摩尔瓶颈?