极大似然估计(Maximum likelihood estimation,MLE):用样本估计总体参数
1 基本概念回顾
边缘概率、联合概率和条件概率的基本概念。
1.1 定义
边缘概率(Marginal Probability):可以简单理解为单一事件发生的概率。如果A是一个事件,且事件A发生的概率为,则就被称为边缘概率;
联合概率(Joint Probability):两个或多个事件相交的概率。从视觉上看,它是维恩图上两个事件圆的相交区域。如果A和B是两个事件,那么这两个事件的联合概率记为。
条件概率(Conditional Probability):条件概率是在已知其他事件已经发生的情况下,某一事件发生的概率。如果A和B是两个事件,那么在B已经发生的前提下,A发生的条件概率写成。
1.2 关系
2 极大似然估计
2.1 问题引入
极大似然估计是一种确定模型参数值的方法。参数值的确定使模型所描述的过程产生实际观察到的数据的可能性最大化。这听起来有点绕,我们可以通过下图中这个最简单的例子来理解:
下面用一个稍微复杂一些的例子来解释这个概念。假设我们从某个过程中观察到10个数据点(例如,每个数据点可以表示学生回答一个特定考试问题所需的时间/秒)。这10个数据点如下图所示:
我们首先必须确定生成这些数据的模型,有了模型才能去估计模型的参数,这很重要。但模型的确定通常来自于一些领域的专业知识,我们不会在这里讨论。
对于上述这些数据,我们假设数据生成过程可以用高斯(正态)分布来充分描述。(10个数据点显然不足以判定这些数据的分布,这里只做一个示例)。
高斯分布有两个参数:均值和标准差。这些参数值的不同会产生不同的曲线。我们想知道哪条曲线最有可能产生我们观察到的数据点(见上图)。通过最大似然估计法,我们会得到一个使数据和曲线最吻合的、值。(生成数据的真实分布为,即上图中的蓝色曲线。)。
2.2 计算极大似然估计
现在我们已经对极大似然估计有了一个直观的理解,下面继续学习如何计算参数值。我们将找到的参数值称为极大似然估计(MLE)。
为了方便计算过程的展示和便于理解,我们假设有3个数据点,它们是由一个符合高斯分布的过程产生的且相互之间是独立的(排除条件概率,便于理解)。接下来看如何通过极大似然估计来计算该高斯分布的参数值和。
由高斯分布产生的单个数据点的观测概率密度为:
则观测三个数据点的联合概率密度为:
现在的目标就是找到一组值,使得上面的值最大。上面的公式可以看成一个二元函数,求使其取最大值的参数可以使用求导的方式。
然而上面的公式直接求导比较困难,所以通过对表达式取自然对数来简化它(对数似然函数,log likelihood)。因为自然对数是一个单调递增的函数,所以它确保了取对数后概率的最大值与原概率函数在同一点上。因此,我们可以用更简单的对数似然函数代替原始似然函数。
对原表达式取对数得到:
对求偏导,有:
令等式左边为零,即可得到的估计值:
同样的,对求偏导即可得到它的估计值,这里不再赘述。
3 总结
求解最大似然估计量的一般步骤:
(1)写出似然函数;
(2)对似然函数取对数,并整理;
(3)求导数;
(4)解似然方程。
但要注意的是,由于对数似然函数的导数的复杂性,极大似然估计并不是在所有情形下都能够得到问题的解。因此,可以使用期望最大化算法等迭代方法来寻找参数估计的数值解。不过总体思路还是一样的。
参考
[1] https://towardsdatascience.com/probability-concepts-explained-maximum-likelihood-estimation-c7b4342fdbb1