关于统计学习方法的知识,参考书《统计学习方法》,李航著,清华大学出版社。
第4节 过拟合与模型选择
我们在上一节的风险函数部分中介绍了过拟合的概念,过拟合的直接原因是由于模型的复杂度过高导致的。那么选择的最优模型,实际上是使经验风险和模型复杂度同时最小的模型。
下面的图解释了模型在训练数据和测试数据上的误差与模型复杂度之间的关系。原图来源http://blog.sina.com.cn/s/blog_4d1865f00101dah5.html
结论是:当模型的复杂度增大时,训练集上的误差会逐渐减小并趋于0;而在测试集上的误差,会先减小,达到最小值以后又增大,最终发生过拟合。这样在学习时,为了防止过拟合,就要选择复杂度适当的模型,以使在测试集上的误差最小。
第5节 正则化和交叉验证
为了避免过拟合,且使误差最小,选择模型的常用方法有:正则化和交叉验证。
一、正则化(regularization)
正则化一般具有如下形式。其中,第一项为经验风险,第二项为正则化项。可以发现,所谓的正则化项,就是我们上一节提到过的用来描述模型复杂度的J(f)。它可以是任何与模型复杂度成正比的函数,比如它可以为描述模型的参数向量的L2范数或L1范数。
第1项的经验风险较小的模型可能较复杂(有多个非零参数),这时第2项的模型复杂度会较大(因为有多个非零参数),正则化的作用就是选择经验风险和模型复杂度同时较小的模型。
正则化的思想符合以下两个理论:
#奥卡姆剃刀(Occam's razor)原理:在所有可能的模型中,能够很好地解释已知数据并且十分简单才是最好的模型。
#贝叶斯估计:正则化项对应于模型的先验概率,可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。
二、交叉验证(Cross Validation)
1、简单交叉验证
将已知数据划分为训练集和测试集,在训练集上训练多个模型,选择使在测试集上的误差最小的模型作为最优模型。
2、S折交叉验证(S-flod cross validation)
将已知数据化分为S个互不相交大小相同的子集,然后用S-1个子集训练模型,在余下的一个子集中测试模型。将这一过程对可能的S种选择重复进行,最后选出S次评测中的平均测试误差最小的模型。
3、留一交叉验证(leave-one-out cross validation)
是一种特殊的S折交叉验证,适用于数据量非常少的时候。相当于S折交叉验证方法划分的每个子集中都只有一个样本。
第6节 泛化能力
一、泛化误差(generalization error)
泛化误差,其实就是模型的期望风险:
二、泛化误差上界:
1、学习方法的泛化能力分析,是通过研究泛化误差的概率上界进行的,简称为泛化误差上界。具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。
2、泛化误差上界具有以下性质:
* 是假设空间容量的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。
其中,R(f)表示真实的泛化误差,带尖角符号的R(f)则表示选取模型 f 时的泛化误差估值。
原文链接:https://www.f2er.com/regex/360635.html