模型评估与选择之性能度量

浏览: 52

在预测任务中,要评估学习器的性能,就要将学习器的预测结果与真实标记进行比较。下面将介绍几个评估学习器性能的方法:

首先给定样例集:image.png,其中image.png是示例image.png的真实标记,想评估学习器的性能的话需要将image.png与真实标记image.png进行比较。

1.回归任务中常见的度量(均方误差)

均方误差表示:image.png

2.错误率与精度

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

错误率是分裂错误的样本数占样本总数的比例;

精度是分类正确的样本数占样本总数的比例,从此可以知道,精度等于1减去错误率

3.查准率、查全率与F1

对于二分类问题而言,有下图:

image.png    其中:image.png

查准率:image.png

查全率:image.png

查准率与查全率是一对矛盾的度量。一般来说,查准率高时查全率低。通常只有在一些简单的任务中,才有可能使查全率与查准率都很高。

在很多情况下,根据学习器的预测结果对样例进行排序,排在前面的是最可能是正例的样本,最后的则是学习器认为最不可能是正例的样本,按此顺序逐个把样本作为正例进行预测,则每次可以计算出查全率与查准率,以查准率为纵轴,查全率为横轴进行画图,就得到P-R曲线。

进行比较时,若一个学习器的P-R曲线被另一个学习器的曲线完全抱住,则可以说后者的性能优于前者。但是如果发生了交叉就比较P-R曲线下边的面积大小,但是这个值并不好估算,因此设计了一些综合考虑查全率、查准率的性能度量。平衡点就是这样一个度量,它是查全率与查准率相等时的取值。在P=R曲线上越靠后的点其学习器越优。但是这个还是过于简化了,更常用的是F1度量:image.png需要注意的是,在不同情况下对查全率和查准率的重视程度会有些不同,例如在商品推荐中为了尽量少打扰用户查准率更重要;在逃犯信息检索系统中,为了尽量少漏掉逃犯,查全率更重要,基于此,上面的F1式子可以改写为:image.png,其中image.png度量了查全率与查准率的重要性,image.png是退化为标准的F1,image.png时查全率有更大影响,image.png时查准率有更大影响。

当有多个二分类混淆矩阵的时候,有两种方法可以计算其F1:

第一种:先在各混淆矩阵上分别计算查全率、查准率。然后再计算其均值,这样就可以得到相应的宏查全率,宏查准率,进而计算出宏F1。

第二种:先将各混淆矩阵的相应元素进行平均,得到平均的真正例、假正例、真反例、假反例。然后再基于这些计算微查全率、微查准率,进而计算出微F1。

4.ROC与AUC

关于ROC这种方法之前的博客提到过,也讲了它的具体原理和计算方法,这里不做过多赘述,只简单的讲下要紧的部分。

很多学习器为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,大于阈值则分为正类,反之分为反类。因此这个实值或者概率预测结果的好坏直接决定学习器的泛华能力。

实际上,根据这个实值或者概率预测结果,可将测试样本进行排序,最可能是正例的排在最前边,最不可能的排在最后边,这样,分类过程就相当于在这个排序排序中以某个截断点将样本分为两部分,前一部分为正例,后一部分为反例。不同条件下可以挑取不同截断点,例如,更重视查准率的话则可选取排序中靠前的位置进行截断,更重视查全率的话可以选择靠后的位置进行截断。因此排序本身的质量好坏体现了“期望泛化性能”的好坏。

ROC的计算比较简单:与前边的P-R曲线类似,先根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为整理进行预测,每次计算出两个重要的量:TPR(真正例率)image.png、FPR(假正例率)image.png然后以假正例率为横轴,真正例率为纵轴画出曲线,即为ROC曲线。其中对角线对应随机猜测模型,点(0,1)对应将所有正例排在所有反例之前的理想模型。与P-R曲线类似,若一个学习器的ROC曲线被另一个的曲线完全包住,则后者性能优于前者;当两个学习器的曲线有交叉的时候,则可比较ROC曲线下的面积,即AUC值。

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

现实中不同的错误造成的后果有所不同,例如:错误的把患者诊断为健康人和错误的把健康人诊断为患者,这两者看似都只犯了一次错误,但是这一次错误所造成的后果很明显会有所不同。为了权衡不同类型错误所造成的不同损失,可以为错误赋予非均等代价。以二分类任务为例,可以根据任务的领域知识设定一个代价矩阵,如图:image.png在这当中我们希望的是最小化总体代价。接下来可以计算出代价敏感错误率。值得注意的是,在非均等代价下,ROC曲线不能直接反映出学习器的期望总体代价,但是代价曲线可以。代价曲线的横轴是取值为[0,1]的正例概率代价,纵轴是取值为[0,1]的归一化代价。

代价曲线的绘制:ROC曲线上每点对应了代价平面上的一条线段,设ROC曲线上上点的坐标为(TPR,FPR),则可以计算出FNR=1-TPR,然后在代价平面上绘制一条从(0,FPR)到(1,FNR)的线段,线段下的面积表示了该条件下的期望总体代价,如此将ROC曲线上每个点转化成代价平面上一条线段,然后取所有线段的下界,围成的面积即为在所有条件下学习器的期望总体代价。

--摘自周志华《机器学习》











推荐 1
本文由 韩冰冰 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册