第二章 模型的评估与选择

2.1 经验误差与过拟合
错误率与精度
错误率E=a/m,a为分类错误的样本个数,m为测试样本总数。
精度=1-错误率

学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”。

过拟合:学习器把训练样本学的“太好”了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,导致泛化性能下降。无法彻底避免,只能够减小过拟合的风险。
欠拟合:对训练样本的一般性质尚未学好。

第二章 模型的评估与选择
2.2 评估方法
(在现实任务中往往还会考虑时间开销、存储开销、可解释性等方面的因素,这里暂且只考虑泛化误差。)
使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。需要将数据集D进行适当的处理,从中产生训练集S和测试集T。

2.2.1留出法
将D划分为两个互斥的集合,S为训练集,T为测试集。

两个数据集采用分层采样的方式保留类别比列,例如D包含500个正例,500反例。分层采样获得含70%样本的S,有350正例,350反例;30%样本的T,有150正例,150反例。

一般采用若干次随机划分,重复进行实验评估后取平均值作为留出法的评估结果。

弊端:T比较小,评估结果不够稳定准确,偏差大。
常见将大约2/3~4/5的样本用于训练,剩余样本用于测试。

2.2.2交叉验证法
将数据集D划分为k个大小相似的互斥子集(D通过分层采样得到每个子集Di,保持数据分布一致性),每次用k-1个子集的并集作为训练集,余下那个作测试集。即可获得K组训练/测试集,进行K次训练和测试,最终返回k个测试结果的均值。也称”k折交叉验证”。
第二章 模型的评估与选择
为减小因样本划分不同而引入的差别,k折交叉验证要随机使用不同的划分重复p次,最终评估结果是这p次k折交叉验证结果的均值,即进行p*k次训练/测试。

留一法:m个样本划分成m个子集,每个子集包含一个样本。留一法中被实际评估的模型与期望评估的用D训练出来的模型很相似,因此,留一法的评估结果往往被认为比较准确。

留一法缺陷:数据集较大,例如,数据集包含100w个样本,则需训练100w个模型。且留一法的估计结果未必比其他评估法准确(NFL定理)。

2.2.3自助法
从m个样本的数据集D,随机采样(选)一个样本,拷贝入训练D’,放回,继续随机挑选,直至m次。

样本在m次采样中始终不被踩到的概率(1-1/m)^m。第二章 模型的评估与选择
实际评估的模型与期望评估的模型都使用m个训练样本,而仍有约1/3的没有在训练集的样本用于测试。

自助法在数据集较小、难以有效划分训练/测试集时很有用。在初始数据量足够时,留出法和交叉验证法更常用。

2.2.4 调参与最终模型
①选择适合的学习算法
②对算法参数进行设定,调参
调参做法:对每个参数选定一个范围和变化步长,例如在[0,0.2]范围内以0.05为步长,最终从这5个候选值中产生选定值。

2.3 性能度量
1、错误率与精度
性能度量:衡量模型泛化能力的评价标准。
在预测任务中,给定样例集D={(x1,y1),(x2,y2),……,(xm,ym)},yi是对xi的真实标记,要评估学习器f的性能,就要把学习器预测结果f(x)与真实标记y进行比较。
回归任务最常用的性能度量是“均方误差”:
第二章 模型的评估与选择
数据分布D和概率密度函数p(.),均方误差:
第二章 模型的评估与选择
分类任务常用的两种性能度量:错误率和精度。

错误率:分类错误的样本数占样本总数的比例。第二章 模型的评估与选择
精度:分类正确的样本数占样本总数的比例。
第二章 模型的评估与选择
数据分布D和概率密度函数p(.)。
错误率:
第二章 模型的评估与选择
精度:
第二章 模型的评估与选择

2、查准率,查全率与F1值
二分类

True positive (TP)真正例
False positive (FP)假正例
True negative (TN)真反例
False negative (FN)假反例
TP+FP+TN+FN = 样例总数
查准率(precision)针对对预测结果:
第二章 模型的评估与选择
查全率(recall) 针对原来样本:
第二章 模型的评估与选择
通常,查准率高时,查全率偏低;查全率高时,查准率偏低。
例如,若希望好瓜尽可能的挑选出来,则可通过增加选瓜的数量来实现,查准率就会低;若希望挑出的瓜中好瓜比例尽可能高,则可挑选有把握的瓜,必然会漏掉好瓜,查全率就低了。

P-R图
学习器把最可能是正例的样本排在前面。按此排序,把样本作为正例进行预测,根据PR绘图(实际查准率不可能到零,除非负样本巨大接近零)。
第二章 模型的评估与选择
如果一个学习器的PR曲线包住了另一个,则可以认为A的性能优于C。

如果有交叉,如A、B,期望PR双高,综合考虑PR性能。

引入平衡点(BEP),基于BEP比较,A优于B。
更常用的是F1度量:
第二章 模型的评估与选择
Fβ :F1的一般形式,能让我们表达对查准率/查全率的不同偏好。
第二章 模型的评估与选择
Β>0度量了查全率对查准率的相对重要性;β=1退化为F1;β>1查全率有更大影响;β<1查准率有更大影响。
第二章 模型的评估与选择
当有多个二分类混淆矩阵时(如多次训练/测试,多个数据集上训练/测试甚至是多分类任务时),在n个混淆矩阵上综合考察计算查准率和查全率。

  1. 在混淆矩阵上分别计算查准率和查全率,在计算平均值,得到宏查准率,宏查全率,以及宏F1。
    第二章 模型的评估与选择
  2. 将各混淆矩阵的对应元素进行平均,得到TP、FP、TN、FN的平均值,记为,在计算出微查准率,微查全率,以及微F1。
    第二章 模型的评估与选择
    3、ROC与AUC
    最可能是正例的样本排在前面,按此排序。排序中某个截断点,前一部分判断正例,后一部分为反例。不同任务中根据需求划分截断点;重视查准率,靠前位置截断;重视查全率,靠后位置截断。
    ROC:纵轴:真正例率TPR;横轴:假正例率FPR
    第二章 模型的评估与选择
    第二章 模型的评估与选择
    现实中,有限个测试样例绘制ROC,不可能光滑。只能像右图一样。

若一个学习器的ROC曲线被另一个包住,后者的性能能优于前者;若交叉,判断ROC曲线下的面积,即AUC。
第二章 模型的评估与选择
AUC考虑的是样本预测的排序质量,因此它与排序误差有紧密联系。给定m+个正例,m-个反例,令D+和D-分别表示正、反例集合,则排序”损失”定义为:
第二章 模型的评估与选择
Lrank对应ROC曲线之上的面积:若一个正例在ROC曲线上标记为(x,y),则x恰是排序在期前的所有反例所占比例,即假正例,因此:
第二章 模型的评估与选择
2.3.4 代价敏感错误率与代价曲线
不同类型的错误造成的后果不同,为权衡不同类型的错误所造成的不同损失,可为错误赋予“非均等代价”。
代价矩阵
costij表示将第i类样本预测为第j类样本的代价。
第二章 模型的评估与选择
非均等代价下,希望总体代价最小化。
若假设第0类为正类,1为反类。D+代表例集正例子集,D-反例子集,则代价敏感错误率为:
第二章 模型的评估与选择
在非均等代价下,ROC不能直接反应出学习器的期望总体代价,代价曲线可以。横轴为[0,1]的正例函数代价
第二章 模型的评估与选择
p是样例为正例的概率;纵轴是取值为[0,1]的归一化代价
第二章 模型的评估与选择
FPR假正例率,FNR=1-TPR假反例率。

ROC每个点,对应代价平面上一条线。

例如,ROC上(TPR,FPR),计算出FNR=1-TPR,在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段,面积则为该条件下期望的总体代价。所有线段下界面积,所有条件下学习器的期望总体代价。
第二章 模型的评估与选择
2.4 比较检验
默认以错误率为性能度量,用ε表示。

  1. 假设泛化错误率ε<=ε0测试错误率,使用二项检验。

  2. 当使用留出法或交叉验证法时测试错误率为多个ε1,…,εn时,假设测试错误率均值u=ε0,第二章 模型的评估与选择服从*度k-1的t分布,使用t检验。

  3. 对两个学习器A和B,使用k折交叉验证法得到的测试错误率分别为
    第二章 模型的评估与选择第二章 模型的评估与选择
    假设两个学习器的性能没有显著差别,求Δ均值方差后
    第二章 模型的评估与选择
    服从*度为k-1的t分布,使用交叉验证t检验。假设拒绝则平均错误率小的那个算法性能较优,下同。

  4. 5*2交叉验证
    假设检验的前提:测试错误率均为泛化错误率的独立采样。

因样本有限,加查验证不同轮次训练集有重叠,测试错误率实际上不独立,会导致过高估计假设成立的概率。5*2交叉验证,可缓解这一问题。仅计算第一次2折交叉验证的结果平均值,对每次结果都计算出方差
第二章 模型的评估与选择第二章 模型的评估与选择
变量第二章 模型的评估与选择服从*度为5的t分布。

5.McNemar检验
列联表:估计学习器A、B的测试错误率;获得两学习分类结果的差别,两者都正确,都错误或者一个正确一个错。
第二章 模型的评估与选择
若假设A、B学习器起能相同,则应由e01=e10,那么|e01-e10|应服从正态分布。McNemar检验考虑变量第二章 模型的评估与选择,服从*度为1的卡方分布,即标准正态分布变量的平方。

6.Friedman检验与 Nemenyi后续检验
在对多个算法进行比较时,一种是上述两两比较的方法,另一种是基于算法排序的Friedman检验。
假定用D1、D2、D3、D4四个数据集对ABC进行比较,测试性能由好到坏排序,并赋予序值1,2,……
第二章 模型的评估与选择
变量 第二章 模型的评估与选择 ri为第i个算法平均序值,在k和N都较大时,服从*度为k-1的分布。现在通常使用变量第二章 模型的评估与选择服从*度为k-1和(k-1)(N-1)的F分布进行检验假设“所有算法性能都相同”。

若该假设被拒绝,则使用“Nemenyi”后续检验区分各个算法。

6.Nemenyi后续检验
Nemenyi检验计算出平均序值差别的临界值域。
第二章 模型的评估与选择
若两个算法的平均序值之差超出了临界值域CD,则以相应的置信度拒绝”两个算法性能相同”这一假设。根据上面表2.5绘制出Friedman检验图。
第二章 模型的评估与选择
横轴:平均序列,每个算法用原点表示平均序列,横线表示临界值域大小。从图中观察,若两算法横线段有交叠,说明没有显著差别。例如图中,算法A和B没有显著差别,而算法A优于算法C,无交叠区。

2.5偏差与方差

偏差 度量了学习算法的期望预测值与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。

方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。

噪声则表达了在当前的学习任务上任何学习算法所能达到的期望泛化误差下界,即刻画了学习问题本身的难度。

范围性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。

训练集D上模型 f 的泛化误差为
第二章 模型的评估与选择
泛化误差可分解为偏差,方差和噪声之和。

偏差和方差是有冲突的。
训练不足时,由偏差主导泛化误差;训练充足时,有方差主导泛化误差。

第二章 模型的评估与选择
随着训练程度的增加,偏差变小,方差变大。