概率论之概念解析:极大似然估计

【导读】本文是数据科学家Jonny Brooks-Bartlett概率论基础概念系列博客中的“极大似然估计”一章,主要讲解了极大似然估计的若干概念。分别介绍了参数、直观理解极大似然估计、极大似然估计计算方法、极大似然估计与最小二乘法的区别、极大似然与极大概率的区别,作者层层递进、由浅及深地带我们揭开极大似然估计的神秘面纱,如果你对其概念和算法仍然有所迷惑,那么这篇文章或将给你带来更深的理解。专知内容组编辑整理。

Probability concepts explained: Maximum likelihood estimation

▌简介


这次我将介绍参数估计的极大似然法,并且使用一个简单的例子来解释这一方法。某些内容需要一些基础的概率概念,例如联合概率和事件独立的定义。我已经写了有关这些预备知识的博客,https://medium.com/@jonnybrooks04/probability-concepts-explained-introduction-a7c0316de465,如果你觉得需要补习的话可以先阅读一下。

▌什么是参数?


通常在机器学习中,我们使用一个模型来描述我们看到的数据。例如,我可能用一个随机森林模型来分析用户是否可能取消服务的订阅(被称作客户流失模型churn modelling),或者使用一个线性模型,根据公司在广告上的花费来预测他们的收益(这将是线性回归的一个例子)。每个模型都有自己的一组参数,最终决定了模型的质量。

对于线性模型,可以写成

。在这个例子中,x可以代表广告花费,y可以代表产生的收益,m和c是模型的参数,这些参数不同的取值会得到不同的线(看下面这幅图)。

所以,参数决定了模型的形状。只有当我们选择了一个具体的参数值后,才得到了一个描述给定现象的实例化模型。

▌极大似然估计的直观解释


极大似然估计是估计模型参数的一种方法。通过最大化模型得到最终的参数值。

上面的定义看起来有些晦涩,所以我们用一个例子来辅助理解。

假设我们有10个观测数据点,例如,每个数据点可以表示时间的长度,代表某个学生解答某个具体的考试题所消耗的时间(ms)。这10个数据点可以用下图来表示:

我们首先必须明确采用什么模型能很好地描述这些数据,这是非常重要的。起码我们得对使用什么模型有一个好想法,这一想法经常来源于某些领域的专业知识,不过我们不在这里讨论。

对于这些数据,我们假设可以用一个高斯(正态)分布来描述。看看上面这个图感觉高斯分布似乎很合理,因为10个点中很多都聚集在中间,少部分点散布在左右(对10个数据点做这种草率的决定是不推荐的,不过这些数据是我生成的,所以我们就暂且按照高斯分布来讲解)。

高斯分布具有两个参数:均值和标准差σ。不同的参数取值会导致不同的曲线。我们想知道什么曲线最有可能生成我们看到的这些数据点(看下面的图)?极大似然估计是寻找最匹配曲线的均值和方差的一个方法。

这10个数据点和可能服从的高斯分布,f1均值为10,方差为2.25,也可以标记为

,极大似然方法的目标是找到一组参数值,最大化生成这些数据点的概率。

我们生成数据点的真实分布为

,就是上图的蓝色曲线。

▌计算极大似然估计


现在我们对什么是极大似然估计有了直观的理解,然后继续学习怎样计算这些参数值。我们得到的这些值被称为极大似然估计(MLE)。

我们将再一次用一个例子进行演示。假设这次我们有三个数据点,并且可以用高斯分布来进行描述。这些点是9,9.5和11,我们该怎么计算高斯分布的均值和方差σ这些参数值的极大似然估计呢?

我们想要计算的是看到所有这些数据的总概率,例如所有观测到的数据点的联合分布。为了做到这一点,我们需要计算条件概率,但这一点可能很难做到。因此我们在这里做了第一个假设:这个假设是每个生成的数据独立,这一假设让数学计算大大简化。如果这些事件(i.e.生成这些数据的过程)是独立的,此时观测到所有这些数据的总概率等于独立观测到每个数据点的概率之积(i.e.边际分布的乘积)。

观测到用高斯分布生成的某个单独数据点x的边际概率,可以由下式得到:

中间的分号是用来强调标记后面的是概率分布的参数,从而不会与条件分布混淆(条件分布通常中间是条竖线

观测到这三个数据点的总概率(联合概率)为

我们现在只需要弄清楚什么均值和方差σ的值可以得到给定表达式的最大值。

如果你在数学课上学过微积分,那么你很可能意识到有一种方法可以帮助我们得到函数的最大值点(或最小值点)。这种方法叫微分。我们现在要做的只是得到函数的导数,让导函数为0然后解方程,求解感兴趣的参数。现在我们就得到了参数的MLE值。假设读者都知道怎么使用微分求解函数,所以我只是简要讲解这些步骤,如果你想要更详细的解释可以在评论区告诉我。

▌对数似然


上面的总概率表达式求导起来很麻烦,所以总是对概率公式进行求对数,以简化求解,因为自然对数是单调递增函数。这意味着当x的值增大y的值也会增大(见下图)。这很重要,因为这保证了概率函数的对数的最大值点和原始概率函数的最大值点是同一个点。因此我们可以使用简单的对数似然而不是原始似然。

函数的单调性,左边是y=x,右边是自然对数y=ln(x),这些函数都是单调的,因为随着x增加y都在增大。

一个非单调函数的例子,当x从左到右,y的值先增大后减小再增大

对原始表达式取对数,得到:

使用对数计算法则,这个表达式可以简化为:

这个函数可以求导得到最大值,在这个例子中我们将得到均值的MLE,对均值求偏导得到:

令左边为0,重排表达式得到

于是我们就得到了的极大似然估计。我们可以对σ做同样的操作,但是我会把这个留作热心读者的作业。

▌结束语



  • 极大似然估计总是可以得到精确的解吗?

答案很简单,不是!在现实世界的场景中,对数似然函数的导数很可能是难以分析的(例如函数的导数不能求解)。因此迭代方法如EM算法(Expectation-Maximization)用来求解模型的参数。总的想法还是一样的。

  • 为什么是极大似然而不是极大概率?

其实,大部分人想要让概率和似然可以互相替换,但是统计学家和概率理论家硬把两者区分开来,区分的理由是。

其实这两个表达也是等价的!所以这意味着什么呢?首先,

表示使用均值为和方差为σ的模型观测到这些数据的概率。我们可以把这个概念推广到任何模型上。另一方面,

意味着:给定我们观测到的值,参数和σ的得到特定的似然。

这个等式意味着,给定参数得到观测数据的概率等价于给定观测数据得到参数的似然。尽管这两个式子是等价的,但是似然和概率从基础上来讲是不同的问题——一个问的是数据,另一个问的是参数值。这也是为什么我们的方法叫极大似然而不是极大概率。

  • 什么时候最小二乘法和极大似然法是一样的?

最小二乘法是机器学习中另一个估计模型的参数值的常用方法。和上面的例子一样,当模型假设是高斯的,极大似然估计和最小二乘法等价。数学求导过程可以看这个幻灯片:

https://web.archive.org/web/20111202153913/http://www.cs.cmu.edu/~epxing/Class/10701/recitation/recitation3.pdf

我们可以通过理解两个方法的目标来解释他们。对最小二乘估计,我们想要找到一条线,来最小化全部数据点和回归线的平方距离(可以看下面的图)。对于极大似然估计,我们想要最大化数据的总概率。当假设为高斯分布时,数据点离均值近的时候得到最大概率。由于高斯分布是对称的,这等价于最小化数据点和均值之间的距离。

如果你对本文有任何不清楚的地方,或者我上面的内容有什么错误,可以留下你的评论。在下一个帖子我准备讲述贝叶斯推断以及它是怎样被用来参数估计的。

感谢您的阅读。

原文链接:

https://towardsdatascience.com/probability-concepts-explained-maximum-likelihood-estimation-c7b4342fdbb1

Jonny Brooks-Bartlett是知名的数据科学家、演说家;数学家,主页:

https://towardsdatascience.com/@jonnybrooks04?source=post_header_lockup

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2018-01-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【ResNet何凯明】深度残差网络从100层到1001层(89PPT)

【新智元导读】层数越多的神经网络越难以训练。当层数超过一定数量后,传统的深度网络就会因优化问题而出现欠拟合(underfitting)的情况。ResNet 作者...

6975
来自专栏机器学习与自然语言处理

深度学习在文本分类中的应用

近期阅读了一些深度学习在文本分类中的应用相关论文(论文笔记),同时也参加了CCF 大数据与计算智能大赛(BDCI)2017的一个文本分类问题的比赛:让AI当法...

5606
来自专栏专知

【干货】计算机视觉实战系列04——用Python做图像处理

【导读】专知成员Hui上一次为大家介绍Numpy包的使用,介绍了Numpy库的一些基本函数和一些简单用法,以及图像灰度变换,这一次为大家详细讲解图像的缩放、图像...

5257
来自专栏机器学习和数学

[机智的机器在学习] 卷积神经网络入门教程(2)

今天继续回归卷积神经网络的入门教程,主要是介绍全连接网络的训练过程,通俗的讲就是我们入门教程(1)里面讲的是全连接网络长什么样,神经元之间的关系是什么样的,里面...

3634
来自专栏AI科技大本营的专栏

笔记 |《深度学习原理与TensorFlow实践》学习笔记(三)

作者 | 王清 目录 图像识别的经典课题 计算机视觉 图像识别课题 卷积神经网络原理 前深度学习时代 卷积操作Convolution 池化Pooling ReL...

3735
来自专栏WD学习记录

机器学习深度学习 笔试面试题目整理(2)

(1) 思想    改变全连接为局部连接,这是由于图片的特殊性造成的(图像的一部分的统计特性与其他部分是一样的),通过局部连接和参数共享大范围的减少参数值。可...

3112
来自专栏深度学习自然语言处理

【精华】Batch Normalization理论与实践

batch norm也可以当做调参的一部分,对于有些实验是有效果的,有些实验是几乎没啥效果,但是它的收敛速度还是很客观的,所以我们还是有必要要了解下哒!

1062
来自专栏SIGAI学习与实践平台

图像分割技术介绍

图像分割(image segmentation)技术是计算机视觉领域的一个重要的研究方向,是图像语义理解的重要一环。图像分割是指将图像分成若干具有相似性质的区域...

3684
来自专栏PPV课数据科学社区

机器学习算法基础概念学习总结

1.基础概念 (1) 10折交叉验证:英文名是10-fold cross-validation,用来测试算法的准确性。是常用的测试方法。将数据集分成10份。轮...

3854
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 15 - 重新思考神经网络初始化

上一篇14 交叉熵损失函数——克服学习缓慢从最优化算法层面入手,将二次的均方误差(MSE)更换为交叉熵作为损失函数,避免了当出现“严重错误”时导致的学习缓慢。...

4457

扫码关注云+社区

领取腾讯云代金券