简介:
在这篇文章中,我将解释:什么是参数估计的最大似然方法,并通过一个简单的示例演示该方法。
[图片上传失败...(image-ce876e-1622536173074)]
1. 什么是参数?
在机器学习中,我们经常使用模型来描述观察到的数据过程。例如:
- 我们可以使用随机森林模型对客户是否取消订阅进行分类(称为客户流失模型);
- 或者可以使用线性模型来预测公司的收入,具体取决于他们的收入可能会花在广告上(这将是线性回归的一个示例)。每个模型都包含自己的一组参数,这些参数最终定义了模型的特性。
例如:对于线性模型,我们可以将其写为y = mx + c。在此示例中,x可以代表广告支出,y可以代表产生的收入。m和c是此模型的参数。这些参数的不同值将给出不同的数据(请参见下图)。
[图片上传失败...(image-3888ae-1622536173074)]
备注:具有不同参数值的三个线性模型。
因此参数定义了模型的蓝图。只有当为参数选择特定值时,我们才能获得描述给定现象的模型。
2. 最大似然估计的直观解释
最大似然估计是一种确定模型参数值的方法。找到参数值以使它们最大化由模型描述的过程产生实际观察到的数据的可能性(这是人话吗?)。
上面的定义可能听起来仍然有些晦涩难懂,因此让我们来看一个示例以帮助理解这一点。
假设我们从某个过程中观察到10个数据点。例如,每个数据点都可以表示学生回答特定考试问题所花费的时间(以秒为单位)。这10个数据点如下图所示。
[图片上传失败...(image-f9fb94-1622536173074)]
我们首先必须确定我们认为最能描述数据生成过程的模型。这部分非常重要。至少,我们应该对使用哪种模型有个估计。这通常是由于具有一些领域专业知识而引起的,但是我们在这里不进行讨论。
对于这些数据,我们假设数据生成过程可以用高斯(正态)分布来充分描述。上图的目测为高斯分布是合理的,因为10个点中的大多数都聚集在中间,而很少的点分散在左侧和右侧。(建议仅使用10个数据点来进行这种决策是不明智的,但是鉴于我生成了这些数据点,我们将继续使用它。)
回想一下,高斯分布具有2个参数。平均值μ和标准偏差σ。这些参数的不同值会产生不同的曲线(就像上面的直线一样)。我们想知道哪个曲线最有可能造成我们观察到的数据点?(请参见下图)。最大似然估计是一种可以找到导致曲线最适合数据的μ和σ值的方法。
[图片上传失败...(image-34bae1-1622536173074)]
图备注:从中得出数据的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去把这个模型反向找出来。
计算最大似然估计
现在我们对什么是最大似然估计有了直观的了解,我们可以继续学习如何计算参数值。我们找到的值称为最大似然估计(MLE)。
再次,我们将通过一个示例对此进行演示。
假设这次我们有三个数据点(数据少一点便于计算),并且我们假设它们是由高斯分布充分描述的过程生成的。这些点分别是9、9.5和11。我们如何计算高斯分布μ和σ的参数值的最大似然估计?
我们要计算的是观测所有数据的总概率,即所有观测数据点的联合概率分布。为此,我们需要计算一些条件概率,这可能会非常困难。因此,我们将在这里进行第一个假设。假设每个数据点都是独立于其他数据点生成的。这个假设使数学容易得多。如果事件(即生成数据的过程)是独立的,则观察所有数据的总概率就是分别观察每个数据点的乘积(即边际概率的乘积)。
由高斯分布生成的观察单个数据点x的概率密度由下式给出:
[图片上传失败...(image-5fd30d-1622536173074)]
符号P(x;μ,σ)中使用的半冒号是为了强调在其后出现的符号是概率分布的参数。因此,不应将其与条件概率(通常用垂直线表示,例如P(A | B))相混淆。
在我们的示例中,观察三个数据点的总(联合)概率密度由下式给出:
[图片上传失败...(image-33a486-1622536173074)]
我们只需要找出导致上述表达式的最大值的μ和σ值即可。
如果您已经在数学课中讨论了微积分,那么您可能会意识到,有一种方法可以帮助我们找到函数的最大值(和最小值)。这就是所谓的微分。 我们要做的就是找到函数的导数,将导数函数设置为零,然后重新排列方程式,以使感兴趣的参数成为方程式的主题。而且,我们将获得参数的MLE值。我现在将完成这些步骤,但是我假设读者知道如何对常用功能进行区分。如果您需要更详细的说明,请在评论中告诉我。
对数似然
上面关于总概率的表达式实际上很难区分,因此几乎总是通过采用表达式的自然对数来简化它。这是绝对好的,因为自然对数是单调递增的函数。这意味着,如果x轴上的值增加,则y轴上的值也会增加(请参见下图)。这很重要,因为它确保了概率对数的最大值与原始概率函数出现在同一点。因此,我们可以使用更简单的对数可能性而不是原始可能性。
[图片上传失败...(image-77e204-1622536173074)]
图备注:原始函数的单调性,左侧为y = x,对数函数y = ln(x)。这些函数都是单调的,因为当您在x轴上从左向右移动时,y值始终会增加。
[图片上传失败...(image-7c5168-1622536173074)]
图备注:非单调函数的示例,因为当您在图表上从左到右移动时,f(x)的值先升后降,然后再升回。
记录原始表达式可以给我们:
[图片上传失败...(image-d6a6d5-1622536173074)]
可以使用对数定律再次简化此表达式,以获得:
[图片上传失败...(image-4186e7-1622536173074)]
可以区分该表达式以找到最大值。在此示例中,我们将找到平均值μ的MLE。为此,我们采用函数相对于μ的偏导数,得出:
[图片上传失败...(image-3a1b6d-1622536173074)]
最后,将方程式的左侧设置为零,然后重新排列μ,得出:
[图片上传失败...(image-635b92-1622536173074)]
那里我们有μ的最大似然估计。
快问快答:
是否可以始终以精确的方式解决最大似然估计?
简短的回答不是。在现实世界中,对数似然函数的导数在分析上仍然很棘手(即,很难/不可能手动区分函数)。因此,使用诸如Expectation-Maximization算法的迭代方法来查找参数估计的数值解。总体思路还是一样。那么为什么要最大可能性而不是最大概率呢?
好吧,这只是统计学家在这么讨论(但有充分的理由)。大多数人倾向于互换使用概率和可能性,但统计学家和概率理论家将两者区分开。通过查看方程式可以最好地突出显示混淆的原因。
这些表达式是相等的!那么这是什么意思?首先定义P(data;μ,σ)?这意味着“用模型参数μ和σ观测数据的概率密度”。值得注意的是,我们可以将其概括为任意数量的参数和分布。
另一方面,L(μ,σ; data)表示“假设我们已经观察到大量数据,则参数μ和σ取某些值的可能性”。
上式表示,给定参数的数据的概率密度等于给定数据的参数的可能性。但是,尽管这两个条件相等,但是从根本上讲,可能性和概率密度在询问不同的问题,一个是询问数据,另一个是询问参数值。这就是为什么将该方法称为最大似然而非最大概率的原因。
- 最小二乘最小化何时与最大似然估计相同?
最小二乘最小化是另一种在机器学习中估计模型参数值的常用方法。事实证明,当如上述示例中那样将模型假定为高斯模型时,MLE估计等效于最小二乘法。
我们可以直观地通过理解它们的目标来解释这两种方法之间的联系。对于最小二乘参数估计,我们希望找到一条使数据点和回归线之间的总平方距离最小的线(请参见下图)。在最大似然估计中,我们希望最大化数据的总概率。如果采用高斯分布,则当数据点接近平均值时会找到最大概率。由于高斯分布是对称的,因此这等效于最小化数据点和平均值之间的距离。
[图片上传失败...(image-1e84e4-1622536173074)]
感谢您的阅读。