生动理解深度学习中常用的各项评价指标含义TPFPTNFNRecallIoUAccuracy

Posted Gisleung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生动理解深度学习中常用的各项评价指标含义TPFPTNFNRecallIoUAccuracy相关的知识,希望对你有一定的参考价值。

无论是对于图像领域的分类、分割问题,亦或点云领域的物体分类、场景分割,在评价一个模型的好坏时,经常涉及TP、FP、TN、FN、Recall、IoU、Accuracy。。。等指标进行衡量,那么这些指标是什么意思呢?
今天有幸请到了鸭子先生、猴子客官和熊猫大大来给大家亲身示范一下。

开场

咦!发现10只可爱的小动物,可是我们不知道是什么动物,要不用深度学习分一下类吧?

这个时候直接掏出训练好模型,把这些小动物丢进去,一番等待之后,我们有了以下的预测结果:

很明显,模型并没有非常完美的完成任务。但是如何评价它呢?

基本指标:TP、FP、TN、FN

对某一类别A来讲:T = true,表示正确分类的;F = false,表示错误分类的;P = Positive,表示预测结果为A;N = Negative,表示预测结果为非A。

  • TP(True Positive): 正确分成A的数目,既预测为A,真值也是A,。
  • FP(False Positive): 错误分成A的数目,既预测为A,真值是非A
  • TN(True Negative): 正确分成非A的数目, 既预测为非A,真值也是非A,。
  • FN(False Negative): 错误分成非A的数目,既预测为非A, 真值是A

那么:对于上述3个动物类别而言:

类别TPFPTNFN
鸭子5131
猴子1171
熊猫2080

可以看到,对每一个类别而言,TP+FP+TN+FN == 10(共10个动物)

准确率:Accuracy

含义:所有小动物分类的准确率,总共10只小动物,其中8只被正确分类。
计算:8 / 10 = 80.00%

精准率:Precision

含义:一动物类别A的所有预测结果里,真值为A的动物所占的比例
计算:P = TP / (TP + FP)

  • 鸭子:5 / (5 + 1)= 83.33%
  • 猴子:1 / (1 + 1)= 50.00%
  • 熊猫:2 / (2 + 0)= 100.00%

召回率:Recall

含义:一动物类别A的所有预测结果里,真值为A的数目,除以原始数据中A类动物的总个数
计算:R = TP / (TP+FN)

  • 鸭子:5 / 6= 83.33%
  • 猴子:1 / 2= 50.00%
  • 熊猫:2 / 2= 100.00%

交并比:IoU

含义:某一类的预测结果和真实值的交集与并集的比值

  • 鸭子: 真实值(6只鸭)预测结果(5只鸭+1只猴),其交集为5只,并集为7只。
    计算:IoU = 5 / 7= 0.714
  • 猴子: 真实值(2只猴)预测结果(1只鸭+1只猴),其交集为1只,并集为3只。
    计算(猴子):IoU = 1 / 3= 0.333
  • 熊猫: 真实值(2只熊)预测结果(2只猫),其交集为2只,并集为2只。
    计算(熊猫):IoU = 2 / 2= 1

可见:IoU值约接近于1,表示该类的预测结果越好

平均交并比:mIoU

含义:所有类别的IoU求和,除以类别数目
计算:(0.714 + 0.333 + 1)/ 3 = 0.682

参考:

  1. 深度学习中的精确率与召回率

以上是关于生动理解深度学习中常用的各项评价指标含义TPFPTNFNRecallIoUAccuracy的主要内容,如果未能解决你的问题,请参考以下文章

深度学习目标检测之评价指标

深度学习分类任务常用评估指标

深度学习分类任务常用评估指标

Python深度学习之路-3.1性能评价指标

Python深度学习之路-3.1性能评价指标

Python深度学习之路-3.1性能评价指标