转自http://www.ccthere.com/article/1522559 
最大似然法,英文名称是Maximum Likelihood Method,在统计中应用很广。这个方法的思想最早由高斯提出来,后来由菲舍加以推广并命名。

最大似然法是要解决这样一个问题:给定一组数据和一个参数待定的模型,如何确定模型的参数,使得这个确定参数后的模型在所有模型中产生已知数据的概率最大。通俗一点讲,就是在什么情况下最有可能发生已知的事件。举个例子,假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,然后把拿出来的球再放回罐中。这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。假如在前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有可能是多少?

我想很多人立马有答案:70%。这个答案是正确的。可是为什么呢?(常识嘛!这还要问?!)其实,在很多常识的背后,都有相应的理论支持。在上面的问题中,就有最大似然法的支持。

在很久以前的一个下午,自己在图书馆看书,书中讲到了同一独立分布(i.i.d., identical and independent distribution),与概率相关。当时已经听说最大似然法很长时间了,最大似然法在不同场合应用的结论看过不少,但自己还没有真正地学习和应用过。突然想到了上面的例子(类似的例子在自己以后的阅读很常见,当时没有意识到自己到底以前看过类似的例子没有),决定自己动手算一算。

下面会有一些数学,我知道西河比较深,大牛比较多,看了不要见笑。有意见和建议尽管提。

我们假设罐中白球的比例是p,那么黑球的比例就是1-p。因为每抽一个球出来,在记录颜色之后,我们把抽出的球放回了罐中并摇匀,所以每次抽出来的球的颜色服从同一独立分布。这里我们把一次抽出来球的颜色称为一次抽样。题目中在一百次抽样中,七十次是白球的概率是P(Data | M),这里Data是所有的数据,M是所给出的模型,表示每次抽出来的球是白色的概率为p。如果第一抽样的结果记为x1,第二抽样的结果记为x2,。。。那么Data = (x1,x2,...,x100)。这样,
P(Data | M)
= P(x1,x2,...,x100|M)
= P(x1|M)P(x2|M)...P(x100|M)
= p^70(1-p)^30.
那么p在取什么值的时候,P(Data |M)的值最大呢?将p^70(1-p)^30对p求导,并其等于零。
70p^69(1-p)^30-p^70*30(1-p)^29=0。
解方程可以得到p=0.7。
在边界点p=0,1,P(Data|M)=0。所以当p=0.7时,P(Data|M)的值最大。这和我们常识中按抽样中的比例来计算的结果是一样的。

当时,自己推到完这些,心情很高兴,感觉自己理解了最大似然法。接着想到了连续变量。

假如我们有一组连续变量的采样值(x1,x2,...,xn),我们知道这组数据服从正态分布,标准差已知。请问这个正态分布的期望值为多少时,产生这个已有数据的概率最大?
P(Data | M) = ??

求导,u=(x1+x2+...+xn)/n.这个正态分布的期望值,就是这组数据的均值。在我们的日常生活和工作中,我们经常会用到平均值,这是有道理的,可以用最大似然法来解释。如果数据服从正态分布,这是最可能的数据。

当我第一次自己推导出这些的时候,心中有一种豁然开朗、恍然大悟的感觉:最大似然法就这样!

最大似然法原理简单,应用很广。举个例子,这样的情况在生活会经常遇到。假如人们会感染一种病毒,有一种测试方法,在被测试者已感染这个病毒时,测试结果为阳性的概率为95%。在被测试者没有感染这个病毒时,测试结果为阳性的概率为2%。现在,有一个人的测试结果为阳性,问这个人感染了病毒吗?根据最大似然法,如果一个人感染病毒,95%的测试结果会为阳性;而如果这个人没有感染病毒,只有2%的测试结果会为阳性,所以这个人应该是已经感染病毒了。

最大似然法应用广泛,但是经常会受到一种批评,而且对于这种批评,尤其在数据量比较小的时候,最大似然法的支持者没有很多充分的反驳理由:在最大似然法中,只考虑了由一个模型产生一个已知数据的概率,而没有考虑模型本身的概率。相对应的考虑了模型本身概率的方法,是贝叶斯方法(Bayesian method)。

在上面测试病毒的例子中,如果我们知道在整体人群中,只有1%人会感染这种病毒,那么,根据贝叶斯方法,这个被测试者只有1/3左右的可能性感染了病毒{1%*95%/(1%*95%+99%*2%)=32.4%}
在这里,我们看到先验概率对结果的影响很大。

不过,当数据量比较大的时候,先验概率的影响就会减小。比如,人们在被检测出感染了一个严重的病毒后,一般会去其他医院复查。假如同一个人在三家医院进行了独立的检查,结果都是阳性。那么,这个人真正感染了病毒的概率有多大?在这个人感染病毒时,出现这种检测结果的可能性为95%*95%*95% = 85.7%;而在这个人没有感染病毒时,出现这种检测结果的可能性为2%*2%*2% = 0.000008。根据最大似然法,我们应选择这个人感染了病毒。

根据贝叶斯方法,这个人感染病毒的概率为1%*95%*95%*95%/(1%*95%*95%*95%+99%*2%*2%*2%) = 99.9%。

当然,当时自己主要体会了同一独立分布在最大似然法中的要求。在以后的一个应用中,才对“模型已知,参数未定”这一要求有了进一步的认识。

最大似然法 的通俗理解相关推荐

  1. 通俗理解条件熵-数学

    就是决策树里面选划分属性用到的计算 条件熵越小表示划分之后各个集合越纯净 前面我们总结了信息熵的概念通俗理解信息熵 - 知乎专栏,这次我们来理解一下条件熵. 我们首先知道信息熵是考虑该随机变量的所有可 ...

  2. 通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积

    20210609 例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7. https://blo ...

  3. 通俗理解tf.name_scope()、tf.variable_scope()

    前言:最近做一个实验,遇到TensorFlow变量作用域问题,对tf.name_scope().tf.variable_scope()等进行了较为深刻的比较,记录相关笔记: tf.name_scope ...

  4. dft变换的两幅图_离散傅立叶变换DTFT、DFT和FFT在工程与数学结合的通俗理解

    1.离散时间傅里叶变换DTFT 何为DTFT?就是对连续时间非周期信号进行抽样(乘积),得到的离散时间非周期信号再求傅里叶变换的过程就是DTFT.其实等同于信号频谱与脉冲信号频谱的卷积,这样得到的就是 ...

  5. 通俗理解kaggle比赛大杀器xgboost + XGBOOST手算内容 转

    通俗理解kaggle比赛大杀器xgboost    转 https://blog.csdn.net/v_JULY_v/article/details/81410574 XGBOOST有手算内容 htt ...

  6. 通俗理解注意力机制中的Q、K和V表示的具体含义

    https://www.jianshu.com/p/7a61533fd73b 通俗理解讲解一 以翻译为例 source:我 是 中国人 target: I am Chinese 比如翻译目标单词为 I ...

  7. 对于随机森林的通俗理解

    原文:http://blog.csdn.net/mao_xiao_feng/article/details/52728164 对于随机森林的通俗理解 一.决策树 决策树是机器学习最基本的模型,在不考虑 ...

  8. CNN笔记:通俗理解卷积神经网络

    通俗理解卷积神经网络(cs231n与5月dl班课程笔记) http://blog.csdn.net/v_july_v/article/details/51812459 1 前言 2012年我在北京组织 ...

  9. oracle的redo和undo,OracleUndoRedo通俗理解

    OracleUndoRedo通俗理解以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是REDO REDO记录tran ...

  10. bilateral filter双边滤波器的通俗理解

    bilateral filter双边滤波器的通俗理解 图像去噪的方法很多,如中值滤波,高斯滤波,维纳滤波等等.但这些降噪方法容易模糊图片的边缘细节,对于高频细节的保护效果并不明显.相比较而言,bila ...

最新文章

  1. 内存分配策略(二):JMM,Java Memory Model
  2. uniapp中自定义返回和物理返回
  3. SIGIR 2021|用于搜索多样化的意图图建模
  4. Ubuntu安装 AndroidStudio
  5. 排查 Linux 系统故障,看这一篇足够了。
  6. 基础算法 —— 调度问题 —— 流水调度问题
  7. python类库31[使用minidom读写xml]
  8. json同一个参数不同类型_js基础之变量类型
  9. npm install 报错(npm ERR! errno: -4048, npm ERR! code: ‘EPERM‘, npm ERR! syscall: ‘unlink‘,)
  10. 老码农最后都去哪了?
  11. 如何用Uber JVM Profiler等可视化工具监控Spark应用程序?
  12. uibot中级认证试题_喜大普奔丨UiBot中级认证工程师考试上线啦!
  13. mysql数据类型及占用字节数
  14. wx2540h配置教程_AC WX2540H 操作配置 本人小白
  15. 88页《Redis学习文档》,从入门到精通,看这一篇就足够
  16. 用辩证数学解答“缸中之脑”
  17. windows 7 旗舰版 失效key
  18. Minimum supported Gradle version is 4.10.1. Current version is 4.6.
  19. 学校计算机社团面试问题及答案,社团二轮面试题目
  20. 图之深度优先生成森林

热门文章

  1. 整理:几款好用的Markdown编辑器
  2. Linkedin葵花宝典
  3. 小程序菜鸟的父子组件传值、父子组件方法调用的学习
  4. 三款免费好用的Gif制作神器
  5. opencv java 人脸识别_Java OpenCV实现人脸识别过程详解
  6. 英特尔 英特尔 显示器音频_每日新闻摘要:ZombieLoad是对英特尔PC的最新威胁
  7. 项目管理中的小组周报模板
  8. WPF制作简易串口调试助手(上位机部分)
  9. 10多年IT从业者手把手教你备考信息系统项目管理师(简称高项)
  10. R语言 打包流程-采坑无数终有果