第二章 模型评估与选择
一、经验误差与过拟合
错误率:通常我们把分类错误的样本数占样本总数的比例称为"错误率" (error rate) ,即如果在 m 个样本中有 α 个样本分类错误,则错误率 E= α/m。
误差:把 学习器的实际预测输出与样本的真实输出之间的差异称为"误差" (error), 学习器在训练集上的误差称为"训练误差" (training error)或"经验误 差" (empirical error) ,在新样本上的误差称为"泛化误差" (generalization error)。
过拟合:学习器把训练样本学得"太 好"了的时候,很可能巳经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质。这种现象在机器学习中称为 "过拟合" (overfitting). 与"过拟合"相对的是"欠拟合" (underfitting),这 是指对训练样本的一般性质尚未学好。
二、评估方法:我们可通过实验测试来对学习器的泛化误差进行评估并进而做出选择。使用一个 "测试集"(未在训练集中出现过) (testing set)来测试学习器对新样本的判别能力,然后以测试集上的"测试误差" (testingerror)作为泛化误差的近似。若只有一个数据集,怎样得到训练集和测试集呢?
留出法:
直接将数据集 D 划分为两个互斥的集合,其中一个 集合作为训练集S,另一个作为测试集T, 即D等于B与T的并集, B交T未空集.在S上训练出模型后,用 T 来评估其测试误差,作为对泛化误差的估计。
需注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。
若是分类任务,为了保证数据分布的一致性,要进行分层采样。一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
缺点:若令训练集 S 包含绝大多数样本7,则训 练出的模型可能更接近于用 D 训练出的模型, 但由于 T 比较小,评估结果可能不够 稳定准确;若令测试集 T 多包含一些样本, 则训练集 S 与 D 差别更大了,被评 估的模型与用 D 训练出 的模型相比可能有较大差别,从而降低了评估结果的保真性(fidelity)。
常见做法是将大约 2/3 or 4/5 的 样本用于训练,剩余样本用于测试。
交叉验证法
将数据集D划分为k个大小相似的互斥子集