当前位置:首页 > 阅读 > 一图详解常见分类性能度量(上):Precision,Recall,PR,mAP,F1... (香水分类详解图)

一图详解常见分类性能度量(上):Precision,Recall,PR,mAP,F1... (香水分类详解图)

一图详解常见分类性能度量(上):Precision,Recall,PR,mAP,F1... (香水分类详解图)

篇幅有限,分成上下两篇,此为上篇。

--厚着脸皮的说,应该没有人比我做的更好的笔记了,哈哈

总体思维导图

注意:因为图片大小限制,图中的字看不清楚。所以,可以点击关注我,在评论回复后,私信获得清晰版思维导图pdf。或者关注我的微信公众号ymmPlayAI,后台回复【分类性能度量】自动获取。

微信公众号

我会不断改进,免费分享干货给大家,笔芯~

下面根据这张思维导图,我开始详细解释所有涉及的知识。

01 引言

我们从《机器学习》(俗称西瓜书)的第一章绪论中知道,机器学习的主要研究内容是通过将已有的经验数据(训练集)提供给学习算法训练后得到学习模型(或称之为学习器),而这个学习器可以在面对新的情况时帮助我们做出判断和决策。

在实际应用中,模型结构和超参数等不同选择会得到不同的学习模型,那么如何对不同模型进行评估和选择呢?所以,我们需要可对比的统一的性能度量标准来帮助我们衡量不同学习模型之间的泛化性能,进而从中选择最合适的模型作为最终的模型。也就是说性能度量是衡量模型泛化能力的评价标准。

性能度量与任务需求相关的:

1:性能度量反映了任务需求:在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果;

2:这意味着模型的好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求.

那么上述提到的模型的泛化是指什么呢?以及模型的泛化能力与模型训练中常见的过拟合问题的关系是什么?请看下图详解:

因此,我们的学习目标是在减缓过拟合的基础上,使得模型在新样本上的泛化误差尽可能小,而不单单仅仅是使得训练误差尽可能小。

机器学习可以从是否有指导信息来分为监督学习,半监督学习和自监督学习。本篇文章主要讲解的是最常见的监督学习中分类问题的一些性能度量。比如西瓜书中贯穿全文的经典例子就是如何通过已有关于西瓜的色泽、根蒂、敲声三个属性的数据集来学习和训练,获得能够判断一个西瓜是否为好瓜的二分类学习器。

那么如何从该西瓜分类问题的不同的训练模型中,选择最优的即能更多的判断成功没见过的西瓜是否是好瓜的分类器呢?接下来就让我们来彻底弄懂常见的分类问题的性能度量吧!

02 错误率和精度

错误率和精度是分类问题中最常用的两种性能度量,可用于二分类和多分类问题。它们的概念和例子见下表格:

错误率的定义见下图:

精度的定义见下图:

错误率和精度的应用

错误率和精度虽然常用,但是不能满足所有情况。比如:

挑出的西瓜中有多少比例是好瓜;

所有好瓜中有多少比例被挑了出来;

检索出的信息中有多少是用户感兴趣的;

用户感兴趣的信息中有多少被检索出来了.

查准率与査全率则更为适用于此类需求的性能度量。

03 查准率,查全率

对于二分类问题,在弄懂查准率和查全率之前,我们需要先知道混淆矩阵:将样例根据其真实类别与学习器预测类别的组合划分为真正例( true positive)、假正例( false positive)、真反例( true negative)、假反例( talse negative)四种情形。具体如下图所示:

查准率(P)定义如下:

PS:区分准确率和精确度?准确率是针对我们预测结果而言的,它表示的是预测为正的样例中有多少是真正的正样例。

精确度反应了分类器对整个样本的判定能力(即能将正的判定为正的,负的判定为负的)。用混淆矩阵来表示为:

查全率(R)定义如下:

一般情况下,查准率和查全率是矛盾的:查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。例如:

若希望将好瓜尽可能多地选出来,则可通过增加选瓜的数量来实现,如果将所有西瓜都选上,那么所有的好瓜也必然都被选上了,但这样查准率就会较低;

若希望选出的瓜中好瓜比例尽可能高,则可只挑选最有把握的瓜,但这样就难免会漏掉不少好瓜,使得查全率较低。

错误率和精度的应用

那么,我们如何使用查准率和查全率来选择模型呢?一般情况下,我们通过PR曲线来反映学习器在样本总体上的查准率和查全率来进行比较。

04 PR,F1,mAP

PR曲线/PR图:以査准率为纵轴、査全率为横轴作图,就得到了查准率-查全率曲线,即PR曲线。大致制作流程:

针对每一类,分别进行,比如类A,我们可根据学习器的预测结果对所有2m个测试样例在类A上进行排序:

排在前面的是学习器认为最可能是正例(类A)的样本;

排在最后的则是学习器认为最不可能”是正例(类A)的样本。

按此顺序逐个把样本作为正例(预测标签为类A,只是置信度值不一样)进行预测,则每次可以计算出当前的査全率(横轴)、查准率(纵轴),作为一个点的x和y坐标。则一共有2m+1个点。

将这些点都连起来就是PR曲线。

PR曲线的一个示意图

我们通过一个实际数据来复现一遍PR曲线的制作流程:

首先,我们的目标是使用ROC曲线来评价学习模型结果中是否为好瓜的类别,注意:每次只能为一个类别制作,此类别下会有两个情况:属于该类(统称为正例)还是不属于该类(统称为反例)。

假设:总共有4个测试样例,其中m=2,测试样例共有2个正例(m+)和2个负例(m-)。

这样,一个类别的PR曲线就制作完成了。

PR曲线的应用

A. 单个混淆矩阵时:

比较两条PR曲线优劣,存在两种情况:

一条曲线完全包住另外一条曲线:直接判断

两条曲线有交叉:

使用AP:一个比较合理的判断依据是比较P-R曲线下面积的大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例。但这个值不太容易估算。

平衡点(BEP):综合考虑查准率、查全率的性能度量。

F1度量:BEP曲线还是过于简化了些,更常用的是F1度量。

一般形式F1度量:因为在一些应用中,对查准率和查全率的重视程度有所不同。

那么什么是AP和mAP呢?

AP:average precision 平均精确度,PR曲线下的面积,见下图;

mAP: mean average precision 所有类别的AP的平均值。常用于多分类问题,比如作为目标检测的性能指标等。

B. 多个二分类混淆矩阵时:

例如:

进行多次训练/测试,每次得到一个混清矩阵;

或是在多个数据集上进行训练/测试,希望估计算法的全局 性能;

甚或是执行多分类任务,每两两类别的组合都对应一个混淆矩阵;……

总之,我们希望在n个二分类混淆矩阵上综合考察查准率和查全率。有两种方法可以进行评估:

05 结束语

相信经过上述的解读,大家对这些概念都已经理解和掌握了。由于篇幅的原因,上篇只详细讲解了错误率,精度,查准率,查全率,F1,PR,mAP这几个性能度量。而在下篇中,我会继续进行ROC,AUC,代价敏感错误率和代价曲线的详解。记得评论后私信获取思维导图的PDF哦~或者关注我的公众号获取~

最后,感谢大家的耐心阅读。如果上述描述中有任何的错误和不足之处,欢迎大家批评指正,我会不断改进和完善哈~

PS:《机器学习》这本书我会做成一个系列完成的。第一章绪论的内容可以通过我的B站视频进行了解。

06 引用

书籍【机器学习】,周志华版。

pumpkin-book:

【错误率、精度、查准率、查全率和F1度量】详细介绍:

以上就是(一图详解常见分类性能度量(上):Precision,Recall,PR,mAP,F1... (香水分类详解图))全部内容,收藏起来下次访问不迷路!