西瓜书学习笔记2

西瓜书学习笔记——模型的评估与选择

一、经验误差与过拟合

错误率: 分类错误的样本数占样本总数的比例称为“错误率”,即如果我们在m个样本中有a个样本分类错误,则错误率为E=a/m。
精度: 与错误率相对应,分类正确的样本数占样本总数的比例就是精度,即精度=1-错误率。
误差: 学习器的实际预测输出与样本的真实输出之间的差异称为“误差”,学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为”泛化误差“。我们希望得到的学习器具有的泛化误差越小越好,但是我们事先并不知道新样本是什么样,实际能做的是努力使经验误差最小化。
过拟合: 学习器把训练样本自身的一些特点也当做潜在样本都会具有的一般性质,导致泛化性能下降。过拟合并不能彻底避免,我们只能对其进行“缓解”。
欠拟合: 对训练样本的一般性质尚未学习好。

二、评估方法

我们无法直接获得泛化误差从而对学习器进行评估,而训练误差又由于有过拟合现象的存在不适合作为标准。为了对模型进行评估,我们需要用一个测试集来测试学习器对新样本的判别能力,用测试集上的测试误差来作为泛化误差的近似。

测试样本是从样本中独立同分布采样而得,我们希望取得的测试集要尽可能的和训练集互斥,即测试集尽量不在训练集中出现,未在训练过程使用过。

2.1 留出法

“留出法”(hold-out)直接把数据集D划分成两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即D=S∪T,S∩T=∅,在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。

1、训练/测试集的划分要尽可能保持数据分布的一致性,避免因为数据划分的过程中引入额外的误差而对最终的结果产生影响。
2、在使用留出法时一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
3、一般在实际使用过程中我们将2/3-4/5的样本用于训练,剩余的用于测试。

2.2 交叉验证法

交叉验证法(cross validation):先将数据集D分为k个大小相似的互斥子集,即每次用k-1个子集的并集作为训练集,余下的子集作为测试集;获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果的均值。

交叉验证法的评估结果的稳定性和保真性取决于k的值,所以交叉验证法又称为“k折交叉验证法”,k的最常用值为10,下图就是一个10折交叉验证的示意图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hVr5CbVu-1626183600246)(TyporaNote/Markdown图片/19.png)]

为减小因样本划分不同而引入的差别,k折交叉验证通常要随机使用不同的划分重复p次,评估结果是这p次k折交叉验证结果的均值,常见的是10次10折交叉验证。

当数据集的样本数和k值相同时,此时我们就得到了交叉验证法的一个特例:留一法,留一法不受随机样本的影响,评估结果一般来说较为准确,但需要消耗大量的计算成本。

2.3 自助法

自助法: 给定包含m样本的数据集D,每次随机从D中挑选一个样本,将其拷贝放入D ’,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到。重复执行m次,就可以得到包含m个样本的数据集D ’。可以得知在m次采样中,样本始终不被采到的概率取极限为:

在这里插入图片描述

通过自助采样,初始样本集D中大约有36.8%的样本没有出现在D’中,于是可以将D’作为训练集,D-D’作为测试集。实际评估的模型与期望评估的模型都是使用m个训练样本,我们仍然有数据总量约为1/3的,没在训练集中出现的样本用于测试,这样的测试结果,也被称为“包外估计”。

自助法在数据集较小,难以有效划分训练集/测试集时很有用,但由于自助法产生的数据集(随机抽样)改变了初始数据集的分布,因此引入了估计偏差。在初始数据集足够时,留出法和交叉验证法更加常用。

2.4 调参与最终模型

调参(parameter tuning):大多数学习算法都有些参数(parameter)需要设定,参数配置不同,学得模型的性能往往有显著差别。

学习算法的很多参数是在实数范围内取值,因此,对每种参数取值都训练出模型来是不可行的。常用的做法是:对每个参数选定一个范围和步长λ,这样使得学习的过程变得可行。

在模型选择完成后,学习参数和参数配置已经选定,此时我们应该用数据集D重新训练模型,这个模型在训练过程中使用了所有的m个样本,这才是我们最终递交给用户进行使用的模型。

我们通常把学的的模型在实际使用中遇到的数据称为测试数据,为加以区分,模型评估与选择中用于评估测试的数据集称为验证集。在研究对比不同算法的泛化性能时,我们用测试集上的判别效果来估计模型在实际使用中的泛化能力,而把训练数据另外划分为训练集和验证集,基于验证集上的性能来进行模型选择和调参。

三 、性能度量

在回归任务中,最常用的性能度量是:“均方误差”(mean squared error)。

在这里插入图片描述

更一般的,对于数据分布D DD和概率密度p ( . ) p(.)p(.),均方误差(mean square error)可描述为:

在这里插入图片描述

3.1 错误率和精度

错误率和精度是最常用在分类任务中的两种性能度量方法,既适用于二分类任务,也适用于多分类任务。

错误率: 分类错误的样本数占样本总数的比例。对于样例D,错误率定义为:

在这里插入图片描述

精度: 分类正确的样本数占样本总数的比例。对于样例D,精度定义为:

在这里插入图片描述

当我们知道数据分布和概率密度函数p之后,我们可以对错误率和精度定义如下:

在这里插入图片描述

在这里插入图片描述

3.2 查准率与查全率

两者定义可以借助于分类结果混淆矩阵:

在这里插入图片描述

根据上表,查准率P和查全率R可以分别定义为:

在这里插入图片描述

查准率和查全率是一堆矛盾的度量,一般来说,查准率越高,查全率往往偏低;查全率高时,查准率往往偏低。

根据学习器的预测结果对测试样本进行排序,将最可能是“正例”的样本排在前面,最不可能是“正例”的排在后面,按此顺序逐个把样本作为“正例”进行预测,每次计算出当前的P值和R值,以查准率为纵轴,查全率为横轴作图。我们就可以得到查准率和查全率曲线,简称为“P-R曲线”。如下图所示:

==

根据“P-R曲线”对学习器的优劣进行比较。主要有如下几种方法:

1、根据P-R曲线与坐标轴构成的面积

2、根据P-R曲线画出的平衡点

3、F1度量:

在这里插入图片描述

4、不同场合下我们对查全率和查重率的重视程度不同,所以我们提出了更为一般的Fβ

在这里插入图片描述

β度量了查全率对查准率的相对重要性。

当有多个二分类混淆矩阵时,例如:多次训练或者在多个数据集上训练,那么估算全局性能的方法有两种,分为宏观和微观。

宏观就是先算出每个混淆矩阵的P值和R值,然后取得平均P值macro-P和平均R值macro-R,算出Fβ或F1:

14

微观则是先将各混淆矩阵的对应元素进行平均,计算出混淆矩阵的平均TP、FP、TN、FN,接着进行计算P、R,进而求出值:

在这里插入图片描述

3.3 ROC 与AUC

很多学习器是为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阔值(threshold)进行比较,若大于阈值则分为正类,否则为反类。实际上,根据这个实值或概率预测结果,我们可将测试样本进行排序,"最可能"是正例的排在最前面,“最不可能"是正例的排在最后面。这样,分类过程就相当于在这个排序中以某个"截断点” (cut point)将样本分为两部分,前一部分判作正例,后一部分则判作反例。

我们根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图’就得到了"ROC 曲线与P-R 曲线使用查准率、查全率为纵、横轴不同, ROC 曲线的纵轴是"真正例率" (True Positive Rate,简称TPR) ,横轴是"假正例率" (False PositiveRate,简称FPR) 。

两者分别定义为:

在这里插入图片描述

我们可以得到ROC和AUC图像如下:

16

上图中的对角线对应于"随机猜测" 模型,而点(0,1)则对应于将所有正例排在所有反例之前的"理想模型"。
给定m+个正例和m-个反例,D+和D-分别表示正、反例集合,则排序损失 (loss) 定义为:

在这里插入图片描述

即考虑每一对正、反例,若正例的预测值小于反例,则记一个"罚分",相等则记0.5 个"罚分"。容易看出,l对应的是ROC 曲线之上的面积。因此有:

在这里插入图片描述

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

在实际生活中,不同的误差对应的代价不同,在这里,我们引入代价矩阵:

15

我们把上表中的第0 类作为正类、第1 类作为反类。令D+与 D-分别代表样例集D 的正例子集和反例子集,则"代价敏感" (cost-sensitive)错误率为:

在这里插入图片描述

在非均等情况下,我们代价曲线来衡量学习器的期望总体评价。

=17

其中,FPR 是假正例率,FNR=1-TPR是假反例率。

四、比较检验

现实任务中我们并不知道学习器的泛化错误率,只能获知其测试错误率。两者存在一些不同,但我们可根据测试错误率估推出泛化错误率的分布。

1、假设检验
2、交叉验证t 检验
3、McNemar 检验
4、Friedman 检验与 Nemenyi 后续检验

五、偏差与方差

“偏差方差分解” (bias-variance decomposition)是解释学习算法泛化性能的一种重要工具。

泛化误差可分解为偏差、方差与噪声之和:

在这里插入图片描述

18

六、参考链接

(4条消息) 周志华西瓜书《机器学习笔记》学习笔记第二章《模型的评估与选择》_Yolo的博客-CSDN博客

【课程电子书课件见置顶评论】周志华《机器学习》西瓜书啃书指导!普通话标准的大牛哥精炼讲解【更新中】_哔哩哔哩_bilibili

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值