《统计学习方法》(第二版)1.4 1.5
1.4 模型评估与模型选择
1.4.1 训练误差与测试误差
当评估时使用的损失函数给定时,训练误差和测试误差成为学习方法评估的标准。
测试误差反映了学习方法对未知的测试数据集的预测能力(泛化能力[1])。
1.4.2 过拟合与模型选择
当选择的模型复杂度过大时,过拟合现象就会发生。
过拟合是指学习时选择的模型所包含的参数过多,以至出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象。
两种常用的模型选择方法:正则化和交叉验证
1.5 正则化与交叉验证
1.5.1 正则化
如前所示,正则化是结构风险最小化策略的实现,具体参见: https://www.cnblogs.com/angelica-duhurica/p/10884104.html
正则化项可以取不同的形式。
e.g.回归问题:损失函数是平方损失。
-
正则化项可以是参数向量的(L2)范数(向量的长度)
[L(w)=frac{1}{N}sum_{i=1}^N(f(x_i;w)-y_i)^2+lambda ||w||^2 ] -
正则化项可以是参数向量的(L1)范数(向量中各个元素绝对值之和)
[L(w)=frac{1}{N}sum_{i=1}^N(f(x_i;w)-y_i)^2+lambda ||w||_1 ]
各个范数解释参考: https://blog.csdn.net/zouxy09/article/details/24971995
正则化符合奥卡姆剃刀原理:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。
1.5.2 交叉验证
- 理想:样本数据充足,将其分为训练集(用来训练模型)、验证集(用于模型的选择)、测试集(用于对学习方法的评估)。
- 实际:样本数据不充足,采用交叉验证。
交叉验证:重复地使用数据,将切分的数据进行组合。
简单交叉验证
随机地将数据分为两部分,分别是训练集和测试集。
S折交叉验证 S-fold cross validation
随机地将数据分为S个互不相交、大小相同的子集,利用S-1个子集作为训练集,余下的1个作为测试集;将S种选择重复进行,选择S次中平均测试误差最小的。
留一交叉验证
S折交叉验证中S=N。适合数据缺乏的情况。N为给定数据集的容量。
测试误差评价泛化能力依赖于测试数据集,很有可能不可靠。 ↩︎