序言
最大拟然估计(Maximum Likelihood Estimation, MLE)是统计学和机器学习领域中的一种重要参数估计方法。MLE的核心思想是基于给定的数据,找到一组参数值,使得这组参数生成观测数据的概率(即似然函数)达到最大。这样做的原因在于,如果某组参数能够使得观测数据出现的概率最大,那么这组参数就最有可能是真实的模型参数。
最大拟然估计
-
我们已经看过常用估计的定义,并分析了它们的性质。但是这些估计是从哪里来的呢?并非猜测某些函数可能是好的估计,然后分析其偏差和方差,我们希望有些准则可以让我们从不同模型中得到特定函数作为好的估计。
-
最常用的准则是最大似然估计。
-
最大似然估计(Maximum Likelihood Estimation,MLE)
- 考虑一组含有 m m m个样本的数据集 X = { x ( 1 ) , … , x ( m ) } \mathbb{X}=\{\boldsymbol{x}^{(1)},\dots,\boldsymbol{x}^{(m)}\} X={x(1),…,x(m)},独立地由真正但未知的数据生成分布 p d a t a ( x ) p_{data}(\bold{x}) pdata(x)生成。
- 让
p
m
o
d
e
l
(
x
;
θ
)
p_{model}(\bold{x};\theta)
pmodel(x;θ)是一簇由
θ
\theta
θ确定在相同空间上的概率分布。换言之,
p
m
o
d
e
l
(
x
;
θ
)
p_{model}(\bold{x};\theta)
pmodel(x;θ)将任意输入
x
\boldsymbol{x}
x映射到实数去估计真实概率分布
p
d
a
t
a
(
x
)
p_{data}(\boldsymbol{x})
pdata(x)。
-
θ
\theta
θ的最大后验估计被定义为:
{ θ ML = arg max θ p model ( X ; θ ) = arg max θ ∏ i = 1 m p model ( x ( i ) ; θ ) \begin{cases}\begin{array}{l}\theta_{\text{ML}}=\argmax\limits_{\theta} p_{\text{model}}(\mathbb{X};\theta)\\\\\qquad=\argmax\limits_{\theta}\prod\limits_{i=1}^m p_{\text{model}}(\boldsymbol{x^{(i)}};\theta)\end{array}\end{cases} ⎩ ⎨ ⎧θML=θargmaxpmodel(X;θ)=θargmaxi=1∏mpmodel(x(i);θ) - 很多概率的乘积会因很多原因不方便。例如:很容易出现数值下溢。为了得到一个更方便但是等价的优化问题,我们观察到似然对数不会改变其
arg max
\argmax
argmax,但是便利地将乘积转成了和:
θ ML = arg max θ ∑ i = 1 m log p model ( x ( i ) ; θ ) \theta_{\text{ML}}=\argmax\limits_{\theta} \sum\limits_{i=1}^m \log p_{\text{model}}(\boldsymbol{x}^{(i)};\theta) θML=θargmaxi=1∑mlogpmodel(x(i);θ) - 因为当我们重新缩放损失函数时
arg max
\argmax
argmax不会改变,我们可以除以
m
m
m得到和训练数据经验分布
p
^
data
\hat{p}_{\text{data}}
p^data相关额期望作为准则:
θ ML = arg max θ E x ∼ p ^ data log p model ( x ( i ) ; θ ) \theta_{\text{ML}}=\argmax\limits_{\theta} \mathbb{E}_{\text{x} \sim \hat{p}_{\text{data}}} \log p_{\text{model}}(\boldsymbol{x}^{(i)};\theta) θML=θargmaxEx∼p^datalogpmodel(x(i);θ) - 解释最大似然估计的一种观点是将它看作最小化训练集上的经验分布
p
^
data
\hat{p}_{\text{data}}
p^data和模型分布之间的差异,两者之间的差异程度可以通过KL散度来度量。
- KL散度定义为:
D KL ( p model ∥ p data ) = E x ∼ p ^ data [ log p ^ data ( x ) − log p data ( x ) ] D_{\text{KL}}(p_{\text{model}} \parallel p_{\text{data}})=\mathbb{E}_{\text{x} \sim \hat{p}_{\text{data}}} \left[\log\hat{p}_{\text{data}}(\boldsymbol{x})-\log p_{\text{data}}(\boldsymbol{x})\right] DKL(pmodel∥pdata)=Ex∼p^data[logp^data(x)−logpdata(x)] - 说明:
- 左边一项仅涉及到数据生成过程,和模型无关。这意味着当我们训练模型最小化KL散度时,我们只需要最小化: − E x ∼ p ^ data [ log p data ( x ) ] - \mathbb{E}_{\text{x} \sim \hat{p}_{\text{data}}} \left[\log p_{\text{data}}(\boldsymbol{x})\right] −Ex∼p^data[logpdata(x)]
- KL散度定义为:
- 最小化KL散度其实就是在最小化分布之间的交叉熵。
- 注意:许多作者使用术语“交叉熵”特定表示伯努利分布或softmax分布的负对数似然,但那是用词不当。
- 任何一个由负对数似然组成的损失都是定义在训练集上的经验分布和定义在模型上的概率分布之间的熵。例如:均方误差是经验分布和高斯模型之间的交叉熵。
- 我们可以将最大似然看作是使模型分布尽可能和经验分布 p ^ data \hat{p}_{\text{data}} p^data相匹配的尝试。理想情况下,我们希望匹配真实的数据生成分布 p data p_{\text{data}} pdata,但我们没法直接知道这个分布。
- 虽然最优 θ \theta θ在最大化似然或是最小化KL散度时是相同的,但是目标函数值是不一样的。在软件中,我们通常将两者都称为最小化损失函数。因此最大化似然变成了最小化负对数似然(NLL),或者等价的是最小化交叉熵。
- 将最大化似然看作最小化KL散度的视角在这个情况下是有帮助的,因为已知KL散度最小值是零。当 x \boldsymbol{x} x取实数时,负对数似然是负值。
-
θ
\theta
θ的最大后验估计被定义为:
-
条件对数似然和均方误差(Conditional Log-Likelihood and Mean Squared Error)
- 最大似然估计很容易扩展到估计条件概率 P ( y ∣ x ; θ ) P(\bold{y}\mid \bold{x};\theta) P(y∣x;θ),即给定 x \bold{x} x时,预测 y \bold{y} y。
- 实际上,这是最常见的情况,因为这构成了大多数监督学习的基础。
- 如果 X \boldsymbol{X} X表示所有的输入, Y \boldsymbol{Y} Y表示我们观测到的目标,那么条件最大似然估计: θ ML = arg max θ P ( y ∣ X ; θ ) \theta_{\text{ML}}=\argmax\limits_{\theta} P(\bold{y} \mid \bold{X};\theta) θML=θargmaxP(y∣X;θ)
- 如果假设样本是独立同分布的,那么这可以分解成: θ ML = arg max θ ∑ i = 1 m log P ( y ( i ) ∣ x ( i ) ; θ ) \theta_{\text{ML}}=\argmax\limits_{\theta} \sum\limits_{i=1}^m \log P(\boldsymbol{y}^{(i)} \mid \boldsymbol{x}^{(i)};\theta) θML=θargmaxi=1∑mlogP(y(i)∣x(i);θ)
- 实例:线性回归作为最大似然(Linear Regression as Maximum Likelihood)
- 线性回归,可以被看做是最大似然过程。
- 之前,我们将线性回归作为学习输入 x \boldsymbol{x} x映射到输出 y ^ \hat{y} y^的算法。从 x \boldsymbol{x} x到 y ^ \hat{y} y^的映射选自最小化均方误差。
- 现在,我们以最大似然估计的角度重新审视线性回归。不只是得到一个单独的预测
y
^
\hat{y}
y^,我们希望模型能够得到条件概率
p
(
y
∣
x
)
p(y \mid \boldsymbol{x})
p(y∣x)。
- 想象下有一个无限大的训练集,我们可能会观测到几个训练样本有相同的输入 x \boldsymbol{x} x但是不同的 y y y。
- 现在学习算法的目标是拟合分布 p ( y ∣ x ) p(y \mid \boldsymbol{x}) p(y∣x)到和 x \boldsymbol{x} x相匹配的不同的 y y y。
- 为了得到我们之前推导出的相同的线性回归算法,我们定义: p ( y ∣ x ) = N ( y ; y ^ ( x ; w ) , σ 2 ) p(y \mid \boldsymbol{x})=\mathcal{N}(y;\hat{y}(\boldsymbol{x};\boldsymbol{w}),\sigma^2) p(y∣x)=N(y;y^(x;w),σ2)
- 函数 y ^ ( x ; w ) \hat{y}(\boldsymbol{x};\boldsymbol{w}) y^(x;w)预测高斯的均值。
- 在这个例子中,假设方差是用户固定的某个常量 σ 2 \sigma^2 σ2。这种函数形式 p ( y ∣ x ) p(y \mid \boldsymbol{x}) p(y∣x)会使得最大似然估计得出之前得到的相同学习算法。
- 由于假设样本是独立同分布的,条件对数似然,如下:
∑ i = 1 m log p ( y ( i ) ∣ x ( i ) ; θ ) = − m log σ − m 2 log ( 2 π ) − ∑ i = 1 m ∥ y ^ ( i ) − y ( i ) ∥ 2 2 σ 2 \sum\limits_{i=1}^m \log p(\boldsymbol{y}^{(i)} \mid \boldsymbol{x}^{(i)};\theta) = -m \log\sigma - \displaystyle{\frac{m}{2}}\log(2\pi) - \sum\limits_{i=1}^m \frac{\Vert \hat{y}^{(i)}-y^{(i)} \Vert^2}{2\sigma^2} i=1∑mlogp(y(i)∣x(i);θ)=−mlogσ−2mlog(2π)−i=1∑m2σ2∥y^(i)−y(i)∥2- 其中 y ^ ( i ) \hat{y}^{(i)} y^(i)是线性回归在第 i i i个输入 x ( i ) \boldsymbol{x}^{(i)} x(i)上的输出。
- m m m是训练样本的数目。
- 对比于均方误差的对数似然: MSE train = 1 m ∑ i = 1 m ∥ y ^ ( i ) − y ( i ) ∥ 2 \text{MSE}_{\text{train}}=\displaystyle{\frac{1}{m}}\sum\limits_{i=1}^m \Vert \hat{y}^{(i)}-y^{(i)} \Vert^2 MSEtrain=m1i=1∑m∥y^(i)−y(i)∥2
- 我们立刻可以看出最大化关于 w \boldsymbol{w} w的对数似然和最小化均方误差会得到相同的参数估计 w \boldsymbol{w} w。
- 但是对于相同的最优 w \boldsymbol{w} w,这两个准则有着不同的值。
- 这验证了 MSE \text{MSE} MSE可以用于最大似然估计。
-
最大似然的性质(Properties of Maximum Likelihood)
- 最大似然估计最吸引人的地方在于,它被证明是当样本数目 m → ∞ m \to \infty m→∞时,就收敛率而言最好的渐近估计。
- 在合适的条件下,最大似然估计具有一致性,意味着训练样本数目趋向于无限大时,参数的最大似然估计收敛到参数的真实值。这些条件是:
- 真实分布 p data p_{\text{data}} pdata必须在模型簇 p model ( . ; θ ) p_{\text{model}}(.;\theta) pmodel(.;θ)中。否则,没有估计可以表示 p data p_{\text{data}} pdata。
- 真实分布 p data p_{\text{data}} pdata必须刚好对应一个 θ \theta θ值。否则,最大似然学习恢复出真实分布 p data p_{\text{data}} pdata后,也不能决定数据生成过程使用哪个 θ \theta θ。
- 除了最大似然估计,还有其他的归纳准则,其中许多共享一致估计的性质。然而,一致估计的统计效率(statistical efficiency)可能区别很大。某些一致估计可能会在固定数目的样本上获得一个较低的泛化误差,或者等价地,可能只需要较少的样本就能达到一个固定程度的泛化误差。
- 通常,统计效率研究于有参情况(parametric case)。例如:线性回归。
- 一种度量我们和真实参数相差多少的方法是计算均方误差期望,即计算 m m m个从数据生成分布中出来的训练样本上的估计参数和真实参数之间差值的平方。
- 因为一致性和统计效率这些原因,最大似然通常是机器学习中的首选估计。当样本数目小到会过拟合时,正则化策略如权重衰减可用于获得训练数据有限时方差较小的最大似然有偏版本。
总结
首先,MLE作为一种参数估计方法,其基于观测数据最大化似然函数的思想在实际应用中具有广泛的适用性。无论是线性模型、非线性模型,还是离散数据、连续数据,MLE都可以提供有效的参数估计方法。
其次,MLE在实际应用中的一些挑战和限制。例如,当似然函数存在多个局部最大值时,MLE可能陷入局部最优解而非全局最优解。此外,当数据不满足MLE的假设条件(如独立性、正态性等)时,MLE的估计结果可能会受到较大影响。
最后,随着大数据和机器学习技术的不断发展,MLE在处理高维数据、非结构化数据等方面具有更大的潜力。同时,与其他参数估计方法的结合和融合也将成为MLE未来发展的重要方向。