Jachin Shen
Jachin Shen

Categories

Tags

极大似然估计

预备知识

  • 随机变量$X$:虽然叫做变量,但本质上是函数,将现实生活的随机事件与数字联系起来,比如说今天气温26°C,就可以表示成随机变量$X(今天气温)=26$。

  • 概率分布函数$F_X$:描述随机变量的分布,严格定义为:

    对于任意实数a,

    需要注意的是,它反映的是所有不大于a的随机变量出现概率的总和。

    之所以这样定义,是因为对于连续的随机变量,单个位置的概率不好描述(其实严格来说,连续型的随机变量,任意一点概率为0)。比如说“气温等于26°C”这个事件,很难说刚好等于26°C的概率,可能稍微高0.1°C,就不好归到这个事件了;然而,使用不大于来反映就方便多了,“气温不大于26°C”,很好判断。

  • 概率密度函数$f_X$:概率分布函数虽然好计算,但是不够直观,我们更希望能找到可以反映每个点概率的函数,这就是概率密度函数,严格定义为:

    存在可测函数$f_X(x)$,满足$F_X(a) = \int^a_{-\infty}f_X(x)dx$

  • 数学期望E:本质上是随机变量的取值根据概率的加权求和,可以反映所有可能状态的平均,定义如下:

问题来源

在概率论中,确定好模型后,就要根据实验数据,估算出参数,从而得到最终可用的模型。极大似然就是一种常用的参数估计的办法。

思想

我们已知的是多次实验的结果,我们需要求的是最匹配这些事件的参数值。因此,我们假设:实验出来的结果,是这个模型最容易出现的情况,最好的参数,就是最可能出现的参数。为了描述这个容易出现的程度,我们使用了似然函数。

对于似然函数来说,事件的结果是常量,模型的参数是变量,函数最终反映的是,在这些事件结果的前提下,这个参数在各种可能的模型中出现的概率。这样,参数估计问题,就转换成求似然函数的最大值问题,而这是有强大数学工具可以解决的问题。

数学表达

已知概率密度函数$f_X$,以及一个分布参数$\theta$。我们采样,得到结果$X_1, X_2, \dots, X_n$,那么似然函数为:

其中,如果存在$\hat{\theta}$使得似然函数达到最大值,那么$\hat{\theta}$就是极大似然估计值。

例子

假如有三个硬币,抛出正面的概率分别为1/3、1/2、2/3,并且无法分辨这三个硬币。现在随便取出一个硬币,做了80次实验,其中49次正面,求这个硬币最可能是哪个?

对于抛硬币这个事件,如果把正面概率记为$\theta$,那么背面概率就是$1-\theta$。现在考虑事件“抛80次硬币”,随机变量表示正面个数,似然函数就是:

$\theta=\frac{1}{3}$时,$lik(\theta) = A_{80}^{49}(\frac{1}{3})^{49}(1-\frac{1}{3})^{31} \approx 0.000$

$\theta=\frac{1}{2}$时,$lik(\theta) = A_{80}^{49}(\frac{1}{2})^{49}(1-\frac{1}{2})^{31} \approx 0.012$

$\theta=\frac{2}{3}$时,$lik(\theta) = A_{80}^{49}(\frac{2}{3})^{49}(1-\frac{2}{3})^{31} \approx 0.054$

显然,2/3最可能出现,因此这是正面概率2/3的硬币

连续变量

以上是离散变量的例子,可以直接暴力枚举,对于连续变量,就需要用到微积分来求解最大值了。

具体来说,就是似然函数对参数求偏导,导数为零的点为极值点(注意,和最大值有差别,导数为零是必要条件),再对极值点求值比较,最后得出最大值。

实际中,往往只有一个极值点,所以可以省去验证的过程,直接当做最大值。

总结

  • 极大似然是一种概率模型参数估计方法
  • 对于离散变量,可以直接计算每种情况下的概率,取最大的即可
  • 对于连续变量,需要使用微积分来求极值
  • 局限性:需要似然函数可导,对于特殊不可导的概率分布不适用,对于复杂的概率分布不实用
  • 常用技巧:对于高斯分布,可对似然函数取自然对数,再求偏导,简化计算