2.1 经验误差与过拟合
- 精度(accuracy): 1-错误率
(假设m个样本中有a个样本分类错误)
- 误差 (error): 学习器的预测输出与真是输出之间的差异
- 经验误差 (empirical error):在训练集上的误差
- 泛化误差 (generalization error):在新样本上的误差
- 欠拟合和过拟合
- underfitting:对训练样本的一般性质尚未学好
- 欠拟合通常是由于学习能力低下造成的;
- 比较容易解决:在决策树中扩展分支;在神经网络中增加训练轮数
- overfitting: 学习过于细节,将训练样本自身的某些特点当作 所有潜在样本均具备的一般性质,导致泛化能力弱。
- 机器学习面临的关键障碍
现实任务中,当进行 模型选择时,理想的解决方案是 对候选模型的泛化误差进行评估,然后选择泛化误差最小的模型。
然而,正如上面所讨论的,我们无法直接获得泛化误差,且训练误差又由于存在过拟合现象,因而不适合作为标准。
2.2 评估方法
通常,通过实验测试对学习器的泛化误差进行评估,并依此选择模型。以模型在测试集上的测试误差作为泛化误差的近似。假设测试样本是从样本真是分布中独立同分布采样而得,且测试集和训练集互斥。以下介绍几种常见的 产生训练集S和测试集T的方法:
1)留出法 (hold-out)
- 直接将数据集D划分为两个互斥的集合,划分时 尽可能把持数据分布的一致性,避免因数据划分过程引入的额外偏差而对最终的结果产生影响。
- 保留类别比例的采样方式 称为“分层采样 (stratified sampling)”
- 由于对初始数据集有着不同的划分方法,将导致不同的训练/测试集,此时模型评估的结果也会有差别, 因此单次使用留出法得到的估计结果往往不够稳定。因此一般采用 若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
2)交叉验证法 (cross validation) == (k-fold cross validation)
- 先将数据集D划分为k各大小相似的互斥子集