【模型评估与选择】

经验误差与过拟合

经验误差过拟合

错误率:分类错误的样本数占总样本数的比例 E=a/m
精度(accuracy):精度=1-错误率,即accuracy=(1-a/m)×100%
误差:实际预测输出与样本的真实输出之间的差异
训练误差(经验误差):学习器在训练集上的误差
泛化误差:在新样本上的误差

过拟合

过拟合:学习能力过于强大导致学习器把训练样本训练的过好,很可能已经把训练样本自身的某些特点当作了所有的潜在样本都有的一般性质,这样会导致泛化能力下降
欠拟合:对训练样本的一般性质尚未学好,学习能力低下导致

评估方法

通过实验测试对学习模型的泛化误差进行评估。具体来说,使用“训练集”测试学习器对新样本的判别能力,以测试集上的测试误差近似为泛化误差。注意,测试集应与训练集互斥。下面为产生训练集和测试集的方法。

留出法

直接将数据集划分为两个互斥的集合。需要注意的是,训练集和测试集的划分需要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差。以分类任务为例,至少要保证样本的类别比例相似。从采样角度来看,保留类别比例的采样方式称为“分层采样”。如果对数据集D采用7:3的方式划分训练集与测试集,其中D包含500正例和500负例,那么分层采样后训练集中应包括350个正例和350个负例,测试集中应包含150个正例和150个负例。
即便给了训练集和测试集的比例,也会存在多种划分方法,模型的评估结果也会有所差别,因此,单次留出法得到的结果不够稳定可靠,一般要采用若干次随机划分重复实验后取平均值作为留出法的评估结果。若采用了100次随即划分,则留出法返回的是100次结果的平均。常见划分方法将大约70%~80%的样本进行训练。其中测试集中至少应该包含30个样例

交叉验证法(k折交叉验证)

交叉验证法首先将数据集划分为k个大小相似的互斥子集,每个子集尽可能保持数据分布的一致性,也就是从整个数据集中采用分层采样得到。每次选取k-1个子集的并集作为训练集,余下的子集作为测试集,这样会得到k组训练集和测试集,从而进行K次训练和测试,最终返回k个测试结果的均值。交叉验证的结果稳定性和保真性很大程度上取决于k的取值。K的最常取值为10,此时称为10折交叉验证。其他常用k值为5、20等。与留出法相似,一般采用p次k折交叉验证,例如常见的10次10折交叉验证
10折交叉验证示意图

假定数据集中有m个样本,令k=m,则得到了交叉验证法的一个特例,也就是“留一法”。留一法不受随机划分的影响,其优点是结果比较准确,但是数据集较大时,训练m个模型的计算开销难以忍受。

自助法

自助法以自助采样法(可重复采样、有放回采样)为基础,假设有一个数据集D,我们首先生成一个空的数据集D’,每次随机的从D中抽一个样本放入D’中,再把抽出的样本放回到D中确保下次该样本同样有可能被抽到。重复执行m次就能得到包含m个样本的D’。很明显,D中有些样本可能会被多次采到,而有些样本可能一次都采不到。计算得自助采样中D中约有36.8%得样本未出现在D’中,因此我们可以将D’作为训练集,将D中出现而D’中不出现的集合作为测试集。这样的测试结果也叫做包外估计
自助法在数据集较小、难以有效划分训练集和测试集得时候非常有用,但是自助法产生的数据集改变了初始数据集的分布,因此可能会引入估计偏差,所以在数据量足够的情况下,留出法和交叉验证法更常用

调参与最终模型

大多数算法都有参数需要设定,参数不同会导致结果不同。现实中,常对每个参数选定一个范围和变化步长,例如范围为[0,0.2]步长为0.05,实际需要评估的参数有5个,需要从这5个候选值中选定最终值,尽管这样选择出来得值不是最佳的,但是这是在计算开销和性能估计之间折中的结果。
评估模型中,用于评估测试的数据集称为验证集。在实际应用中,对比不同算法的泛化性能时,用测试集上的判别效果来评估模型在实际应用中的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能进行模型选择和调参。

性能度量

衡量模型泛化能力的标准就是性能度量。对比不同模型的能力时,使用不同的性能度量往往导致不同得评判结果,模型好坏取决于任务需求。
回归任务中,最常用的性能度量是均方误差
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f ; D)=\frac{1}{m} \sum_{i=1}^{m}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}\right)^{2} E(f;D)=m1i=1m(f(xi)yi)2

错误率与精度

错误率与精度是分类任务中常用的性能度量,既适用于二分类也适用于多分类。
错误率是分类错误的样本占总样本的比例,对样例集D,分类错误率定义为:
E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) \neq y_{i}\right) E(f;D)=m1i=1mI(f(xi)=yi)
精度是分类正确的样本数占总样本数的比例:
a c c ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) = y_{i}\right)=1-E(f ; D) acc(f;D)=m1i=1mI(f(xi)=yi)=1E(f;D)

查准率(准确率)、查全率(召回率)与F1

对于二分类问题,将样例根据真实类别与预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)。令TP、FP、TN、FN分别表示其对应的样例数,则TP+FP+TN+FN=总样例数。分类结果的混淆矩阵见下表:

真实情况 \预测情况正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)

查准率(precision) 定义为:
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
查全率(recall) 定义为:
P = T P T P + F N P=\frac{TP}{TP+FN} P=TP+FNTP
查准率与查全率是矛盾的度量。查准率是预测出“好”的结果中,有多少真正好的;查全率则是真实的“好”的结果,有多少被预测了出来。如果希望所有的“好”的结果都被预测到,那么此时查全率高而查准率低。
将预测结果排序,最有可能是正例的排在最前面,以此类推,按此顺序逐个把样本按照正例预测,每次计算查准率与查全率,以查全率为横轴,查准率为纵轴,即可得到查准率-查全率曲线,简称“P-R曲线”。
在这里插入图片描述

在对P-R图进行分析时,若一个学习器的曲线完全被另一个学习器的曲线包住,则可断言后者性能优于前者,例如图中A的性能优于C。若两个学习器的曲线发生交叉,如A和B,只能在具体的查准率或查全率下进行比较,若非要分个高低,比较合理的方式为计算曲线下面积。除此之外人们还设计了一种综合比较查准率和查全率的性能度量。
平衡点(BEP) 就是这样一个度量,他是查准率=查全率时的取值,例如图中C的BEP=0.64,而基于BEP的比较,可认为A优于B。但是BEP过于简化,更常用的是F1度量:
F1是基于查全率和查准率的调和平均定义的,具体公式为:
F 1 = 2 × P × R P + R = 2 × T P 样例总数 + T P − T N F1=\frac{2×P×R}{P+R} =\frac{2×TP}{样例总数+TP-TN} F1=P+R2×P×R=样例总数+TPTN2×TP
F 1 = 1 2 ( 1 P + 1 R ) F1=\frac{1}{2}(\frac{1}{P}+\frac{1}{R}) F1=21(P1+R1)
在某些应用中,对查全率和查准率的重视程度不同,F1度量的一般形式能让我们表达出对查全率或查准率的不同偏好。它定义为:
F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_{β}=\frac{(1+β^{2})×P×R}{(β^{2}×P)+R} Fβ=(β2×P)+R(1+β2)×P×R
其中,β>0度量了查全率对查准率的相对重要性。β=1时退化为标准的F1,β>1时查全率有更大的影响,β<1时查准率有较大的影响。
很多时候我们会有多个二分类混淆矩阵,若希望在n个二分类混淆矩阵上综合考虑查准率和查全率,一种直接的方法是先在各混淆矩阵上分别计算再求平均,这样得到宏查准率(macro-P)宏查全率(macro-R) 以及对应的宏F1(macro-F1)。还可以先将各混淆矩阵的元素进行平均,得到TP、FP、TN、FN的平均值,再基于这些平均值计算出微查准率(micro-P)微查全率(micro-R) 以及 微F1(micro-F1)

ROC与AUC

与P-R曲线相似,我们同样根据预测结果对样例排序,按此顺序逐个把样本当作正例预测,每次计算出两个重要量的值,分别以他们为横纵坐标,就得到了ROC曲线。ROC曲线的纵轴是真正例率(TPR),横轴是假正例率(FPR),两者分别定义为:
T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP
F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP
ROC图中,对角线对应于随即猜测模型,判断性能时与PR曲线相似,如果一条线完全被另一条线包住,则后能性能更好,交叉时计算曲线下面积AUC
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值