概率论简明教程_Chapter-02_最大似然估计
概率论简明教程_Chapter-02_最大似然估计
本文内容摘自:
https://medium.com/towards-data-science/probability-concepts-explained-maximum-likelihood-estimation-c7b4342fdbb1
参考翻译:链接
1. 什么是参数?
在机器学习中,我们经常使用模型描述从数据中观测结果的过程。例如,我们可能使用随机森林模型来分类客户是否会退订某项服务(称为客户翻转),也可能使用线性模型来基于广告开销预测利润(这将是线性回归的一个例子)。每个模型都包含各自的参数集合,参数集合最终定义了模型是什么样的。
- 例子: 我们可以用 y=mx+cy = mx + cy=mx+c 来表示线性模型。在这个例子中,xxx 可能表示广告开销,yyy 可能表示产生的利润。mmm 和 ccc 是这个模型的参数。不同的参数值将给出不同的曲线(见下图)。
(使用不同参数的3个线性模型)
所以参数定义了模型的蓝图。只有当为参数选择了特定的值时,我们才能得到一个描述特定现象的模型实例。
2. 最大似然估计的直观解释
最大似然估计是一种估计模型参数值的方法。估计的参数值要能使模型所描述的过程产生实际观察到的数据的可能性最大化。
以上的定义可能仍然比较晦涩,所以让我们通过一个例子来理解这一概念。
- 例子: 假定我们从某一过程中观测到了10个数据点。这里的每个数据点表示一个学生回答一道考题的时长。
(我们观测到的10个(假想的)数据点。)
我们首先要决定,哪种模型是描述生成这些数据的最佳模型。这部分非常重要。至少,我们对使用哪种模型要有个概念。这通常源于某些专门的领域知识,不过,我们在这里不讨论这个。
我们假定这些数据生成的过程可以通过高斯(正态)分布描述。从上图我们可以观察到,10个点中的大部分都集中在中间,少数点散布在左侧和右侧,因此,使用高斯分布描述看起来会是一个不错的选择。(仅仅只有10个数据点的情况下就做出这样的决定实在是欠考虑,不过既然我们生成了这些数据点,就姑且这样吧。)
回忆一下,高斯分布有两个参数,均值 μ\muμ 和标注差 σ\sigmaσ。这两个参数的不同值将产生不同的曲线(见下图)。我们想知道哪条曲线最可能生成了我们观测到的10个数据点?。最大似然估计就是寻找拟合数据的最佳曲线的参数 μ\muμ 和 σ\sigmaσ 值的方法。
(10个数据点和可能的高斯分布。f1f1f1是均值为10、方差为2.25(方差等于标准差的平方)的正态分布,记为f1∼N(10,2.25)f1 \sim N(10, 2.25)f1∼N(10,2.25)。f2∼N(10,9)f2 \sim N(10, 9)f2∼N(10,9)、f3∼N(10,0.25)f3 \sim N(10, 0.25)f3∼N(10,0.25) 和 f4∼N(8,2.25)f4 \sim N(8, 2.25)f4∼N(8,2.25)。最大似然的目的是找到参数值,使由这些参数值生成的分布可以最大化观测到数据的概率。)
生成数据的真正分布是f1∼N(10,2.25)f1 \sim N(10, 2.25)f1∼N(10,2.25),也就是上图中蓝色的曲线。
3. 计算最大似然估计
既然我们已经有了对最大似然估计的直觉理解,我们可以继续学习如何计算参数值了。我们将找的值称为 最大似然估计(Maximum likelihood estimation, MLE)。
- 例子:我们假设有3个数据点,产生这3个数据点的过程可以通过高斯分布充分表达。这三个点分别是9、9.5、11。我们如何计算高斯分布的参数 μ\muμ 和 σ\sigmaσ 的最大似然估计呢?
我们想要计算的是观测到的所有数据的全概率,即所有观测到的数据点的联合概率分布。因此,我们需要计算一些条件概率,这可能会很困难。所以,这里我们将做出我们的第一个假设。我们假设每个数据点的生成和其他点是独立的。这一假设让数学计算变得容易很多。因为如果事件(即生成数据的过程)是独立的,那么观测到所有数据的全概率是分别观测到的每个数据点的概率的乘积(即边缘概率的乘积)。
观测到的单个数据点 xxx 的概率密度,即从高斯分布中产生的概率密度由以下公式计算:
P(x;μ,σ)=1σ2πexp(−(x−μ)22σ2)P(x ; \mu, \sigma)=\frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(x-\mu)^{2}}{2 \sigma^{2}}\right) P(x;μ,σ)=σ2π1exp(−2σ2(x−μ)2)
P(x;μ,σ)P(x ; \mu, \sigma)P(x;μ,σ) 中的分号 ;
后面出现的符号是概率分布的参数。而不是条件概率(条件概率通常用竖线分割,例如 P(A∣B)P(A|B)P(A∣B))
在上面的例子中,观测到的3个数据点的全(联合)概率为:
P(9,9.5,11;μ,σ)=1σ2πexp(−(9−μ)22σ2)×1σ2πexp(−(9.5−μ)22σ2)×1σ2πexp(−(11−μ)22σ2)\begin{array}{r} P(9,9.5,11 ; \mu, \sigma)=\frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(9-\mu)^{2}}{2 \sigma^{2}}\right) \times \frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(9.5-\mu)^{2}}{2 \sigma^{2}}\right) \\ \times \frac{1}{\sigma \sqrt{2 \pi}} \exp \left(-\frac{(11-\mu)^{2}}{2 \sigma^{2}}\right) \end{array} P(9,9.5,11;μ,σ)=σ2π1exp(−2σ2(9−μ)2)×σ2π1exp(−2σ2(9.5−μ)2)×σ2π1exp(−2σ2(11−μ)2)
我们只需找出能最大化以上表达式的值的 μ\muμ 和 σ\sigmaσ 的值。
如果你的学过微积分的话,你大概能意识到有一个帮助我们找到函数的最大(最小)值的方法,叫做微分。我们只需找到函数的导数,将导数设为零,重新整理等式,将感兴趣的参数放到等式的左边。看,我们得到了参数的 MLE 值。下面将详细讲解这些步骤,不过会假设大家知道常见的函数如何求导。
3.1 对数似然
实际上,对上面的全概率表达式求导很麻烦。所以,我们基本上总是通过取自然对数对其加以简化。由于自然对数是单调递增函数,所以这么做没问题。单调递增函数意味着随着 xxx 轴的值增加,yyy 轴的值也同样增加(见下图)。这很重要,因为这确保了当概率的对数达到最大值时,原概率函数同样达到最大值。因此我们可以操作简化了的对数似然,而不是原本的似然。
(左:原函数 y=xy = xy=x 的单调性;右:(自然)对数函数 y=ln(x)y = ln(x)y=ln(x) 的单调性。这两个函数都是单调函数,因为随着 xxx 的增加,yyy 的值也响应的增加。)
下图是一个非单调函数的例子。
(非单调函数,因为 xxx 增加时,yyy 的值先增加,接着减少,然后又重新增加。)
对原表达式取对数,我们得到:
ln(P(x;μ,σ))=ln(1σ2π)−(9−μ)22σ2+ln(1σ2π)−(9.5−μ)22σ2+ln(1σ2π)−(11−μ)22σ2\begin{aligned} \ln (P(x ; \mu, \sigma))=\ln \left(\frac{1}{\sigma \sqrt{2 \pi}}\right)-\frac{(9-\mu)^{2}}{2 \sigma^{2}}+\ln \left(\frac{1}{\sigma \sqrt{2 \pi}}\right) &-\frac{(9.5-\mu)^{2}}{2 \sigma^{2}} \\ &+\ln \left(\frac{1}{\sigma \sqrt{2 \pi}}\right)-\frac{(11-\mu)^{2}}{2 \sigma^{2}} \end{aligned} ln(P(x;μ,σ))=ln(σ2π1)−2σ2(9−μ)2+ln(σ2π1)−2σ2(9.5−μ)2+ln(σ2π1)−2σ2(11−μ)2
根据对数定律,上式可以简化为:
ln(P(x;μ,σ))=−3ln(σ)−32ln(2π)−12σ2[(9−μ)2+(9.5−μ)2+(11−μ)2]\ln (P(x ; \mu, \sigma))=-3 \ln (\sigma)-\frac{3}{2} \ln (2 \pi)-\frac{1}{2 \sigma^{2}}\left[(9-\mu)^{2}+(9.5-\mu)^{2}+(11-\mu)^{2}\right] ln(P(x;μ,σ))=−3ln(σ)−23ln(2π)−2σ21[(9−μ)2+(9.5−μ)2+(11−μ)2]
接着,我们需要对以上表达式求导以找到最大值。在这个例子中,我们将寻找均值 μ\muμ 的 MLE。为此,我们求函数关于 μ\muμ 的偏导数:
∂ln(P(x;μ,σ))∂μ=1σ2[9+9.5+11−3μ]\frac{\partial \ln (P(x ; \mu, \sigma))}{\partial \mu}=\frac{1}{\sigma^{2}}[9+9.5+11-3 \mu] ∂μ∂ln(P(x;μ,σ))=σ21[9+9.5+11−3μ]
最后,我们将等式的左半部分设为 000,将 μ\muμ 移动到等式左边,整理后得到:
μ=9+9.5+113=9.833\mu = \frac{9+9.5+11}{3} = 9.833 μ=39+9.5+11=9.833
这样我们就得到了 μ\muμ 的最大似然估计。同理,我们可以求得 σ\sigmaσ 的最大似然估计。
3.2 讨论
a. 最大似然估计总是能以精确的方式解决吗?
短答案是 不。在现实世界的场景中,对数似然函数的导数往往难以解析(也就是说,手工求导太困难甚至不可能)。因此,常使用如最大期望算法之类的迭代计算的方法寻找参数估计的数值解。不过总体思路是一样的。
b. 为什么是最大似然,而不是最大概率?
好吧,这只是统计学家在卖弄学问(不过他们的理由很充分)。大部分人倾向于混用概率和似然,但是统计学家和概率论学者区分了两者。以下等式突显了两者之所以容易混淆的原因:
L(μ,σ;data)=P(data;μ,σ)L(\mu, \sigma; data) = P(data; \mu, \sigma) L(μ,σ;data)=P(data;μ,σ)
这两个表达式是相等的!所以,这意味着什么?
首先,让我们来定义 P(data;μ,σ)P(data; \mu, \sigma)P(data;μ,σ)。它的意思是"基于模型参数 μ\muμ 和 σ\sigmaσ 观测到数据的概率"。值得注意的是,我们可以将其推广到任意数目的参数和任意分布。
而,L(μ,σ;data)L(\mu, \sigma; data)L(μ,σ;data) 的意思是"我们已经观测到一组数据,参数 μ\muμ 和 σ\sigmaσ 取特定值的似然"。
上面两个表达式是相等意味着给定参数得到数据的概率等于给定数据得到参数的似然。然而,尽管两者相等,似然和概率根本上问的是不同的问题——一为数据,一为参数。这就是该方法称做最大似然而不是最大概率的原因。
c. 什么时候最小二乘法和最大似然估计是一样的?
最小二乘法(Least squares minimisation)是另一个估计机器学习模型参数值的常用方法。事实证明,当模型被假定为高斯模型(如上文中的例子)时候,MLE估计等价于最小二乘法。关于两者在数学上的深层渊源,可以参考这些幻灯片。
(带有随机高斯噪声的数据点的回归线。)
直观上,我们可以通过理解两者的目标来解释它们之间的联系。最小二乘法想要找到数据点和回归线之间的距离平方和最小的直线(见上图)。最大似然估计想要最大化数据的全概率。如果数据点符合高斯分布,那么当数据点接近均值时,我们就找到了最大概率。由于高斯分布是对称的,因此这等价于最小化数据点和均值之间的距离。
概率论简明教程_Chapter-02_最大似然估计相关推荐
- 【最大似然估计】详解概率论之最大似然估计
本文收录于<深入浅出讲解自然语言处理>专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅! 个人主页:有梦想的程序星空 个人介绍:小编是人工智能领域硕士,全 ...
- 概率论之极大似然估计
统计的基本任务是以样本推断总体,在很多场合下,总体分布的形式是已知的,需要求得未知参数,这就是数理统计的参数估计问题.参数估计分为两种:一种是点估计,一种是区间估计.前者是用一个适当的统计量作为参数的 ...
- 极大似然估计_计量经济学 | 极大似然估计
写在前面:本文写作于被新冠病毒 (COVID-19) 笼罩下的英国.前段时间本人的恩师.苏格兰老爷爷.英国伯明翰大学Emeritus讲席教授Peter Sinclair确诊新冠病毒,实乃不幸.在此祝P ...
- MATLAB之线性回归,逻辑回归,最小二乘法,梯度下降,贝叶斯,最大似然估计
文章目录 线性回归(定义域(-∞,+∞),值域(-∞,+∞),即输入输出连续) 线性回归/最小平方误差理论 MATLAB之线性回归/最小平方误差 损失函数/代价函数求导法求线性回归 一次拟合求线性系统 ...
- 【数学基础】参数估计之极大似然估计
背景 先来看看几个小例子: 猎人师傅和徒弟一同去打猎,遇到一只兔子,师傅和徒弟同时放枪,兔子被击中一枪,那么是师傅打中的,还是徒弟打中的? 一个袋子中总共有黑白两种颜色100个球,其中一种颜色90个, ...
- 最大似然估计_R初等统计分析(一)——概率分布、最大似然估计
本笔记中原始数据及代码均来源于李东风先生的R语言教程,在此对李东风先生的无私分享表示感谢. R中与xxx分布有关的函数包括: dxxx(x), 即xxx分布的分布密度函数(PDF)或概率函数( ...
- 数学建模层次分析法例题及答案_【热门推荐】影响力意志力创新力、数学建模简明教程...
<影响力•意志力•创新力> 索书号:B848.4-49/1028 作者:邢群麟编著 出版社:浙江工商大学出版社,2018 馆藏地:新馆304室 简介:本书在总结众多成功人士经验的基础上, ...
- ArcGIS Pro 简明教程(4)工具和模型构建器
ArcGIS Pro 简明教程(4)工具和模型构建器 by 李远祥 工具箱中的工具 ArcGIS Pro 在1.3版本基本上已经继承了ArcMap的所有工具,而且会不断加入一些它自身才有的工具,例如适 ...
- ArcGIS Pro 简明教程(3)数据编辑
ArcGIS Pro 简明教程(3)数据编辑 by 李远祥 数据编辑是GIS中最常用的功能之一,ArcGIS Pro在GIS数据编辑上使用习惯有一定的改变,因此,本章可以重点看看一些编辑工具的使用和使 ...
- ArcGIS Pro 简明教程(2)基础操作和简单制图
ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...
最新文章
- 求未知数X最临近的能被某个数字N整除的数
- JS设计模式——3.封装与信息隐藏
- 产品经理必备知识之网页设计系列(三)-移动端适配无障碍设计及测试
- idea 快捷键整理
- linux定时任务实例,linux定时任务访问url实例
- php实例化类的方法,在PHP中实例化类实例的不同方法
- 为什么强烈推荐你使用单表查询?(续篇)
- [ANE for Android]Java接口部分引用第三方JAR的解决办法
- RxJava操作符serialize 笔记-二十六
- 采样方法(二)MCMC相关算法介绍及代码实现
- 校外全局使用校园网,校园网免费下载知网资料
- 计算机视觉学习6_棋盘格_相机模型与参数标定
- 11款Windows必装软件,每一款都非常好用
- python 英语分词_用几十行代码实现python中英文分词
- 空间数据与空间分析不确定性原理——学习笔记(1)
- RFID叉车读写器在智能仓库收发货环节中的应用-铨顺宏
- bgp高防服务器,带你了解什么是用UDP协议攻击
- 计算机在化工专业的应用PPT,计算机在化工中的应用课件
- Java实现字符串倒序输出的四种方法
- 你的微信昵称正在暴露你的性格和状态,你知道吗?
热门文章
- 注册表知识与技巧大全
- 如何在远程桌面连接的服务器上访问本地磁盘
- 使用 wizNote 作为 Metaweblog 客户端 在博客园发布博客
- WebView load**方法 加载资源【总结】
- java算法按指定数量读取集合或数组中的值
- Java爬虫高级教程-动力节点
- openwrt qca9886 ath10k只能连32台设备问题解决
- coreldrawx4缩略图显示不出来_CDR缩略图不显示怎么办?CorelDRAW缩略图不显示解决办法 - 优优下载站...
- 华为ERPS配置步骤
- mnist数据集python导入_Python读取MNIST数据集