1.经验误差与过拟合
误差:学习器的实际预测输出与样本的真实输出之间的差异。
经验误差:学习器在训练集上的误差。
泛化误差:学习器在新样本上的误差。
过拟合:学习器将训练样本自身的一些特点当作了所有潜在样本都具有的一般性质,导致泛化性能下降。
欠拟合:学习器对训练样本的一般性质尚未学好。
2.评估方法
通过实验测试来对学习器的泛化误差进行模型评估并进而做出选择。对一个包含m个样例的数据集D,可以对D进行适当的处理,从中产生出训练集S和测试集T。方法有:
2.1留出法
直接将D划分为两个互斥的集合,其中一个为训练集S,另一个作为测试集,在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。通常是将大约2/3~4/5的样本用于训练,剩余样本用于测试。
2.2交叉验证法
先将数据集D划分为k个大小相似的互斥子集,每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到,然后每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可以得到k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值,交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,k的常用取值有:10,20,5等。当k与样本总数m相等时,成为“留一法”。
2.3自助法
对于给定的包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D中,使得该样本再下次采样的时候仍有可能被采到,这个过程重复执行m次后,我们得到包含m个样本的数据集D’,这就是自助采样的结果,将D'作为训练集,将D\D'作为测试集。
2.4调参与最终模型
在进行模型评估与选择时,除了选择算法还需要对算法参数进行设定,即参数调节,简称调参。
验证集:模型评估与选择中用于评估测试的数据集常称为“验证集”。例如,我们用测试集上的判别效果来国际模型在实际使用时的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参。
3.性能度量
性能度量:衡量模型泛化能力的评价标准。
3.1错误率与精度
错误率:分类错误的样本数占样本总数的比例。
精度:分类正确的样本数占样本总数的比例。
3.2查准率、查全率与F1
查准率:强调准确率
查全率:强调广度,数量
F1:是综合考虑查准率和查全率
3.3 ROC和AUC
ROC(Receiver Operating Characteristic)受试者工作特征。ROC曲线的纵轴是TPR,横轴是FPR。如果两个ROC曲线发生交叉,要进行比较的话,可以比较ROC曲线下的面积,即AUC(Area Under ROC Curve)。
3.4代价敏感错误率与代价曲线
为了权衡不同类型的错误所造成的不同损失,可以为错误赋予“非均等代价”,从而就有了代价敏感错误率与代价函数。
4.比较校验
学习器性能的比较方法有:
4.1假设检验
对学习器的泛化错误率分布的某种判断或猜想,可以根据测试错误率估推出泛化错误率的分布。
4.2交叉验证t检验
4.3McNemar检验
5.偏差与方差
“偏差-方差分解”是解时学习算法泛化性能的一种重要工具。
偏差:度量了学习算法的期望预测与实际结果的偏离程度,即刻画了学习算法本身的拟合能力。
方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。