最大似然估计

在统计学中，最大似然估计（maximum likelihood estimation，简作MLE），也称极大似然估计，是用来估计一个概率模型的参数的一种方法。

## 预备知识

下方的讨论要求读者熟悉概率论中的基本定义，如概率分布、概率密度函数、随机变量、数学期望等。读者还须先熟悉连续实函数的基本性质，比如使用微分来求一个函数的极值（即极大值或极小值）。

同时，读者须先拥有似然函数的背景知识，以了解最大似然估计的出发点及应用目的。

## 最大似然估计的原理

给定一个概率分布$D$，已知其概率密度函数（连续分布）或概率质量函数（离散分布）为$f_D$，以及一个分布参数$\theta$，我们可以从这个分布中抽出一个具有$n$个值的采样$X_1, X_2,\ldots, X_n$，利用$f_D$计算出其似然函数：

$$\mbox{L}(\theta\mid x_1,\dots,x_n) = f_\theta(x_1,\dots,x_n).$$

若$D$是离散分布，$f_\theta$即是在参数为$\theta$时观测到这一采样的概率；若其是连续分布，$f_\theta$则为$X_1, X_2,\ldots, X_n$联合分布的概率密度函数在观测值处的取值。一旦我们获得$X_1, X_2,\ldots, X_n$，我们就能求得一个关于$\theta$的估计。最大似然估计会寻找关于$\theta$的最可能的值（即，在所有可能的$\theta$取值中，寻找一个值使这个采样的“可能性”最大化）。从数学上来说，我们可以在$\theta$的所有可能取值中寻找一个值使得似然函数取到最大值。这个使可能性最大的$\widehat{\theta}$值即称为$\theta$的最大似然估计。由定义，最大似然估计是样本的函数。

### 注意

- 这里的似然函数是指$x_1,x_2,\ldots,x_n$不变时，关于$\theta$的一个函数。
- 最大似然估计不一定存在，也不一定唯一。

### 推导

最大似然估计可以从相对熵推导而来。相对熵衡量了使用一个给定分布$Q$来近似另一个分布$P$时的信息损失，对于离散型随机变量，可以用以下公式：

$$D_{\text{KL}}(P||Q)=\sum_i P(i) \log \frac{P(i)}{Q(i)}$$

其中，$P$是真实分布，$Q$是近似分布。在最大似然估计的情景下，假设分布拥有一系列参数$\theta$，我们希望通过样本得到参数的估计值$\hat{\theta}$。我们可以利用相对熵来评判估计的好坏：

$$D_{\text{KL}}(p_{\theta} (x)||p_{\hat{\theta}} (x))=\sum_{x \in E} p_\theta(x) \log \frac{p_\theta(x)}{p_{\hat{\theta}}(x)}$$

根据期望的定义，我们可以将上式改写为：

$$\begin{align} D_{\text{KL}}(p_{\theta} (x)||p_{\hat{\theta}} (x))&=\mathbb{E}_{\theta} \left[\log\left(\frac{p_{\theta}(x)}{p_{\hat{\theta}}(x)} \right)\right]\\ &=\mathbb{E}_{\theta}[\log p_\theta (x)] - \mathbb{E}_{\theta} [\log p_{\hat{\theta}}(x)] \end{align}$$

KL值越大，参数估计越坏，因此，需要通过改变估计参数$\hat{\theta}$的值来获得最小的值，所对应的参数极为最佳估计参数。即：

$$\hat{\theta}_\text{best}=\arg\min_{\hat{\theta}} D_{\text{KL}}(p_{\theta} (x)||p_{\hat{\theta}} (x))$$

假设有$n$个样本，根据大数定理，可以进行替换：

$$\mathbb{E}_{\theta} [\log p_\hat{\theta}(x)]\rightsquigarrow\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)$$

即，可以通过下式评估：

$$D_{\text{KL}}(p_\theta (x)||p_{\hat{\theta}}(x))=\mathbb{E}_{\theta}[\log p_{\theta}(x)]-\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)$$

对于一个已知的分布，其参数$\theta$是确定的。因此，$\mathbb{E}_{\theta}[\log p_\theta (x)]$为常数。因此，我们可以通过最小化KL值获得最佳估计参数：

$$\begin{align} \hat{\theta} &=\arg\min_{\hat{\theta}}\mathbb{E}_{\theta}[\log p_{\theta}(X)]-\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\ &\Rightarrow\arg\min_{\hat{\theta}}-\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\ &\Rightarrow\arg\max_{\hat{\theta}}\frac{1}{n}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\ &\Rightarrow\arg\max_{\hat{\theta}}\sum_{i=1}^n\log p_{\hat{\theta}}(x_i)\\ &\Rightarrow\arg\max_{\hat{\theta}}\log\left[\prod_{i=1}^n p_{\hat{\theta}}(x_i) \right]\\ &\Rightarrow\arg\max_{\hat{\theta}}\prod_{i=1}^n p_{\hat{\theta}}(x_i) \\ \end{align}$$

因此，要得到最佳参数估计值，只需要最大化$\prod_{i=1}^n p_{\hat{\theta}}(x_i)$，这就是最大似然函数。对于连续型随机变量，有相同的结论。

## 例子

### 离散分布，离散有限参数空间

考虑一个抛硬币的例子。假设这个硬币正面跟反面轻重不同。我们把这个硬币抛80次（即，我们获取一个采样$x_1=\mbox{H}, x_2=\mbox{T}, \ldots, x_{80}=\mbox{T}$并把正面的次数记下来，正面记为H，反面记为T）。并把抛出一个正面的概率记为$p$，抛出一个反面的概率记为$1-p$（因此，这里的$p$即相当于上方的$\theta$）。假设我们抛出了49个正面，31个反面，即49次H，31次T。假设这个硬币是我们从一个装了三个硬币的盒子里头取出的。这三个硬币抛出正面的概率分别为$p=1/3$, $p=1/2$, $p=2/3$，这些硬币没有标记，所以我们无法知道哪个是哪个。使用最大似然估计，基于二项分布中的概率质量函数公式，通过这些试验数据（即采样数据），我们可以计算出哪个硬币的可能性最大。这个似然函数取以下三个值中的一个：

$$\begin{matrix} \mathbb{L}(p=1/3 \mid \mbox{H=49, T=31 }) & = & \mathbb{P}(\mbox{H=49, T=31 }\mid p=1/3) & = & {80\choose 49}(1/3)^{49}(1-1/3)^{31} \approx 0.000 \\ &&\\ \mathbb{L}(p=1/2 \mid \mbox{H=49, T=31 }) & = & \mathbb{P}(\mbox{H=49, T=31 }\mid p=1/2) & = & {80\choose 49}(1/2)^{49}(1-1/2)^{31} \approx 0.012 \\ &&\\ \mathbb{L}(p=2/3 \mid \mbox{H=49, T=31 }) & = & \mathbb{P}(\mbox{H=49, T=31 }\mid p=2/3) & = & {80\choose 49}(2/3)^{49}(1-2/3)^{31} \approx 0.054 \\ \end{matrix}$$

我们可以看到当$\widehat{p}=2/3$时，似然函数取得最大值。

显然地，这硬币的公平性和那种抛出后正面的几率是2/3的硬币是最接近的。这就是$p$的最大似然估计。

### 离散分布，连续参数空间

现在假设例子1中的盒子中有无数个硬币，对于$0\leq p \leq 1$中的任何一个$p$，都有一个抛出正面概率为$p$的硬币对应，我们来求其似然函数的最大值：

$$\begin{matrix} \mbox{L}(\theta) & = & f_D(\mbox{H=49,T=80-49}\mid p) = {80\choose 49} p^{49}(1-p)^{31} \\ \end{matrix}$$

其中$0\leq p \leq 1$.

我们可以使用微分法来求极值。方程两边同时对$p$取微分，并使其为零。

$$\begin{matrix} 0 & = & {80\choose 49}\frac{d}{dp} \left( p^{49}(1-p)^{31} \right) \\ <pre> & & \\ & \propto & 49p^{48}(1-p)^{31} - 31p^{49}(1-p)^{30} \\ & & \\ & = & p^{48}(1-p)^{30}\left[ 49(1-p) - 31p \right] \\ </pre> \end{matrix}$$

<image>

其解为$p=0$, $p=1$，以及$p=49/80$.使可能性最大的解显然是$p=49/80$（因为$p=0$和$p=1$这两个解会使可能性为零）。因此我们说最大似然估计值为$\widehat{p}=49/80$.

这个结果很容易一般化。只需要用一个字母$t$代替49用以表达伯努利试验中的被观察数据（即样本）的“成功”次数，用另一个字母$n$代表伯努利试验的次数即可。使用完全同样的方法即可以得到最大似然估计值:

$$\widehat{p}=\frac{t}{n}$$

对于任何成功次数为$t$，试验总数为$n$的伯努利试验。

### 连续分布，连续参数空间

最常见的连续概率分布是正态分布，其概率密度函数如下：

$$f(x\mid \mu,\sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}$$

现在有$n$个正态随机变量的采样点，要求的是一个这样的正态分布，这些采样点分布到这个正态分布可能性最大（也就是概率密度积最大，每个点更靠近中心点），其$n$个正态随机变量的采样的对应密度函数（假设其独立并服从同一分布）为：

$$f(x_1,\ldots,x_n \mid \mu,\sigma^2) = \left( \frac{1}{2\pi\sigma^2} \right)^\frac{n}{2} e^{-\frac{ \sum_{i=1}^{n}(x_i-\mu)^2}{2\sigma^2}}$$

也可以写为：

$f(x_1,\ldots,x_n \mid \mu,\sigma^2) = \left( \frac{1}{2\pi\sigma^2} \right)^{n/2} \exp\left(-\frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2}\right)$,

这个分布有两个参数：$\mu,\sigma^2$.有人可能会担心两个参数与上方的讨论的例子不同，上方的例子都只是在一个参数上对可能性进行最大化。实际上，在两个参数上的求最大值的方法也差不多：只需要分别把可能性$\mbox{L}(\mu,\sigma) = f(x_1,,\ldots,x_n \mid \mu, \sigma^2)$在两个参数上最大化即可。当然这比一个参数麻烦一些，但是一点也不复杂。使用上方例子同样的符号，我们有$\theta=(\mu,\sigma^2)$.

最大化一个似然函数同最大化它的自然对数是等价的。因为自然对数log是一个连续且在似然函数的值域内严格递增的上凹函数。注意：可能性函数（似然函数）的自然对数跟信息熵以及费雪讯息联系紧密。求对数通常能够一定程度上简化运算，比如在这个例子中可以看到：

$$\begin{align} 0 & = \cfrac{\partial}{\partial \mu} \log \left( \left( \cfrac{1}{2\pi\sigma^2} \right)^\frac{n}{2} e^{-\frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2}} \right) \\ <pre> & = \cfrac{\partial}{\partial \mu} \left( \log\left( \cfrac{1}{2\pi\sigma^2} \right)^\frac{n}{2} - \cfrac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2} \right) \\ & = 0 - \cfrac{-2n(\bar{x}-\mu)}{2\sigma^2} </pre> \end{align}$$

这个方程的解是$\widehat{\mu} = \bar{x} = \sum^{n}_{i=1}x_i/n$.这的确是这个函数的最大值，因为它是$\mu$里头惟一的一阶导数等于零的点并且二阶导数严格小于零。

同理，我们对$\sigma$求导，并使其为零。

$$\begin{align} 0 & = \cfrac{\partial}{\partial \sigma} \log \left( \left( \cfrac{1}{2\pi\sigma^2} \right)^\frac{n}{2} e^{-\frac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2}} \right) \\ <pre> & = \cfrac{\partial}{\partial \sigma} \left( \cfrac{n}{2}\log\left( \cfrac{1}{2\pi\sigma^2} \right) - \cfrac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{2\sigma^2} \right) \\ & = -\cfrac{n}{\sigma} + \cfrac{ \sum_{i=1}^{n}(x_i-\bar{x})^2+n(\bar{x}-\mu)^2}{\sigma^3} </pre> \end{align}$$

这个方程的解是$\widehat{\sigma}^2 = \sum_{i=1}^n(x_i-\widehat{\mu})^2/n$.

因此，其关于$\theta=(\mu,\sigma^2)$的最大似然估计为：

$\widehat{\theta}=(\widehat{\mu},\widehat{\sigma}^2) = (\bar{x},\sum_{i=1}^n(x_i-\bar{x})^2/n)$.

## 性质

### 泛函不变性（Functional invariance）

如果$\hat{\theta}$是$\theta$的一个最大似然估计，那么$\alpha = g(\theta)$的最大似然估计是$\hat{\alpha} = g(\hat{\theta})$。函数g无需是一个双射。

### 渐近线行为

最大似然估计函数在采样样本总数趋于无穷的时候达到最小方差，其证明可见于克拉马－罗下限。当最大似然估计非偏时，等价的，在极限的情况下我们可以称其有最小的均方差。

对于独立的观察来说，最大似然估计函数经常趋于正态分布。

### 偏差

最大似然估计的偏差是非常重要的。考虑这样一个例子，标有$1$到$n$的$n$张票放在一个盒子中。从盒子中随机抽取票。如果$n$是未知的话，那么$n$的最大似然估计值就是抽出的票上标有的$n$，尽管其期望值的只有$(n+1)/2$.为了估计出最高的$n$值，我们能确定的只能是$n$值不小于抽出来的票上的值。

## 历史

最大似然估计最早是由罗纳德·费雪在1912年至1922年间推荐、分析并大范围推广的。（虽然以前高斯、拉普拉斯、托瓦尔·尼古拉·蒂勒和F. Y. 埃奇沃思也使用过）。许多作者都提供了最大似然估计发展的回顾。

大部分的最大似然估计理论都在贝叶斯统计中第一次得到发展，并被后来的作者简化。

## 参见

- 均方差是衡量一个估计函数的好坏的一个量。
- 关于拉奥-布莱克韦尔定理（Rao-Blackwell theorem）的文章中讨论到如何利用Rao-Blackwellisation过程寻找最佳不偏估计（即使均方差最小）的方法。而最大似然估计通常是一个好的起点。
- 读者可能会对最大似然估计（如果存在）总是一个关于参数的充分统计量（sufficient statistic）的函数感兴趣。
- 最大似然估计跟广义动差估计（generalized method of moments）有关。

## 外部链接

- 关于最大似然估计的历史的一篇论文，作者John Aldrich