多分类性能度量指标-mAP

1. 目标检测算法问题

  • 定义:找出一个给定图像中的目标,找出目标位置,并对目标进行分类。
  • 适用范围: 目标检测模型通常是在给定的数据集上进行进行训练,数据集上给出的类是固定的,所以模型只能定位和分类数据集中的那些类。此外,目标的位置通常是边界矩阵的形式。故目标检测需要涉及图像中目标的位置信息和对目标进行分类。

2.Precision和Recall

  • Precision Rate: 精确率(查准率),主要用来衡量模型做出预测的精准度,即TP在TP与FP之和中的占比率。

  • Recall Rate: 召回率(查全率),主要用来衡量模型对positives的检测程度,即TP在TP与FN之和中的占比率。

  • 两者在信息检索领域用的比较多。

    准确率(Precision) = 系统检索到的相关文件数量 / 系统所有检索到的文件总数

    召回率(Recall) = 系统检索到的相关文件数量 / 系统所有相关的文件总数

    T P = T r u e P o s i t i v e s TP = True Positives TP=TruePositives

    T N = T r u e N e g a t i v e s TN = True Negatives TN=TrueNegatives

    F P = F a l s e P o s i t i v e s FP = False Positives FP=FalsePositives

    F N = F a l s e N e g a t i v e s FN = False Negatives FN=FalseNegatives

    P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP

    R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP

    将recall作为横坐标,precision作为纵坐标,就可得到precision-recall曲线,二者是“鱼与熊掌,不可兼得”的关系。

3. GT

  • GT(Ground Truth): 训练、验证、测试等数据集中数据的真实值。
  • 例子:对于物体检测问题,GT包含图像、图像中目标的类别、位置、以及目标的边界框等真实信息。

4. IoU

  • IoU (Intersection over union): 交并比,是模型预测值的检测框和真实值的检测框的交集和并集之间的比例,也称Jaccard指数。它衡量了在目标检测问题中对于真实值的预测的优劣。
  • 使用loU看检测是否正确需要设定一个阈值,最常用的阈值是0.5,即:
    • 如果loU > 0.5,则认为是真实的检测(true detection),
    • 如果loU <= 0.5,则认为是错误的检测(false detection)。
    • 计算模型得到的每个检测框(置信度阈值后)的loU值与设定的loU阈值(例如0.5)比较,就可以计算出每个图像中每个类的正确检测次数(A)。

5. mAP

  • 定义:mAP(Mean Average Precison)均值平均精度,或平均正确率均值 ,在目标检测算法中,mAP是一种用来衡量算法精确度的标准,mAP以由它的三个部分来理解:P,AP,mAP。

  • 本质: 多类检测中各类别最大召回率(recall)的一个平均值。

  • P(Precision): 准确率,上面已经叙述过了。

    • **特点:**正确率只考虑了检索到的相关文件数量,没有考虑文件之间的顺序。对一个搜索引擎或推荐系统而言返回的结果必然是有序的,而且越相关的文档排的越靠前越好,于是有了AP的概念。
  • AP(Average Precision):

    • 对一个有序的列表,计算AP的时候要先求出每个位置上的precision,然后对所有的位置的precision再做个average。如果该位置的文档是不相关的则该位置 precision=0。
    • AP衡量的是训练出来的模型在每个类别上的好坏。
    • ** A P c = c ∑ i = 1 n P r e c i s o n i n c AP_c = \frac{c\sum_{i=1}^{n}Precison_i}{n_c} APc=ncci=1nPrecisoni : ** 一个类C的平均精度 = 在验证集上所有的图像对于类C的精度值的和 / 包含类C这个目标的所有图像的数量。
  • mAP: 均值平均精度。

    • mAP衡量的是学出的模型在所有类别或主题上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。
    • mAP衡量的是训练出来的模型在所有类别上的好坏。
    • 得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。
    • $ mAP= \frac{\sum_{i}^{m}AP}{m}$ : mAP=所有类别的平均精度之和 / 所有类别

    使用mAP值时需满足以下条件:

    1. 总是在固定的数据集上计算。
    2. mAP不是量化模型输出的绝对度量,但是是一个比较好的相对度量。在流行的公共数据集上计算这个度量时,这个度量可以很容易的用来比较不同目标检测方法 。
    3. 根据训练中类的分布情况,平均精度值可能会因为某些类别(具有良好的训练数据)非常高,而对另一些类别(对于具有较少或较差数据的类别)而言非常低。所以我们需要MAP可能是适中的,但是模型可能对于某些类非常好,对于某些类非常不好。因此建议在分析模型结果的同时查看个各类的平均精度,这些值也可以作为我们是不是需要添加更多训练样本的一个依据。
  • **例子:**假设有两个主题,主题1有4个相关网页,主题2有5个相关网页。某系统对于主题1检索出4个相关网页,其rank分别为1, 2, 4, 7;对于主题2检索出3个相关网页,其rank分别为1,3,5。

    • 对于主题1,平均准确率为(1/1+2/2+3/4+4/7)/4=0.83。
    • 对于主题 2,平均准确率为(1/1+2/3+3/5+0+0)/5=0.45。
    • 则平均正确率均值mAP=(0.83+0.45)/2=0.64。

这是这几天从网上学习的内容,也没保存是哪群人的分享,所以没放参考链接,如有侵权联系我呦!

你可能感兴趣的:(人工智能)