机器学习(一)模型评估与选择(下)


1. 性能度量

 
        性能度量衡量模型泛化能力的评价标准,对模型泛化评估时,不仅需要有效的实验估计方法,还需要评价标准,这就是性能度量,具体有错误率与精度、查准率、查全率与F1、ROC与AUC等

 
        在预测任务中,给定数据集{ (x1,y1),(x2,y2),……,(xm,ym) },其中yi是xi的label,回归任务最常见的性能度量则是“均方误差”。
                                                        在这里插入图片描述
        对于一般来说,对于数据分布 D 和概率密度函数 p(·),均方误差还可以写成下面公式:
                                                在这里插入图片描述

1.1. 错误率与精度

  • 错误率:分类错误的样本数占样本总数的比例;
                                    在这里插入图片描述
  • 精度:分类正确的样本数占样本总数的比例。
                                    在这里插入图片描述
     

1.2. 查准率、查全率与F1

 
        有时候错误率和精度不能满足任务要求,对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例TP(true positive) 、假正例FP(false positive) 、真反倒TN(true negative) 、假反例FN(false negative) 四种情形:
                                在这里插入图片描述
        如下图可知道,查准率查全率 是一对矛盾的度量,成负相关关系,一般来说,此消彼长。
                                在这里插入图片描述
        通常只有在一些简单任务中,才可能使查全率和查准率都很高,通过 P-R 图可以直观地显示出学习器在样本总体上的查全率、 查准率情况,根据 P-R 图可以看出模型优劣,若一个学习器的 P-R 曲线被另一学习器的曲线完全"包住" , 则可断言后者的性能优于前者,如下图:
                        在这里插入图片描述
        对于学习器A与学习器B不能判断时,这时引入"平衡点 " (Break-Event Point,简称 BEP),它是"查准率=查全率"时的取值,这样就可以判断优劣了,但 BEP 还是过于简化了些,更常用的是 F1 度量
                                        在这里插入图片描述
        F1 度量的一般形式:Fβ,表达出对查准率/查全率的不同偏好。

                        在这里插入图片描述
 

1.3. ROC与AUC

                                                                        在这里插入图片描述
                                在这里插入图片描述
        之前说的查准率查全率 是一对矛盾的度量,成负相关关系。而现在的TPRFPR 则是成正相关关系。进行学习器的比较时, 与 P-R 图相似, 若一个学习器的 ROC 曲线被另一个学习器的曲线完全"包住", 则可断言后者的性能优于前者;若两个学习器的 ROC 曲线发生交叉,则难以断言两者孰优孰劣。此时如果一定要进行比较, 则较为合理的判据是比较 ROC 曲线下的面积,即 AUC (Area Under ROC Curve)

                        在这里插入图片描述
                                                        在这里插入图片描述

Q1:因为对于横平竖直的标准折线用,为什么不是 A U C = i = 1 m 1 ( x i + 1 x i ) y i AUC=\sum_{i=1}^{m-1}(x_{i+1}-x_{i})y_{i}
 
A1:给定 m+个正例和 m- 个反例,因此设前一个标记点坐标为 (x,y) , 当前若为真正例,则对应标记点的坐标为 (x, y + 1 m + y+\frac{1}{m^{+}} );当前若为假正例,则对应标记点的坐标为 ( x + 1 m x+\frac{1}{m^{-}} ,y) ,然后用线段连接相邻点即得;但是图(b)中的ROC曲线只是个特例罢了,因为当模型对某个正样例和某个反样例给出的预测值相同时,便会划分新增两个样例为正例,于是其中一个分类正确一个分类错误,那么下一个点的坐标为 ( x + 1 m , y + 1 m + ) (x+\frac{1}{m^{-}}, y+\frac{1}{m^{+}}) ,此时ROC曲线中便会出现斜线,这时候 A U C = i = 1 m 1 ( x i + 1 x i ) y i AUC=\sum_{i=1}^{m-1}(x_{i+1}-x_{i})y_{i} 不成立。
 


2. 方差、噪声和偏差

2.1. 泛化误差概念

 
        对测试样本 x,令 yD 为 x 在数据集中的标记, y 为 x 的真实标记, f(x; D) 为训练集 D 上学得模型 f 在 x 上的预测输出:

  • 期望 f ˉ ( x ) = E D [ f ( x ; D ) ] \bar{f}(x)=E_{D}[f(x;D)]
  • 方差 v a r ( x ) = E D [ ( f ( x ; D ) f ˉ ( x ) ) 2 ] var(x)=E_{D}[(f(x;D)-\bar{f}(x))^{2}]
  • 噪声 ϵ 2 = E D [ ( y D y ) 2 ] \epsilon ^{2}=E_{D}[(y_{D}-y)^{2}]
  • 偏差 b i a s 2 ( x ) = ( f ˉ ( x ) y ) 2 bias^{2}(x)=(\bar{f}(x)-y)^{2}

泛化误差
                                  在这里插入图片描述

推导:为什么 E ( f ; D ) = b i a s 2 ( x ) + v a r ( x ) + ϵ 2 E(f;D)=bias^{2}(x)+var(x)+\epsilon ^{2} ?
                                        在这里插入图片描述
在这里插入图片描述

2.2. 偏差方差窘境

 
        一般来说,偏差与方差是有冲突的,即 偏差一方差窘境(bias-variance dilemma)。 如下图所示,假定我们能控制学习算法的训练程度,则:

  • 训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以便学习器产生显著变化,此时偏差主导了泛化错误率;
  • 随着训练进行,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;
  • 在训练程度充足后,学习器的拟合能力已非常强,训练数据发生的轻微扰动又都会导致学习器发生显著变化。
                                                    在这里插入图片描述

Reference:

  1. 《机器学习》周志华著
  2. 偏差(Bias)与方差(Variance)
  3. 机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?
  4. 偏差(Bias)与方差(Variance)
发布了58 篇原创文章 · 获赞 24 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_40520596/article/details/104930475