学习了很多的模型评估指标后,我们如何在合适的模型中使用合适的指标得出优秀的估计水准呢?最常用的就是最大似然估计。
考虑一组含有 m m m个样本的数据集 X = { x 1 , … , x m } \mathbb X=\{x^{1},\dots,x^{m}\} X={x1,…,xm},独立地由未知的真实数据生成分布 p d a t a ( x ) p_{data}(x) pdata(x)生成。
令 p m o d e l ( x ; θ ) p_{model}(x;\theta) pmodel(x;θ)是一族由 θ \theta θ确定在相同空间上的概率分布。简单来说, p m o d e l ( x ; θ ) p_{model}(x;\theta) pmodel(x;θ)将任意输入 x x x映射到实数来估计真实概率 p d a t a ( x ) p_{data}(x) pdata(x)。
对 θ \theta θ的最大似然估计定义为
θ M L = arg max θ p m o d e l ( X ; θ ) = arg max θ ∏ i = 1 m P m o d e l ( x ( i ) ; θ ) \theta_{ML}={\underset {\theta}{\operatorname{arg\, max}}}~p_{model}(\mathbb X;\theta) \\ ={\underset {\theta}{\operatorname{arg\, max}}}~\prod^m_{i=1}P_{model}(x^{(i)};\theta) θML=θargmax pmodel(X;θ)=θargmax i=1∏mPmodel(x(i);θ)
多个概率模型的乘积会因很多原因不方便计算。例如,计算中很可能会出现数值下溢。为了得到一个便于计算的等价优化,我们观察到似然对数不会改变其 arg max {\operatorname{arg\, max}} argmax,但是将乘积转化为了求和:
θ M L = arg max θ ∑ i = 1 m log P m o d e l ( x ( i ) ; θ ) \theta_{ML}={\underset {\theta}{\operatorname{arg\, max}}}~\sum^m_{i=1}\log {P_{model}(x^{(i)};\theta)} θML=θargmax i=1∑mlogPmodel(x(i);θ)
因为当重新缩放代价函数的时候 arg max {\operatorname{arg\, max}} argmax不会改变,我们可以除以 m m m得到和训练数据经验分布 p ^ d a t a \hat{p}_{data} p^data相关的期望作为准则:
θ M L = arg max θ E X ∼ p ^ d a t a log P m o d e l ( x ( i ) ; θ ) \theta_{ML}={\underset {\theta}{\operatorname{arg\, max}}}~\mathbb E_{X\sim\hat{p}_{data}}\log {P_{model}(x^{(i)};\theta)} θML=θargmax EX∼p^datalogPmodel(x(i);θ)
一种解释最大似然估计的观点就是将它看作是最小化训练集上的经验分布 p ^ d a t a \hat{p}_{data} p^data和模型分布之间的差异,两者之间的差异程度可以通过 K L KL KL散度度量。 K L KL KL散度被定义为:
D K L ( p ^ d a t a ∣ ∣ p m o d e l ) = E X ∼ p ^ d a t a [ log p ^ d a t a ( x ) − log p m o d e l ( x ) ] D_{KL}(\hat{p}_{data}||p_{model})=\mathbb E_{X\sim\hat{p}_{data}}\big[{\log {\hat{p}_{data}}(x)-\log {p_{model}(x)}\big]} DKL(p^data∣∣pmodel)=EX∼p^data[logp^data(x)−logpmodel(x)]
左边一项仅涉及数据生成,和模型无关。这意味着当训练模型最小化 K L KL KL散度时,我们只需要最小化
− E X ∼ p ^ d a t a [ log p m o d e l ( x ) ] -\mathbb E_{X\sim\hat{p}_{data}}\big[\log {p_{model}(x)}\big] −EX∼p^data[logpmodel(x)]
我们可以将最大似然看作使得模型分布尽可能地和经验分布 p ^ d a t a \hat{p}_{data} p^data相匹配的尝试。理想情况下,我们希望匹配更加真实的数据生成分布 p d a t a p_{data} pdata,但是我们无法直接获取这个分布。
条件对数似然和均方误差
最大似然估计很容易扩展到估计条件概率 P ( y ∣ x ; θ ) P(y|x;\theta) P(y∣x;θ),从而给定 x x x预测 y y y。这也是最常见的情况,因为这构成了大多数监督学习的基础。如果 X X X表示所有输入, Y Y Y表示我们所预测的目标,那么条件最大似然估计是
θ M L = arg max θ P ( Y ∣ X ; θ ) \theta_{ML}={\underset {\theta}{\operatorname{arg\, max}}}~P(Y|X;\theta) θML=θargmax P(Y∣X;θ)
如果假设样本是独立同分布的,那么上式可以分解为
θ M L = arg max θ ∑ i = 1 m log P ( y ( i ) ∣ x ( i ) ; θ ) \theta_{ML}={\underset {\theta}{\operatorname{arg\, max}}}\sum_{i=1}^m\log{P(y^{(i)}|x^{(i)};\theta)} θML=θargmaxi=1∑mlogP(y(i)∣x(i);θ)
示例:线性回归作最大似然
前面我们学过线性回归了,我们将线性回归作为学习从输入 x x x映射到输出 y ^ \hat{y} y^的算法。从 x x x映射到 y ^ \hat{y} y^选自最小的均方误差。现在我们用最大似然估计的角度重新看待线性回归。我们希望模型可以得到条件概率 p ( y ∣ x ) p(y|x) p(y∣x),而不只是一个单独的预测结果。假设拥有一个无限大的数据集做训练,我们可能会观测到几个训练样本有同样的输入但是不同的输出。现在学习算法将会拟合出一个分布 p ( y ∣ x ) p(y|x) p(y∣x)到和 x x x相匹配的不同的 y y y。
我们为了和以前的结果一致,我们定义 p ( y ∣ x ) = N ( y ; y ^ ( x ; ω ) , σ 2 ) p(y|x)=N(y;\hat{y}(x;\omega),\sigma^2) p(y∣x)=N(y;y^(x;ω),σ2)。函数 y ^ ( x ; ω ) \hat{y}(x;\omega) y^(x;ω)用于预测高斯均值。在这个例子中,我们假设方差是用户固定的某个常量 σ 2 \sigma^2 σ2。这种函数形式会使得最大似然估计得出和之前相同的学习算法。由于假设样本是独立同分布的,条件对数似然如下
∑ i = 1 m log p ( y i ∣ x ( i ) ; θ ) = − m log σ − m 2 log 2 π − ∑ i = 1 m ∣ ∣ y ^ ( i ) − y ( i ) ∣ ∣ 2 σ 2 \sum_{i=1}^m\log{p(y^{i}|x^{(i)};\theta)} \\ =-m\log{\sigma}-\dfrac{m}{2}\log{2\pi}-\sum^m_{i=1}\dfrac{||\hat{y}^{(i)}-y^{(i)}||}{2\sigma^2} i=1∑mlogp(yi∣x(i);θ)=−mlogσ−2mlog2π−i=1∑m2σ2∣∣y^(i)−y(i)∣∣
其中 y ^ ( i ) \hat{y}^{(i)} y^(i)是线性回归在第 i i i个输入 x ( i ) x^{(i)} x(i)上的输出, m m m是训练样本数目。对比均方误差和对数似然,
M S E t r a i n = 1 m ∑ i = 1 m ∣ ∣ y ^ ( i ) − y ( i ) ∣ ∣ 2 MSE_{train} =\dfrac{1}{m}\sum^m_{i=1}||\hat{y}^{(i)}-y^{(i)}||^2 MSEtrain=m1i=1∑m∣∣y^(i)−y(i)∣∣2
通过上式我们可以发现,最大化关于 ω \omega ω的对数似然和最小化均方误差会得到相同的参数估计 ω \omega ω。但是对于相同的最优解,这两个准则有不同的值。这验证了MSE可以用于最大似然估计。最大似然估计有几个很不错的性质。
最大似然的性质
在合适的条件下,极大似然估计具有一致性,意味着当训练数据趋于无穷大时,参数的最大似然估计会收敛到参数的真实值。这些条件如下:
- 真实分布 p d a t a p_{data} pdata必须在模型族 p m o d e l ( ⋅ ; θ ) p_{model}(\cdot;\theta) pmodel(⋅;θ)中。否则,没有估计可以还原 p d a t a p_{data} pdata。
- 真实分布 p d a t a p_{data} pdata必须刚好对应一个 θ \theta θ值。否则,最大似然估计恢复出真实分布 p d a t a p_{data} pdata后。也不能决定数据生成过程使用哪一个 θ \theta θ。
统计效率通常用于有参情况下,我们在有参情况中,我们只需要关注参数值,而不是函数值。度量和真实参数相差多少的计算方法是计算均方误差的期望,即计算 m m m个从数据生成分布中出来的训练样本上的估计参数和真实参数之间差值的平方。有参均方误差估计随着 m m m的增大而减小。
最大似然估计依然是机器学习中的首选估计方法。当样本数目小到会发生过拟合的情况时,正则化策略如权重衰减可用于在数据集优先的情况下减少过拟合的发生。