草庐IT

极大似然估计

zeronose 2024-03-13 原文

重新梳理一下,之前对极大似然估计的看法还是太浅了。极大似然估计比较简单,关键是弄清思想。

文章目录


前言

之前说到极大似然估计,就会直接举例子说明,例如之前的文章关于GMM中的数学基础中就提到过。
例一,有两个完全一样的箱子,箱子甲中有99个黑球,1个白球,箱子乙中有99个白球,1个黑球。随意取一个球,结果为黑球,问黑球是从哪个箱子中取出的?
关于这个例子,人们猜测是从甲箱子中取出的。因为同样是100个球,但是甲箱子中有99个黑球,而乙箱子中有1个黑球。所以猜测更有可能是从甲箱子中取的。这种 想法就是“最大似然原理”
例二,一个猎人和一个从未打过猎的普通人一起去森林打猎,两人看到一只兔子,一声枪响,兔子死了。问是谁打死的兔子?
关于这个例子,人们的猜测是猎人打死的兔子。因为猎人经常打猎,而普通人没有打过猎。这种猜测就是“最大似然原理”

这样解释还是比较浅,今天从以下几个方面重新看极大似然估计


一、极大似然原理

  1. 假设我们的抽样是理想正确的;
  2. 概率大的事件在一次观测中更容易发生;
  3. 在一次观测中发生了的事件其概率应该大;

这三点非常重要,一定要理解,极大似然估计就是围绕着极大似然原理来的。**结合实际来理解就是,你得到的那些样本,就是概率最大的。**不管你手里的数据是什么,用极大似然的思想,你手里的样本,就是概率最大的样本。

二、解决的问题

极大似然估计是解决概率生成模型的参数估计。
举个例子:如果对全国人身高做一下评估,有一个前提假设是人的身高属于正态分布,在正态分布中我们关心参数为:均值 和方差 ,那如何得到全国人身高的均值和方差呢?如果去挨个测量14亿人的身高其实是不太可能的。我们能做的就是随机的找一些不同年龄段、不同性别的人测量他们的身高,让他们的身高水平代表全国人民的身高水平,然后通过他们对全国人民身高的均值和方差做一下估计,我想这是每个人都能想到的!但是,为什么能让这些人的身高代表全国人的身高呢?
这里用到的就是极大似然的原理,我从全国人中随机抽取了n个人测量身高,对应一、极大似然原理的三条,被抽取的n个人他们的概率一定大,概率大的事件更容易发生。所以我们可以认为,被抽取的n个人的身高,就是全国人们大概率的身高,或者说全国人们的身高,大概率都在被抽取的n个人身高中。这样我就可以用这n个人的身高来代替全国人的身高。
现在我知道抽取的这n个人的概率一定是最大的了,且假设全国人身高服从正太分布,想知道这个正态分布就需要求它的均值和方差。这里均值跟方差就是我们想求解的未知参数,这个均值和方差我们就可以用极大似然估计来求。
已知正态分布的概率密度函数为:

求解步骤为:
step1 计算似然函数:

step2 似然函数取对数:

step3 求最值对应的参数:

令:

step4得到估计参数:


总结

在机器学习和深度学学习中由于给定的样本总是有限,所以我们希望用有限的样本数据的经验分布来代替真实数据的分布。概率生成模型的本质也就是通过有限的样本数据进行训练,得到生成模型,生成模型生成的数据最后全都符合真实数据的分布。

有关极大似然估计的更多相关文章

  1. YOLO v5 代码精读(1) detect模块以及非极大值抑制 - 2

    目录 YOLO简介argpares模块detect模块导入部分主函数main()run()资源处理for循环输出结果 YOLO简介YOLO是目前最先进的目标检测模型之一,现在博客上常有的是如何使用YOLO模型训练自己的数据集,而鲜有对YOLO代码的精读。我认为只有对算法和代码实现有全面的了解,才能将YOLO使用的更加得心应手。这里的代码精读为YOLO v5,github版本为6.0。版本不同代码也会有所不同,请结合源码阅读本文。本文使用注释完成对每行代码的解读,文段来概括总结每个代码段。yolov5代码6.0版本github代码地址argpares模块在了解yolov5代码之前,首先要了解py

  2. javascript - 如何使用 D3.js 实现 R 核密度估计图? - 2

    这是我的R代码:x我正在尝试使用D3.js或任何其他等效的JavaScript库实现相同的结果..有人可以帮忙吗? 最佳答案 你见过kerneldensityestimation吗?例子?不可否认,它使用的是Epanechnikov内核而不是Gaussian,但是那部分可以修改。 关于javascript-如何使用D3.js实现R核密度估计图?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

  3. 计算机视觉实践之角点检测--Python实现--sobel滤波--Harris矩阵--角点检测器R--非极大值抑制 - 2

    文章目录前言一、方法原理1.Harris角点检测2.Sobel滤波3.角点响应函数R二、代码实现1.**main函数**2.**corner_detect函数**三、结果对比1.不同检测方法(对比一下使用角点检测器R与H矩阵最小特征值)2.不同超参数k(使用角点检测器R,改变k值)3.非最大值抑制(对3x3的邻域范围内非最大值抑制)四、参考资料前言实现对图像的角点检测,编写Python程序能够对输入图像进行角点检测,并返回角点检测的结果,并且在可视化显示输出结果。而具体的文件和代码,在如下链接里:计算机视觉实践之角点检测Python实现使用的是pycharm,提前导入numpy和opencv库

  4. javascript - 如何使用 JavaScript 估计字符串的磁盘大小? - 2

    我需要尝试估计JavaScript中文本字符串(可以是原始文本或图像/音频等的Base64编码字符串)的DISK大小。我不确定如何估计这个。谷歌搜索时我唯一能找到的是.length所以我想也许StackOverflow上的某个人可能知道......我需要知道的原因是我有一个localStorage脚本需要(或希望拥有)检查用户何时接近他的5MB(或IE中的10MB)配额并提示他们增加最大大小的能力对于域。因此,如果用户点击4.5MB的数据,它会提示You'renearingyourbrowsers5MBdatacap.Pleaseincreaseyourmaxdataby...[ins

  5. javascript - 使用 Dropbox 的 zxcvbn 密码强度估计器 - 2

    我正在尝试获取zxcvbn,Dropbox'spasswordstrengthestimator,正常工作...但我遇到了一些问题!我已经包含了异步加载器。我的下一个问题是我对JS的了解不够,无法弄清楚如何实际使用这个东西....它是否用作该领域的某种监视器?感谢您的帮助,我还在学习JS/jQuery... 最佳答案 Laaalaalaa...$('#password').keyup(function(){vartextValue=$(this).val();varresult=zxcvbn(textValue);$('#resul

  6. c# - 努力估计 : using C/Win32 or learning C#/. NET - 2

    我打算编写一个小应用程序来解决个人的痛处,并可能让一些同事的生活更轻松。这是我所拥有的:10年以上C语言经验从Win3.1到2000天,在使用C语言针对Win16/32API进行编程方面拥有丰富的经验。我自己编写的C库已经完成了应用程序应完成的大约75%。应用程序应该做什么:打开二进制文件,将其输入上述库。获取生成的文本输出并将其输入到新的Excel工作簿中。应用一些格式。与Windows环境很好地集成(在“打开方式...”中可用,记住一些使用注册表等的东西)(可能稍后)在将CSV数据提供给Excel之前,通过在XML文件中查找某些值的含义来解析它。除了XML解析部分外,在将COM/O

  7. xml - 您如何衡量/估计 XML 编程工作的规模? - 2

    背景设定——我从事的行业中几乎所有的事情都喜欢估算和跟踪。我们的关键指标之一是SLOC(源代码行-声明和可执行语句)。我们将其用于项目规模和成本估算、项目规划以及许多其他事情。我们尝试用它来比较苹果与苹果(即,我们不将一种语言/领域的SLOC与另一种语言/领域的SLOC进行比较)。注意:我们不会根据此指标评估个别开发人员,也不会仅仅因为SLOC与预期不同就称其为错误或不好。然而,我们确实认为一个项目有更多的SLOC可能也有更多的错误。最近,我开始从事使用库代替手工编码组件的项目-例如JSF代替JSP,Hibernate代替JDBC等。所以...而不是编写代码行,我们的团队正在开发XML

  8. 概率和似然 - 2

    在日常生活中,我们经常使用这些术语。但是在统计学和机器学习上下文中使用时,有一个本质的区别。本文将用理论和例子来解释概率和似然之间的关键区别。概率与似然假设在一场棒球比赛中,两队的队长都被召集到场上掷硬币。获胜的队长将根据掷硬币的结果选择先击球还是先投球。现在,获胜的队长选择先击球的概率是多少?我们现在知道只有两种可能的结果:获胜的队长决定先投球或开始击球。获胜的队有50%的几率会选择先击球。评论员现在正在讨论获胜队长选择首先在击球的可能性。在实际中这个数字可能不到50%,因为选择先击球会受球场类型、天气、对方球队等因素的影响。比如说如果比赛前下了大雨,决定先击球的可能性会低至1%。如果天气条

  9. 使用ESPRIT,LS-ESPRIT,Music以及Root-Music四种算法进行角度估计matlab仿真 - 2

    目录一、理论基础二、核心程序三、测试结果一、理论基础1.1ESPRIT    ESPRIT算法全称为:EstimationofSignalParametersusingRotationalInvarianceTechniques.与Root_MUSIC算法相同,也是一种参数估计技术。ESPRIT算法在旋转矢量中,一个元素上的信号来源于更早期元素信号的相移。ESPRIT推导如下:1.2LS-ESPRIT     基于ESPRIT有两种经典的方法:最小二乘(LS)法和总体最小二乘(TLS)法。其推导过程如下所示:1.3Music    MUSIC(MultipleSignalClassificat

  10. 关于机器人状态估计(10)-VSLAM与VIO的3D建图,重定位与世界观综述 - 2

    近期我国迎来了cov海啸,其实我也不知道我羊了没有,但并没有什么不舒服同时因为我没有测,那自然是没有羊,或者是薛定谔的羊。近年另外一块工作的综述,这篇科普的同时,也会包含部分有价值的信息。一.摘要:本文重点描述VSLAM与VIO的3D建图,重定位,回环与世界观,从小伙伴们最关心的工程和商用搞钱的角度进行详细分析,并从技术和实现部分详细描述各种类型SLAM在这块的差异。首先来4个基础逻辑:1.SLAM本质是数学问题,是一个科学家与工程师可以控制的数学问题,本质不是玄学,实现需要大量的数学知识与工具,需要极强的代码功底与硬软件开发能力。2.无论对SLAM系统如何分割,建图仍是位姿估计的副产品。3.

随机推荐