极大似然估计是什么?找出最能解释已观测数据的参数
极大似然估计(Maximum Likelihood Estimation,MLE),也叫最大似然估计,是统计学中最常用的参数估计方法之一。它的基本思想是:在所有可能的参数值中,选择那个能让我们实际观测到的数据出现的可能性最大的参数值,作为对真实参数的估计。英国统计学家罗纳德·费希尔在 1912 年到 1922 年间系统地发展了这一方法,并赋予了它“似然”这个名称。
一个简单的例子
假设有一枚硬币,不知道它是否均匀,于是抛了 10 次,结果 7 次正面、3 次反面。要估计这枚硬币抛出正面的概率是多少。如果这个概率是 0.5,观测到 7 次正面、3 次反面的可能性是多少?如果是 0.7 呢?如果是 0.9 呢?我们可以分别计算出在每一种假设下,得到这个观测结果的概率。计算发现,当正面概率为 0.7 时,出现“7 次正面、3 次反面”的可能性最大。所以,极大似然估计给出的答案就是 0.7,也就是观测到的正面比例,这与我们的直觉相符。
什么是似然
似然和概率很容易混淆,但看问题的角度不同。概率是在参数已知的情况下,问某个结果出现的可能性有多大:比如已知硬币是均匀的,问抛 10 次出现 7 次正面的概率。似然则是在结果已知的情况下,把它看作参数的函数,问哪个参数让这个已经发生的结果最“说得通”。用同一个公式表示,只是把关注点从数据换成了参数。似然函数并不是参数的概率分布,它的值加起来也不一定等于 1。
怎么求解
通常的步骤是:写出似然函数,假设各个观测数据之间相互独立,似然函数就是每个数据出现概率的乘积;对似然函数取对数,得到对数似然函数。取对数有两个好处:一是把乘积变成了求和,计算和求导都更方便;二是避免了许多个很小的概率相乘导致的数值下溢。由于对数是单调递增的,让对数似然最大的参数也会让似然最大。然后对对数似然函数求导,令导数等于零,解出参数。对于正态分布等简单的模型,可以直接得到公式解,比如正态分布均值的极大似然估计就是样本的平均值。对于复杂的模型,无法得到公式解,就需要用梯度上升等数值优化方法来求解;当模型中含有隐变量时,常用期望最大化算法。
它的性质
极大似然估计具有很多良好的统计性质:当样本数量趋于无穷时,估计值会收敛到真实的参数值,这叫一致性;它的分布趋近于正态分布;而且在大样本下,它的方差可以达到理论上的最小值,这叫渐近有效性。但在样本数量较少时,它可能有偏差,也容易过拟合:比如抛硬币只抛了 3 次、3 次都是正面,极大似然估计会认为正面的概率是 100%,这显然不太合理。
在机器学习中无处不在
很多机器学习方法本质上都是在进行极大似然估计。逻辑回归的训练和分类任务中最小化交叉熵损失,等价于对模型的参数做极大似然估计。在线性回归中,如果假设误差服从正态分布,最小化均方误差就等价于极大似然估计。大语言模型的预训练目标是让模型给真实文本中下一个词分配的概率尽量高,这也正是在做极大似然估计。为了缓解小样本时的过拟合,可以引入参数的先验分布,这就变成了最大后验估计,它等价于在极大似然的基础上加入正则化项。