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