模型选择与评估
1. 经验误差与过拟合
错误率:分类错误的样本数。 E=a/mE=a/m
精度:1-错误率。1−a/m1−a/m
训练误差/经验误差:学习器在训练集上的误差。
泛化误差:学习器在新样本上的误差。
过拟合:把训练样本自身的一些特点当作了所有潜在样本具有的一般性质,导致泛化能力下降。
欠拟合:与“过拟合相对”,指对训练样本的一般性质尚未学好。
2. 评估方法
使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。测试集应尽量与训练集互斥。
一个包含m个样例的数据集 D={(x1,y1),(x2,y2),...,(xm,ym)}D={(x1,y1),(x2,y2),...,(xm,ym)} ,有以下几种方式来划分训练集 SS 和测试集 。
留出法
直接将数据集 DD 划分为两个互斥的集合,其中一个作为训练集 , 另一个作为测试集 TT 。在 上训练出模型后,用 TT 来评估其测试误差,作为对泛化误差的估计。
要注意训练/测试集的划分要尽可能保持数据分布的一致性,如至少要保留样本的类别比例相似。
还需注意单次使用留出法得到的估计结果不够可靠,要采用多次随机划分,重复实验评估后取平均值作为留出法的评估结果。
常将大约 ~ 4/54/5 的样本用于训练,剩余样本用于测试。交叉验证法
先将数据集 DD 划分为 个大小相似的互斥子集,即 D=D1∪D2∪...∪DkD=D1∪D2∪...∪Dk ,Di∩Dj=∅(i≠j)Di∩Dj=∅(i≠j) 。每个子集 DiDi 都尽可能保持数据分布的一致性。每次用 k−1k−1 个子集的并集作为训练集,余下的子集作为训练集,可进行 kk 次训练和测试,最终返回这 次结果的均值。通常把交叉验证法称为 “ kk 折交叉验证”。
折交叉验证要随机使用不同的划分重复 pp 次,最终的评估结果是这 次 kk 折交叉验证结果的均值。
特例:留一法()。自助法
给定包含 mm 个样本的数据集,每次随机从 中挑选一个样本,放回的放入 D′D′ ,重复 mm 次,得到包含 个样本的数据集 D′D′ 。
有部分样本始终不会被挑选到,样本在 mm 次采样过程中始终不会被挑选到的概率为 , mm 趋向于无穷大时,此概率约为 .
将 D′D′ 作为训练集,D/D′D/D′ 作为测试集,称为包外估计。
自助法在数据集较小的时候较常用。调参与最终模型
调参即模型的参数设定。
最终模型:在学习算法和参数配置已经选定后,要用数据集 DD 重新训练模型,从而得到最终模型。
3. 性能度量
性能度量:衡量模型泛化能力的评价标准,不同的性能度量会导致不同的评判结果。
- 错误率与精度
分类任务中常用的两种性能度量。
错误率:分类错误的样本数占总样本数的比例。
精度:分类正确的样本数占总样本数的比例。acc(f;D)=1m∑mi=1I(f(xi)=yi)=1−E(f;D)acc(f;D)=1m∑i=1mI(f(xi)=yi)=1−E(f;D) - 查准率、查全率、F1F1
对于二分类问题,根据样例的真实类别与通过学习器预测类别可划分为:真正例(TP,真实类别为正,预测类别为正)、假正例(FP,真实类别为反,预测类别为正)、真反例(TN,真实类别为反,预测类别为反)、假反例(FN、真实类别为正,预测类别为反)。TP+FP+TN+FN=样本总数TP+FP+TN+FN=样本总数。
查准率:P=TPTP+FPP=TPTP+FP
查全率:R=TPTP+FNR=TPTP+FN
查准率与查全率相矛盾,一方升高另一方降低。
F1F1 度量:F1=2×P×RP+R=2×TP样例总数+TP−TNF1=2×P×RP+R=2×TP样例总数+TP−TN
根据应用中对查准率和查全率的重视程度不同,得到F1F1 度量的一般形式 FβFβ:Fβ=(1+β2)×P×R(β2×P)+RFβ=(1+β2)×P×R(β2×P)+R. ββ 度量了查全率对查准率的影响,β>1β>1 时查全率有更大影响,β<1β<1 时查准率有更大影响。 - ROC 与 AUC
根据学习器的预测结果对样例进行排序,按此顺序逐个将样例作为正反例的分界点,计算出真正例率 TPR=TPTP+FNTPR=TPTP+FN ,假正例率 FPR=FPTN+FPFPR=FPTN+FP, 作为横纵坐标绘制ROC曲线。
AUC:ROC曲线下的面积,用于比较分类器的优劣。 - 代价敏感错误率与代价曲线
对于二分类问题,将正例误分为反例和将反例误分为正例可能造成不同的后果,可以定义 costijcostij 为将 ii 类分为 类的代价。因此代价敏感错误率为:
E(f;D;cost)=1m(∑xi∈D+I(f(xi)≠yi)×cost01+∑xi∈D−I(f(xi)≠yi)×cost10)E(f;D;cost)=1m(∑xi∈D+I(f(xi)≠yi)×cost01+∑xi∈D−I(f(xi)≠yi)×cost10)
在非均等代价条件下,ROC曲线不能反映学习器的期望总体代价,因此引入代价曲线。
横轴为正例概率代价:P(+)cost=p×cost01p×cost01+(1−p)×cost10P(+)cost=p×cost01p×cost01+(1−p)×cost10.
纵轴为归一化代价:costnorm=FNR×p×cost01+FPR×(1−p)×cost10p×cost01+(1−p)×cost10costnorm=FNR×p×cost01+FPR×(1−p)×cost10p×cost01+(1−p)×cost10.
对ROC曲线上的每一个点,可以计算出一条(0,FPR)到(1, FNR)的线段,所有线段下的面积为期望总体代价。
4比较检验
数学太差,略。