首页 > 编程知识 正文

精确度计算(精确度和精密度)

时间:2023-05-04 08:44:14 阅读:100780 作者:452

00-1010是通过一个容易理解的例子介绍的。

大家都听说过狼吃羊的故事。懒羊羊,一个孩子,不是思想不好,而是有时候不靠谱。Cjdym继承了祖先的优良传统,带着狼族进攻杨村,懒羊羊在门口报告狼族的进攻。这时,会出现以下四种情况。

在这个例子中:

A.正预测样本是懒羊羊的提醒,负预测样本是懒羊羊的不提醒。

B.实际正样本数是狼族攻击,实际负样本数是狼族没有攻击。

C.真的是,攻击和提醒,没有攻击也没有提醒;错误的警告,攻击但不提醒,不攻击但提醒。

准确率:即正确提醒狼族攻击的次数/所有提醒狼族的次数。

召回率:即正确提醒狼族所有真狼的攻击次数/次数。

准确性:所有事实/所有情况。

看完这里的例子,如果看一下技术术语的解释,应该很容易理解:

1.正面和负面的例子

现在假设我们的分类目标只有两类,分别是正的和负的,那么我们可以得到以下四种情况:

(1)正确划分为正例的真阳性数(TP) :即分类器分类为正例的实际为正例的实例(样本)数;

(2)误分类为正例的误报数(FP) :即实际为负例但被分类器分类为正例的实例数;

(3)误分类为负例的假阴性数(FN) :即实际为正例但被分类器分类为负例的实例数;

(4)正确划分为否定格的真否定数(TN) :即分类器划分为否定格的实际为否定格的实例数。

2.p(精度)

p代表精度,即准确率,表示预测样本中实际阳性样本占所有阳性样本的比例,计算公式为:

准确率=正确预测样本中的实际阳性样本数/所有阳性样本数。

即精度=TP/(tpfp);

3.召回率

r代表召回率,即召回率,代表实际阳性样本占所有预测样本的比例,计算公式为:

召回率=正确预测样本中的实际阳性样本数/实际阳性样本数

即回忆=TP/(tpfn);

一般来说,召回率越高,准确率越低。

4.准确度

ACC代表精度,即准确度,表示预测正确数在所有样本中所占的比例,计算公式为:

准确度=所有正确分类样本的数量/预测样本中所有样本的数量。

ACC=(tptn)/(tpfp tnfn);

5.平均准确度

代表AP平均精度,即平均精度。

1-4的概念应该可以理解。现在,美联社,如何理解这个平均精度的概念以及如何寻求它?

在学习如何计算ap之前,请了解pr曲线:

P-R曲线,顾名思义,就是P-R的关系图,表示召回率和准确率之间的关系。我们可以制作一条具有精度和召回率的二维曲线作为坐标系中的垂直和水平坐标。

上图是一个P-R曲线的例子。通过这些例子,我们可以发现一个规律:准确率越高,召回率越低。当召回率达到1时,概率得分最低的正样本为最低精度值。此时,正样本数除以大于或等于阈值的样本数。

现在让我们举一个具体的例子来看看如何解决ap。

假设有20个测试样本,每个样本的id、置信度和地面真值标签如下:

如果这里有不清楚的自信和真相标签,可以自己搜索学习。地面真实标签由地面真实的预测bbox和iou确定为正样本或负样本。

接下来,对置信度评分进行排序,得到:

ption">

我们得到top-5的结果,前score最高的前5个样本,预测label为1,即:

此例中采用top-5评估,也可采用其他评估,如AP50,即当预测框与真实框的IoU值大于这个阈值时,该预测框才被认定为真阳性(True Positive, TP),反之就是假阳性(False Positive,FP)。

在这个例子中,true positives就是指第4和第2张图片,false positives就是指第13,19,6这三张图片。是相对于方框内的元素而言,在这个例子中,confidence score排在top-5之外的元素为false negatives和true negatives,即:

其中,false negatives是指第9,16,7,20张图片,true negatives是指第1,18,5,15,10,17,12,14,8,11,3张图片。

那么,这个例子中Precision=2/5=40%,意思是对于car这一类别,我们选定了5个样本,其中正确的有2个,即准确率为40%;Recall=2/6=30%,意思是在所有测试样本中,共有6个car,但是因为我们只召回了2个,所以召回率为30%。此时为下图中第5个样本点。同理图中第一个样本点:P=1,R=1/6,第二个样本点,考虑前两个样本,P=1,R=2/6=1/3。。。

这个例子的precision-recall曲线如下:

实际多类别分类任务中,我们通常不满足只通过top-5来衡量一个模型的好坏,而是需要知道从top-1到top-N(N是所有测试样本个数,本文中为20)对应的precision和recall。显然随着我们选定的样本越来也多,recall一定会越来越高,而precision整体上会呈下降趋势。把recall当成横坐标,precision当成纵坐标,即可得到常用的precision-recall曲线。

AP计算:

来自PASCAL VOC CHALLENGE2010年后的计算方法。假设这N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, ..., M/M),对于每个recall值r,我们可以计算出对应(r' >= r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。计算方法如下:​

注意这里,绿色的那行,按理说是3/6,但为了保存单调递减,调整到了4/7。

相应的Precision-Recall曲线(这条曲线是单调递减的)如下:​

AP衡量的是学出来的模型在每个类别上的好坏,mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。

mAP 是 Mean Average Precision 的缩写,即 均值平均精度。作为 object dection 中衡量检测精度的指标。计算公式为:

mAP = 所有类别的平均精度求和除以所有类别。

本来主要参考博客:

https://blog.csdn.net/shuiyixin/article/details/86349643

https://blog.csdn.net/qq_41994006/article/details/81051150

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。