机器学习:西瓜书 模型评估与选择 学习笔记

1.经验误差与过拟合

错误率与精度:通常把分类错误的样本数占样本总数的比例称为错误率(常用百分数表示),把分类正确的样本数占样本总数的比例称为精度。
误差的定义:把学习器实际预测输出与样本的真实输出之间的差异称为误差。学习器在训练集上的误差称为训练误差或经验误差;学习器在新样本上的误差称为泛化误差。
过拟合的定义:当学习器把训练样本学得太好,很可能已经把训练样本自身的一些特点当作了潜在样本都会具有的一般性质,就会导致泛化能力下降,称为过拟合。
欠拟合的定义:学习器对训练样本的一般性质尚未学好称为欠拟合。
欠拟合和过拟合的原因:欠拟合的原因通常是学习器的学习能力低下;而过拟合则是由于学习器的学习能力太强导致。过拟合是不能避免的,只能尽可能缓解。

2.评估方法

学习器的评估方法概述:可以通过一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。
测试集选择的注意事项
①尽可能与训练集互斥,也就是测试集中的样本最好不在训练集中存在相同的样本。
②训练集和测试集的划分要尽可能保持数据分布的一致性,例如分类中需要尽量保持样本的类别比例类似,也就是说最好采用分层采样的方法。
常用的测试集获取方法:留出法、交叉验证法、自助法。

2.1.留出法

留出法的过程:将数据集按照一定比例划分为两个互斥的集合,其中一个集合作为训练集,另一个集合就作为测试集。可以使用训练集学习得到模型后,用测试集来评估其测试误差。
留出法的注意事项:单次使用留出法得到的估计结果往往不够可靠,在使用留出法时,常常需要进行多次划分并重复进行实验,取最终的平均值作为留出法的评估结果。
留出法的比例控制:如果训练集太大,则测试集太小会导致评估结果不准确;如果测试集太大,则训练集太小导致训练出的模型可能与用完整数据训练出的模型存在较大差别。这个问题没有完美的解决方案,一般将2/3到4/5的样本用于训练,剩下的用于测试。一般而言,测试集中至少要含有30个样例。

2.2.交叉验证法

交叉验证法的过程:首先将数据集划分为k个大小相似的互斥子集,划分时尽量保持每个子集数据分布的一致性。接着,每次用k-1个子集的并集作为训练集,剩下的那个子集作为测试集,这样可以获得k组训练集和测试集,进行k次训练和测试,最终返回的是这k个测试结果的均值。该方法的稳定性和可靠性很大程度上取决于k的取值,因此也被称为K折交叉验证法,其中k最常取10,称为10折交叉验证。
交叉验证法的优化:为了减小因为样本划分所引入的差别,通常交叉验证法需要随机使用不同的划分p次,最终的评估结果计算p次并取均值。常见的有10次10折交叉验证。
留一法:如果交叉验证法中的测试集只有一个样本,则称为这是交叉验证法的一个特例:留一法。留一法的评估结果一般比较准确,但是由于训练集很大,因此训练模型的开销也非常大,使用前需要慎重考虑。

2.3.自助法

自助法的过程:每次对原始数据集进行采样得到一个拷贝样本,重复多次即可得到一个测试集(可能有样本被多次采样到),而把没有被采样到的所有样本作为训练集。
自助法的适用情况:自助法在数据集较小,难以有效划分训练集和测试集时适合使用;但是自助法产生的数据集改变了初始数据集的分布,会引入估计偏差。因此,在数据量足够时,更多使用留出法和交叉验证法。

获取测试集的方法总结:获取测试集的方法有留出法、交叉验证法和自助法。在数据量少时最好使用自助法,其次在不考虑时间开销的情况下推荐使用交叉验证法的特例留一法,其他情况下可以使用留出法和交叉验证法。

2.4.调参与最终模型

参数调节的定义:在进行模型的评估和选择时,除了要对适用于学习的算法进行选择,还需要对学习算法的参数进行设定,这个过程称为参数调节。参数调节直接影响最终模型的结果好坏。
调参的方式:由于参数的取值范围往往是实数,不能逐一尝试,因此只能对于每一个参数给定一定的区间范围,以一定的步长进行参数尝试。
最终模型:起初进行模型选择和调参时,我们只使用了数据集中的一部分数据。在最终模型和参数确定完成后,需要适用数据集中的所有数据进行模型训练,得到最终模型。
验证集的概念:用于帮助选择模型和调节参数的数据集称为验证集,从训练集中被划分出来。在实际应用中,我们使用验证集来进行模型选择和参数调节,而用测试集来估计模型的实际泛化能力。

3.性能度量

均方误差:均方误差是回归任务中最常用的性能度量指标。

3.1.错误率与精度(略)

3.2.查准率、查全率和F1

精度和错误率所存在的问题:精度和错误率尽管在大多数情况下都可以使用,但是在一些情况下已经不足以获取我们想要的信息。
二分类问题中查准率的定义:真实情况和预测情况都是正例的样本占所有预测为正例的样本的比例。
二分类问题中的查全率的定义:真实情况和预测情况都是正例的样本占所有真实情况为正例的样本的比例。
查准率和查全率的关系:一般来说,查准率和查全率是相互矛盾的,查准率高的时候查全率偏低。只有在一些简单任务中,查全率和查准率才可能都很高。
查准率-查全率曲线的定义:根据学习器的预测结果对样例进行排序,排在前面的是学习器认为最可能是正例的样本,排在最后的是学习器认为最不可能是正例的样本。按照这个顺序逐个把样本作为正例进行预测,则可以计算出当前的查全率和查准率,以查全率为横轴,查准率为纵轴进行作图可以得到查准率-查全率曲线,简称P-R曲线。
P-R曲线的作用:如果一个学习器的P-R曲线被另一个学习器的P-R曲线完全包住,则可以认为后一个学习器的性能一定优于前者。如果两个学习器的P-R曲线发生交叉,则不能进行直接判断,可以通过两条曲线与坐标轴围成的面积进行比较,面积大的性能更好。比较面积的方式不容易估算,因此常用平衡点和F1分数进行比较。基于有限个测试样例绘制的P-R图只能得到不光滑的近P-R曲线。
平衡点的定义:平衡点是指查准率等于查全率时查准率或查全率的值。平衡点对应的值越大,则可以认为模型的性能越好。
F1分数的定义:F1分数实际上是查准率和查全率的调和平均。类似的还有Fβ分数,用于查全率和查准率的权重(重视程度)不同时的模型评估选择,其中的β表示查全率对查准率的相对重要性。
宏指标和微指标:在实际情况中,进行多次训练测试会得到多个混淆矩阵,这时候评价模型的整体性能就要通过宏指标或微指标进行。宏指标是指对于每一次训练测试都计算出查准率和查全率,最终取平均值;微指标是指首先对多个混淆矩阵的数据进行平均,再基于这些平均值计算查准率和查全率等。

3.3.ROC与AUC

真正例率的定义:预测结果和真实情况都为正例的样本在真实情况为正例的样本中的占比。
假正例率的定义:预测结果为正例但真实情况为反例的样本在真实情况为反例的样本中的占比。
ROC曲线的定义:ROC曲线的全称是“受试者工作特征曲线”。其首先按照学习器的预测结果对样例进行排序,分别以假正例率和真正例率为横纵坐标作图,就得到ROC曲线。
基于ROC曲线的学习器选择方法:如果一个学习器的ROC曲线被另一个学习器的ROC曲线完全包住,则可以认为后者的性能优于前者。如果两条曲线发生交叉,则需要比较ROC曲线下的面积AUC,AUC越大则学习器的性能越好。

3.4.代价敏感错误率与代价曲线

代价的作用:在实际情况中,不同类型错误所造成的损失不同,因此可以为不同错误赋予不同的代价。此时优化的目标函数就是为了使得总体的代价损失最小。一般情况下,重要的是代价的比值而不是代价的绝对值。
规范化的定义:规范化是指将不同变化范围的值映射到相同的固定范围内,常用的范围为[0,1]。
代价曲线的作用:在非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,而代价曲线可以达到该目的。

4.比较检验

比较检验的作用:在使用某种实验评估方法测得学习器的某个性能度量结果后,需要对这些结果进行性能比较,此时基于多种原因不应该直接比较大小,而是应该借助比较检验,这些原因包括:
①我们希望比较的是不同模型的泛化性能,但是通过实验得到的仅仅是模型在测试集上的性能指标值。
②测试集上得到的性能指标会随着测试集的内容和大小发生变化而变化。
③机器学习算法本身具有随机性,因此一次模型运行结果可能不够可靠。
假设检验:假设检验的作用是从统计意义上比较两个模型的泛化性能,并给出相应的置信度。假设检验的原理是根据测试错误率估推出泛化错误率的分布情况。
单个学习器泛化性能的假设检验:可以使用二项检验或t检验进行。
两个学习器泛化性能比较的假设检验:可以使用交叉验证t检验或McNemar检验进行。
多个学习器泛化性能比较的假设检验:可以通过Friedman检验来判断多个学习器的性能是否相同;如果不相同就要进入后续检验,最常用的后续检验是Nemenyi检验,该检验方法可以判断多个学习器中的任意两个是否可以认为性能相同。

5.偏差与方差

偏差-方差分解的作用:偏差-方差分解可以用于解释学习算法的泛化性能。
偏差的作用:偏差是指期望输出与真是标记之间的差别。偏差度量了学习算法的期望预测与真实结果的偏离程度,也就是刻画了学习算法本身的拟合能力。
方差的作用:方差度量了同样大小的训练集变动所导致的学习性能的变化,也就是刻画了数据扰动所造成的影响。
噪声的作用:噪声表达了在当前学习任务上任何学习算法所能达到的期望泛化误差的下界,也就是刻画了学习任务本身的难度。
偏差-方差分解的过程:偏差-方差分解将模型的泛化误差分解为偏差、方差与噪声之和。
偏差-方差分解的意义:说明了模型的泛化性能是由学习算法的能力、数据的充分性和学习任务本身的难度共同决定的。对于给定的学习任务,为了取得好的泛化性能,则需要充分拟合数据以降低偏差,同时降低数据扰动项的影响以降低方差。
偏差-方差窘境:一般来说,偏差和方差是有冲突的,这称为偏差-方差窘境。对于给定的学习任务,在学习器的学习程度不足时,学习器的拟合能力不够强,此时训练数据的扰动不足以使得学习器发生显著变化,因此偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐被学习器学到,此时方差主导了泛化错误率。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值