机器学习常用的评测指标Rank-n、Precision & Recall、F-score、Map 、CMC、ROC Single shot 和Muti shot

机器学习中常用的评测指标为:Rank-n、Precision & Recall、F-score、Map 、CMC、ROC Single shot 和Muti shot,下面一个个进行介绍。
写到这里方便以后查看
Rank-n和Map 均是衡量算法搜索能力的指标

Rank-n
搜索结果中最靠前(置信度最高)的n张图有正确结果的概率
rank 1, 就是第一次命中
rank k,就是在第k次以内命中
下面看一下是怎样计算的:

  1. 计算rank-1的整个过程为:
    步骤1:计算数据集中每个输入图像的类标签概率。
    步骤2:原始标签与对应概率最大的标签进行比较,若相同为true,反之false
    步骤3:统计步骤2为true的个数
    rank-1准确度,即对应预测最高概率的标签与真实标签相同的个数占总个数的百分比——标签相同的个数 / 总数据个数。

  2. 计算rank-5的整个过程为:
    步骤1: 计算数据集中每个输入图像的类标签概率。
    步骤2: 对预测的类标签概率进行降序排序
    步骤3: 判断真实的标签是否落在预测的top5标签里面,若存在,则标记为true,反之false
    步骤4: 统计步骤3中为true的个数

rank-5准确度是rank-1准确度的扩展,我们对一张图片的预测结果是来自模型输出结果中top5对应的5个预测,而不是top1的1个预测
当处理的大型数据集各个类别之间存在许多具有相似特征时,我们往往会增加一个rank-5准确度,也就是说我们不止关心rank-1准确度,也关心rank-5准确度。结合两个准确度来以衡量神经网络的性能。理想情况下,随着预测数据增加,希望rank-1准确度和rank-5准确度同比例增加。但是,在某些数据集上,情况往往并非总是如此。
因此,我们也根据rank-5准确度检验模型,以确保我们的网络在后面的迭代中仍然是“学习”的。在训练快结束时,rank-1准确度可能会停滞不前,但是当我们的网络学习到更多的识别特征(虽然没有足够的识别能力超过top1的预测)时,rank-5准确度会继续提高。

Map
mAP(mean Average Precision)即平均精确度的缩写。
先来看一下AP:所谓的AP,其实就是平均准确率。这里的平均是相对于不同验证集而言的。
假设我们想要训练一个猫咪分类器,如果是基于像素点级别的,那么就可以将它转换为一个二分类任务,那么它的mAP=正样本的准确率与负样本的准确率的平均值,多分类任务也可以如法炮制。
mAP这个性能指标对于数据不平衡问题就靠谱很多。假设我们有90%的正样本,10%的负样本,如果采用全部输出为正的分类器,那么P正=0.9,P负=0, 而mAP=0.45.

  1. 下面是几个在比较mAP值时需要记住的几个重点:

    1、 mAP需要计算完整个数据集;
    2、 虽然模型输出的绝对量化是难以解释的,但mAP可以通过一个很好的相关性标准来帮助我们。当 我们在流行的公开数据集上计算这个标准是,它可以很容易地用来比较目标检测的新旧方法。
    3、 根据类别在训练集上的分布方式,AP值可能在某些类别上从很高(这有很好的训练数据)变化到很低(对数据很少或不好的类别)。所以你的mAP可能是合适的,但你的模型可能对某些类别非常好而对某些类别非常差。因此当分析你的模型结果时,观察独立类别的AP是明智的。这些值可能作为添加更多训练样本的指示器。

Precision & Recall
即精确率和召回率
精确率(precision):可理解为“真正属于类别A的/找到属于类别A的”
召回率(recall): 可理解为“真正属于类别P的/所有属于类别P的”
准确率(accuracy):精确率+召回率
准确率和召回率都是针对同一类别来说的,并且只有当检索到当前类别时才进行计算,比如在person re-id中,一个人的label为m1,在测试集中包含3张此人的图像,检索出来的图像按照得分从高到低顺序为m1、m2、m1、m3、m4、m1….,此时
第一次检索到m1,提取出的正确信息条数=1,提取出的信息条数=1,样本中的信息条数=3,正确率=1/1=100%,召回率=1/3=33.33%;
第二次检索到m1,提取出的正确信息条数=2,提取出的信息条数=3,样本中的信息条数=3,正确率=2/3=66.66%,召回率=2/3=66.66%;
第三次检索到m1,提取出的正确信息条数=3,提取出的信息条数=6,样本中的信息条数=3,正确率=3/6=50%,召回率=3/3=100%;

F-score
综合权衡Precision和Recall这2个指标,这就引出了一个新的指标F-score。这是综合考虑Precision和Recall的调和值。
因为Precision和Recall是对立关系的,一般情况下,Precision高,Recall就低;Recall高,Precision就低。
所以在实际中常常需要根据具体情况做出取舍,例如一般的搜索情况,在保证召回率的条件下,尽量提升精确率。
机器学习常用的评测指标Rank-n、Precision & Recall、F-score、Map 、CMC、ROC Single shot 和Muti shot_第1张图片
当β=1时,称为F1-score,这时,精确率和召回率都很重要,权重相同。当有些情况下,我们认为精确率更重要些,那就调整β的值小于1,如果我们认为召回率更重要些,那就调整β的值大于1。
比如上面第4点的例子中,在第三次检索到m1时的准确率为50%,召回率为100%,则F1-score=(20.51)/(0.5+1)=66.66%,而F0.5-score=(1.250.51)/(0.25*0.5+1)=55.56%

CMC、ROC
CMC曲线全称是Cumulative Match Characteristic (CMC) curve,也就是累积匹配曲线
ROC曲线Receiver Operating Characteristic (ROC) curve
两种曲线均是做模式识别的重要评价指标,一般将两种曲线同时给出,能够综合评价出算法的好坏。
CMC曲线综合反映了分类器的性能,它的评价指标与现在deep learning中常用的top1 err或top5 err评价指标一样的意思,不同的是这里Rank1 recognition rate表示的是正确率而不是错误率,两者的关系是
Rank1识别率=1-top1 err
Rank5识别率=1-top5 ert
CMC将再识别问题看成是一种排序问题,CMC 曲线的具体含义是指:在候选行人库(gallery)中检索待查询(probe)的行人,前 r 个检索结果中包含正确匹配结果的比率。其中,第 1 匹配率 r=1 指标rank-1反映了最匹配候选目标刚好为待查询图片目标的概率,即该指标为真正的识别能力,因此很重要。但是当 r 值很小但大于1时,由于可以通过人眼进行辅助识别查找目标,因此也很有现实意义,如第 5 匹配率 r=5 指标反映前 5 个匹配候选目标中存在待查询图片目标的概率,如下图:横坐标表示排名等级r,纵坐标表示再识别的准确率。

Roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。
横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity)
纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率)
具体到识别任务中就是,ROC曲线上的每一点反映的是不同的阈值对应的FP(false positive)和TP(true positive)之间的关系。
通常情况下,ROC曲线越靠近(0,1)坐标表示性能越好。
我们先回顾下TP、TN、FP、FN的概念:
TP : True Positive 预测为1,实际也为1
TN:True Nagetive 预测为0,实际也为0
FP:False Positive 预测为1,实际却为0
FN:False Nagetive 预测为0,实际却为1
TPR=TP/(TP+FN)=Recall
FPR=FP/(FP+TN),FPR即为实际为猫中,预测为狗占比

Single shot和Muti shot
前者是指gallery中每个人的图像为一张(N=1),而后者是指gallery中每个人的图像为N>1张图像,同样的Rank-1下,一般N越大,得到的识别率越高

参考博客https://blog.csdn.net/qq_28266311/article/details/87864771#2%E3%80%81single%20shot%20%E5%92%8Cmuti%20shot%EF%BC%9A

你可能感兴趣的:(机器学习)