1.4 模型评估与模型选择
1.4.1 训练误差与测试误差
统计学习的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。不同的学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练数据和模型的测试误差就自然称为学习方法评估的标准。
统计学习方法具体采用的损失函数未必是评估时使用的损失函数。当然,让两者一致是比较理想的。
测试误差反映了学习方法对未知的测试数据集的预测能力,是学习中的重要概念。显然,给定两种学习方法,测试误差小的方法具有更好的预测能力,是更有效的方法。
通常经学习方法对未知数据的预测能力称为泛化能力(generalization ability)。
1.4.2 过拟合与模型选择
当假设空间含有不同复杂的(例如,不同的参数个数)的模型时,就要面临模型选择的问题,我们希望选择或学习一个合适的模型。如果在假设空间存在“真”模型,那么所选择的模型应该逼近真模型。具体地,所选择的模型要与真模型的参数个数相同,所选择的模型的参数向量与真模型的参数向量相近。
如果一味地追求提高对训练数据的预测能力,所选模型的复杂度则往往会比真模型更高。这种现象称为过拟合(over-fitting)。
过拟合是指学习时选择的模型所包含的参数过多,以致于出现这一模型对已知数据预测的很好,但对未知数据预测的很差的现象。
模型选择旨在避免过拟合并提高模型的预测能力。
两种常用的模型选择方法:正则化与交叉验证
1.5 正则化与交叉验证
1.5.1 正则化
1.5.2 交叉验证
另一种常用的模型选择方法是交叉验证(cross validation)。
如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切成三部分,分别为训练集、验证集和测试集。
训练集:用来训练模型
验证集:用于模型的选择
测试集:用于最终对学习方法的评估。
在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。
由于验证集有足够多的数据,用它对模型进行选择也是有效的。
但是,在许多实际应用中数据时不充足的。为了选择好的模型,可以采用交叉验证方法。
交叉验证的基本思想是重复地使用数据:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复进行训练、测试以及模型选择。