机器学习 第二章 模型评估与选择

目录

第二章 模型评估与选择

2.1 经验误差与过拟合

2.2 评估方法

2.3 性能度量

2.3.1 错误率和精度

2.3.2 查准率、查全率和F1

2.3.3 ROC和AUC

2.3.4 代价敏感错误率和错误曲线

2.4 比较检验

2.5 偏差与方差

2.课后习题


第二章 模型评估与选择

2.1 经验误差与过拟合

  • 精度(accuracy) = (1 - a/m) * 100% :m个样本中有a个错误。
  • 错误率(error rate) = 1 - 精度
  • 过拟合和欠拟合
过拟合欠拟合
把样本训练的“太好了”样本训练的“不够好”
误认为树叶必须能有锯齿误认为绿色的都是树叶

2.2 评估方法

留出法:当只有一个数据集的时候,用一部分来训练,一部分来测试。而且训练数据和测试数据没有交集。通常会用60%到80%的数据作为训练集,剩下的作为测试集。需要注意的是,在选择训练集(或者测试集)的时候要采用分层抽样的方法。就像刷题一样,训练集和测试集都要有相近比例的题型,不能训练集全是选择题,测试集全是论述题,应该训练集和测试集都包含选择题和测试题,而且比例要一致,都是八成选择题,两成论述题。
一次的训练-测试结果可能不够科学,最好划分不同的训练集和测试集,做多次训练-测试,将测试结果(错误率、查准率之类的)取平均。

交叉检验法:这是在“留出法”的基础上改进的方法。先将数据集分为k个大小相似的互斥子集(当然,每个子集的产生都要用分层抽样进行)。每次用k-1个子集作为训练集,剩下的一个作为测试集。这样就可以进行k次训练-测试。k的测试结果的平均值就是最终的测试结果。

自助法:上述两种方法都是在原本作为训练集的数据中抽出一部分作为测试集,因此训练集的规模不可避免地减少了,训练效果也就受到了影响。自助法则是一中比较好的缓解方法。假设有一个包含m个样本的数据集D。对这个数据集进行m次有放回的抽样,则得到了一个含有m个样本的数据集D'。D'相对于原数据集D,规模没有减少,只是D'中有部分样本是重复出现的。所以在抽样中没有抽到的样本就作为测试集,D'就作为训练集。按照概率论推导可知,一般来说抽样中国会有三分之一的样本没有被抽到,也就是说测试集大小为数据集D大小的三分之一。

虽然自助法能弥补留出法和交叉检验法的不足,但是也有自己的缺陷,那就是改变了原来的训练样本的分布,这也会对训练效果造成影响。因此在数据集比较大时多采用留出法和交叉检验法,当数据集比较小是采用自助法。

  • 自助法在数据集较小、难以有效划分训练/测试集时也很有用。
  • 从初始数据集中产生多个不同的训练集。
  • 改变了初始数据集的分布,会引入估计误差。

2.3 性能度量

错误率(error):最常用的测试指标就是错误率(或者精度)。对于一次分类任务,如果分类错误的样本数为a,总样本数为m,则错误率E=a/m.(精度为1-a/m)。比如为100个西瓜分类,有10个分错了,错误率就是10%。

均方误差(mean squared error):“错误率”一般针对分类任务,回归预测则用均方误差,即各次,预测值与真实值的差的平方的和。

查准率(precision):也就是检索出来的结果中准确的结果所占的比例。比如找出100个西瓜中的好瓜,找出50个,但这50个中只有40个是真正的好瓜,则查准率为80%。

查全率(recall):也就是希望检索的结果中被检索出来的比例。比如找出100个西瓜中的好瓜,找出40个,但真正的好瓜有50个,则查全率为80%。

ROC曲线:很多二分类学习器的分类方法是计算出每一个样本作为正例的概率,然后按照概率大小对样本排序,最后确定一个临界概率(阀值),大于临界概率的认定为正例,其余为反例。以西瓜分类为例。有些西瓜是好瓜的概率高,有些西瓜是好瓜的概率低。把这些西瓜按照概率排序,然后取50%作为临界概率。概率大于50%的认为是好瓜,否则为坏瓜。因此这个排序的质量很重要。
那就产生两个指标:真正例率(“选出的好瓜”真正的好瓜占所有的好瓜的比例,也就是好瓜的查准率),和假正例率(“选出的好瓜”中坏瓜占所有坏瓜的比例)。对于每一个临界概率,都有一个对应的真正例率和假正例率。把各个临界概率对应的真正例率和假正例率绘成图就是ROC图。


AUC:AUC就是ROC曲线中右下方区域的面积。AUC判断一个分类用的排序队列的好坏。

  • 均方误差:

离散均方误差

连续均方误差

2.3.1 错误率和精度

错误率

精度

其中,I(x)为指示函数,当x为真的时候函数值为1,反之为0。
当连续时,错误率和精度分别描述为:

连续错误率

连续精度

2.3.2 查准率、查全率和F1

  • 分类结果混淆矩阵
 预测为正预测为反
结果为正TP(真正例)FN(假反例)
结果为反FP(假正例)TN(真反例)

查准率P=真正/猜正(猜正猜的准不准),查全率R=真正/猜真(猜准猜的正不正)

 

查准率P和查全率R是矛盾的:

举例:挑选?

P-R图可以直观地表示查准率P和查全率R的关系,曲线面积越大,算法越好。如果一个算法的P-R曲线能“包住”另外一个说明该算法比后者要好。
但是P-R图的曲线面积难以计算,我们设计一些度量来比较:

  1. 平衡点(BEP,Break-Even-Point):查准率P=查全率R时的取值。
  2. F1度量:

F1度量基于查准率P和查全率R的调和平均来定义

Fβ是加权调和平均,β>1时查全率R更有影响,β<1时查准率P更有影响(β>0)

  1. 宏F1(macro-F1):

  1. 微F1(micro-F1):

宏F1和微F1用于多个二分类混淆矩阵。

2.3.3 ROC和AUC

  • ROC:受试者工作特征

真正例率TPR=真正/实正

假正例率FPR=真反/实反

ROC曲线:纵轴TPR,横轴FPR
有限的ROC曲线:一共有m+个正例和m-个反例。设前一个标记点为(x,y),当前若为真正例,则对应标记点的坐标为(x,y+1/m+);当前若为反正例,则对应标记点的坐标为(x,y+1/m-)。

AUC:ROC曲线下的面积。

给定m+个正例和m-个反例,令D+和D-分别为正、反例集合,则有“损失”为:

2.3.4 代价敏感错误率和错误曲线

  • 二分类代价矩阵
 预测为0预测为1
真实为00cost01
真是为1cost100

“代价敏感”错误率:

在非均等的代价下,ROC曲线不能直接反映出学习器的期望的总体代价,而代价曲线则可以。代价曲线的横轴和纵轴分别为:

代价曲线图的横轴是取值为[0,1]的正例概率代价,p是样例为正的概率

纵轴是取值为[0,1]的归一化代价,其中FPR是假正例率,FNR=1-TPR

2.4 比较检验

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

2.5 偏差与方差

以回归任务为例:

期望预测

使用样本数相同的不同训练集产生的方差

噪声

期望输出与真实标记的差别称为偏差


假定噪声期望为0,将期望泛化误差进行分解,具体过程见教材即,泛化误差可分解为偏差、方差与噪声之和。


一般来说,偏差与方差有冲突,称为偏差-方差窘境(bias-variance dilemma)。

泛化误差与偏差、方差的关系示意图

训练不足时——欠拟合——偏差主导
训练充足后——过拟合——方差主导

2.课后习题

2.1 (C_{150}^{500})^{2}(C_{150}^{500})^{2}

2.2 答:10折交叉检验:由于每次训练样本中正反例数目一样,所以讲结果判断为正反例的概率也是一样的,所以错误率的期望是50%。 留一法:如果留下的是正例,训练样本中反例的数目比正例多一个,所以留出的样本会被判断是反例;同理,留出的是反例,则会被判断成正例,所以错误率是100%。

2.3 答: 分类器将所有训练样本按自己认为是正例的概率排序,排在越前面分类器更可能将它判断为正例。按顺序逐个把样本标记为正,当查准率与查全率相等时,BEPBEP=查准率=查全率。当然分类器的真实输出是在这个序列中的选择一个位置,前面的标记为正,后面的标记为负,这时的查准率与查全率用来计算F1F1值。可以看出有同样的BEP值的两个分类器在不同位置截断可能有不同的F1值,所以F1值高不一定BEP值也高。 
比如:

1/+    2/+    3/+    4/+    5/+    6/-    7/-    8/-    9/-    10/-
1/+    2/+    3/+    4/+    6/-    5/-    7/-    8/-    9/-    10/-
1/+    2/+    3/+    4/+    6/+    5/-    7/-    8/-    9/-    10/-
第一行是真实的测试样本编号与分类,第二三行是两个分类器对所有样本按为正例可能性的排序,以及判断的结果。显然两个分类器有相同的BEP值,但是他们的F1F1值一个是0.89,一个是0.8。

2.4.试述真正例率(TPR)、假正例率(FPR)与查准率(P)、查全率(R)之间的联系。
查全率: 真实正例被预测为正例的比例 
真正例率: 真实正例被预测为正例的比例 
显然查全率与真正例率是相等的。 
查准率:预测为正例的实例中真实正例的比例 
假正例率: 真实反例被预测为正例的比例 
两者并没有直接的数值关系。

2.5

2.6.试述错误率与ROC曲线之间的关系
ROC曲线每个点对应一个TPR与FPR,所以对应了一个错误率。

E_{cost}=((m^{+}}))*(1-TPR)*cost_{01}+m^{-1}*FPR*cost_{10})/(m^{+}+m^{-}}))),学习器会选择错误率最小的作为断点。

2.7.试证明任意一条ROC曲线都有一条代价曲线与之对应,反之亦然。错误
由定义可以知道TPR与FPR都是由0上升到1,那么FNR则是由1下降到0。 
每ROC曲线都会对应一条代价曲线,由于第一条代价线段的是(0,0),(1,1),最后是(0,1)(1,0)所有代价线段总会有一块公共区域,这个区域就是期望总体代价,而这块区域的边界就是代价曲线,且肯定从(0,0)(到(1,0)。 
在有限个样本情况下,ROC是一条折线,此时根据代价曲线无法还原ROC曲线。但若是理论上有无限个样本,ROC是一条连续的折线,代价曲线也是连续的折线,每个点的切线可以求出TPR与FNR,从而得到唯一的ROC曲线。

2.8.Min-Max规范化与z-score规范化如下所示。试析二者的优缺点。
Min−maxMin−max规范化方法简单,而且保证规范化后所有元素都是正的,每当有新的元素进来,只有在该元素大于最大值或者小于最小值时才要重新计算全部元素。但是若存在一个极大(小)的元素,会导致其他元素变的非常小(大)。 
z−scorez−score标准化对个别极端元素不敏感,且把所有元素分布在00的周围,一般情况下元素越多,00周围区间会分布大部分的元素,每当有新的元素进来,都要重新计算方差与均值。

2.9.试述卡方检验过程。

2.10.
参考:
https://blog.csdn.net/icefire_tyh/article/details/52065867 
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值