分类模型的Top 1和Top 5
flyfish
模型分类的结果指标如下图
acc top1 和 acc top5这两列
关于Top 1和Top 5分两种
top 1 accuracy
top 5 accuracy
和
top 1 error rate
top 5 error rate
这里将需要评估的分类器称为模型
假如一共要测试N张图像,一共有1000个类别,模型推理一张图像,从1000个类中选5个类,5个类中任何一个推理对了,就算对,这就是Top 5。
N ( r i g h t ) = N ( r i g h t ) + 1 N_(right)=N_(right)+1 N(right)=N(right)+1
推理图像中的目标可能是什么类别,按照分数从大到小排列,最大的的那个对了,就算对,因为最大的分数只有一个,就是Top1。
N ( r i g h t ) = N ( r i g h t ) + 1 N_(right)=N_(right)+1 N(right)=N(right)+1
准确率就是
a
c
c
u
r
a
c
y
=
N
(
r
i
g
h
t
)
/
N
accuracy= N_(right) /N
accuracy=N(right)/N
错误率error rate 简单理解就是 1- accuracy
为什么有 Top 1还需要一个Top 5呢?
这个与数据集有关,因为一张图像中有一个标签,也就是属于一类,但是有的图像就有多个类别,所以就需要一个top5 。这个在https://www.image-net.org/challenges/LSVRC/2012/ 这里有说明
编程需要注意的问题
当前自己的类别小于5时,topk这里得改改了,就没有top5了。
参考
https://www.image-net.org/challenges/LSVRC/2012/
https://stats.stackexchange.com/questions/156471/imagenet-what-is-top-1-and-top-5-error-rate