透彻理解最大似然估计

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

什么是参数?

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

对于线性模型,我们可以将其写为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;μ,σ)中使用的半冒号用于强调其后面出现的符号是概率分布的参数。

在我们的例子中,观察三个数据点的总(联合)概率密度由下式给出:

我们只要找出能够让上述表达式最大化的μ、σ值就可以了。

如果你已经在数学课程中介绍了微积分,那么您可能会意识到有一种技术可以帮助我们找到函数的最大值(和最小值)。它被称为差异化。我们所要做的就是找到函数的导数,将导数函数设置为零,然后重新排列等式,使感兴趣的参数成为等式的主题。而且,我们将为我们的参数提供MLE值。我现在将完成这些步骤,但我会假设读者知道如何对常用功能进行区分。

对数似然函数

总概率的上述表达实际上是一个很难微分的,因此通过采用表达式的自然对数几乎总是简化。这是绝对正确的。这意味着如果x轴上的值增加,y轴上的值也会增加(见下图)。这很重要,因为它确保概率对数的最大值出现在与原始概率函数相同的点上。因此,我们可以使用更简单的对数似然而不是原始的概率。

原函数的单调行为,左边的y = x和(自然)对数函数y = ln(x)。这些函数都是单调的,因为当你在x轴上从左到右时,y值总是增加。

非单调函数的示例,因为当您在图表上从左到右时,f(x)的值上升,然后下降然后再次上升。

取初始表达式的对数能得到::

可以使用对数定律再次简化此表达式,以获得:

可以区分该表达式以找到最大值。在这个例子中,我们将找到平均值的MLE,μ。为此,我们采用相对于μ的函数的偏导数给出

最后,将等式的左侧设置为零然后重新排列μ给出:

这样我们就得到了 μ 的最大似然估计。我们可以用同样的方法得到 σ 的最大似然估计,这留给有兴趣的读者自己练习。

结束语

最大似然估计总能找到精确的解吗?

简单来说,不能。更有可能的是,在真实的场景中,对数似然函数的导数仍然是难以解析的(也就是说,很难求微分)。因此,一般采用期望最大化(EM)算法等迭代方法为参数估计找到数值解,但总体思路还是一样的。

那么叫为什么最大可能性而不是最大概率?

那么这只是统计学家迂腐(但有充分理由)。大多数人倾向于交替使用概率和可能性,但统计学家和概率理论家将两者区分开来。通过查看等式可以最好地突出混淆的原因。

这两个表达式是相等的!

我们先来定义 P(data; μ, σ) 它的意思是:在模型参数μ、σ条件下,观察到数据 data 的概率。值得注意的是,我们可以将其推广到任意数量的参数和任何分布。

另一方面,L(μ, σ; data) 的意思是:我们在观察到一组数据 data 之后,参数 μ、σ 取特定的值的似然度。

上面的公式表示,给定参数后数据的概率等于给定数据后参数的似然度。但是,尽管这两个值是相等的,但是似然度和概率从根本上是提出了两个不同的问题——一个是关于数据的,另一个是关于参数值的。这就是为什么这种方法被称为最大似然法(极大可能性),而不是最大概率。

什么情况下最小二乘最小化何时与最大似然估计相同?

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

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

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

原文作者:Jonny Brooks-Bartlett,AI火箭营进行翻译、修改

举报
评论 0