机器学习概念:最大似然估计

介绍

在这篇文章中,我将解释参数估计的最大似然方法,并通过一个简单的例子来演示该方法。其中一些内容要求了解基本概率概念,例如联合概率的定义和事件的独立性。

什么是参数?

通常在机器学习中,我们使用模型来描述导致观察数据的过程。例如,我们可以使用随机森林模型来分类客户是否可以从服务中取消订购(称为客户流失建模),或者我们可以使用线性模型来预测将为公司生成的收入,具体取决于他们有多少可能花费在广告上(这将是线性回归的一个例子)。每个模型都包含自己的一组参数,最终定义模型的外观。

对于线性模型,我们可以把它写成y = mx + c。在这个例子中,x代表广告支出,y代表收入。m和c是这个模型的参数。这些参数的不同值会给出不同的行(参见下图)。

三个具有不同参数值的线性模型。

所以参数为模型定义了蓝图。只有在为参数选择特定值时,我们才能获得描述给定现象的模型的实例。

直观解释最大似然估计

最大似然估计是一种确定模型参数值的方法。找到参数值,以使它们最大化由模型描述的过程产生实际观察到的数据的可能性。

上面的定义仍然听起来有点神秘,所以让我们通过一个例子来帮助理解这一点。

假设我们从某个过程中观察到了10个数据点。例如,每个数据点可以表示学生回答特定考试问题所需的时间长度(以秒为单位)。这10个数据点显示在下图中

我们观察到的10个(假设的)数据点

我们首先必须决定我们认为哪种模型最好地描述了生成数据的过程。这部分非常重要。至少,我们应该对使用哪种模型有个好主意。这通常来自有一些领域的专业知识,但我们不会在这里讨论这一点。

对于这些数据,我们假设数据生成过程可以用高斯(正态)分布充分描述。对上图的视觉检查表明,高斯分布似乎是合理的,因为10个点中的大部分聚集在中间,少数点分散到左侧和右侧。(仅用10个数据点即时做出这样的决定是不明智的,但考虑到我生成了这些数据点,我们将与之一起使用)。

回想一下,高斯分布有2个参数。平均值μ和标准偏差σ。这些参数的不同值会导致不同的曲线(就像上面的直线一样)。我们想知道哪条曲线最有可能负责创建我们观察到的数据点?(见下图)。最大似然估计是一种方法,可以找到导致曲线最适合数据的μ和σ的值。

10个数据点和可能的高斯分布从中绘制数据。f1正态分布的均值为10,方差为2.25(方差等于标准差的平方),这也表示为f1〜N(10,2.25),f2〜N(10,9),f3〜N(10,0.25)和f4〜N(8,2.25)。最大可能性的目标是找到给出最大化观察数据概率的分布的参数值。

数据生成的真实分布是f1〜N(10,2.25),这是上图中的蓝色曲线。

计算最大似然估计

现在我们对直接理解什么是最大似然估计,我们可以继续学习如何计算参数值。我们找到的值称为最大似然估计(MLE)。

我们再次用一个例子来证明这一点。假设这次我们有三个数据点,我们假设它们是由高斯分布充分描述的过程生成的。这些点是9,9.5和11.我们如何计算高斯分布μ和σ参数值的最大似然估计值?

我们想要计算的是观察所有数据的总概率,即所有观测数据点的联合概率分布。要做到这一点,我们需要计算一些条件概率,这可能变得非常困难。所以我们会在这里做出我们的第一个假设。假定每个数据点都是独立于其他数据点生成的。这个假设使得数学变得更容易。如果事件(即生成数据的过程)是独立的,那么观察所有数据的总概率是单独观察每个数据点(即边际概率的乘积)的乘积。

观察由高斯分布产生的单个数据点x的概率密度由下式给出:

符号P(x;μ,σ)中使用的分号是为了强调在它之后出现的符号是概率分布的参数。所以不应该与条件概率混淆(通常用垂直线表示,例如P(A | B))。

在我们的例子中,观察三个数据点的总(联合)概率密度由下式给出:我们只需要计算μ和σ的值,从而得出上述表达式的最大值。

如果你已经在你的数学课中介绍了微积分,那么你可能会意识到有一种技术可以帮助我们找到函数的最大值(和最小值)。这就是所谓的偏导。我们所要做的就是找到函数的导数,将导数函数设置为零,然后重新排列方程,使感兴趣的参数成为方程的主题。而且,我们将为我们的参数提供我们的MLE值。

log的可能性

以上表达式对于总概率来说实际上是相当难以区分的,所以它几乎总是通过取表达式的自然对数来简化。这是绝对正确的,因为自然对数是一个单调递增的函数。这意味着如果x轴上的值增加,y轴上的值也会增加(参见下图)。这很重要,因为它确保了概率的对数的最大值出现在与原始概率函数相同的点上。因此,我们可以用更简单的对数似然度来代替原来的可能性。

左边的y = x和(自然)对数函数y = ln(x)。

这些函数都是单调的,因为在x轴上从左到右y值总是增加。

原始表达式:

用对数法则可以再次简化该表达式以获得:

表达式可以被区分以找到最大值。在这个例子中,我们将找到均值μ的MLE。要做到这一点,我们采用函数关于μ的偏导数给出

最后,将方程的左边设为零,然后重新排列μ,得出:

我们有我们的μ的最大似然估计。我们也可以用σ来做同样的事情,但我会把它作为敏锐读者的练习。

什么时候最小二乘法最小化与最大似然估计相同?

最小二乘法最小化是估算机器学习模型参数值的另一种常用方法。事实证明,当假设模型如上述例子中为高斯时,MLE估计等同于最小二乘法。

直观地说,我们可以通过理解它们的目标来解释这两种方法之间的联系。对于最小二乘参数估计,我们希望找到使数据点与回归线之间的总平方距离最小的线(参见下图)。在最大似然估计中,我们希望最大化数据的总概率。当假定高斯分布时,当数据点更接近平均值时发现最大概率。由于高斯分布是对称的,这相当于最小化数据点和平均值之间的距离。

显示具有随机高斯噪声的数据点的回归线

-The End-

本文翻译整理于:

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

当你需要时,记得回来找到这篇文章,或许收藏它。

(点击即可阅读)

小编有话说

关注回复关键词“Python”,"机器学习"等可以领学习资料哦。更多的资讯,技术欢迎读者朋友给我们留言,我们会在第一时间给大家分享,也期待有技术,有才学的博主给我们投稿分享原创文章。请在本公众号(AITop100)对话界面,找到“我们”,给我们留言。

AITop100

机器学习领域分享达人

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180620G022UJ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券