一、前言
在机器学习中,要评估一个模型在任务中的优越性,需要利用评价指标来对其进行评 估,而评价指标往往有多个,从不同层面来评价模型的优劣,从而使模型的构建者更加的 全面的了解模型的性能,同时依据任务的偏向和要求来对模型进行取舍。常用的分类模型的评价指标有精确率 (Precision) 、召回率 (Recall)、F1-Score (F1)等等
二、评价指标的定义及其作用
1、Precision

这是一个比较常见的评价指标,也比较重要。式中,TP 表示 True Positives,FP 表示 False Positive;相应的,还有FN 表示 False Negatives,TN表示True Negatives。
|--------------------------|---------------------|---------------------|
| | 相关(Relevent) | 无关(NonRelevent) |
| 未被检索到(Not Retrieved) | False Negatives(FN) | True Negatives(TN) |
| 被检索到(Retrieved) | True Positives(TP) | False Positives(FP) |
那么Precision(P)表示的就是被检测到的且正确的比例。换句话说,它衡量了模型正确检测到的对象中,有多少是真正的对象。它是模型的预测结果中真正对象的比例。这个很重要,但也有缺陷
例如有一个模型不论怎么训练都只能检测到两个,还都是对的对象,那么它的P理论上就是100%。它是度量被检测到的目标里的真真假假
2、Recall

召回率(Recall)衡量了真实对象中,模型成功检测到了多少。它是模型检测到的真正对象占所有真实对象的比例。它也有缺陷:
假设有一个数据集真实框只有10个,但是我模型检测出了1000个框,里面包含了那十个,这就算R=1了。R只能衡量真实框被检测的效果如何,多检测错的就没办法考虑了
3、IoU与置信度
IoU就是交并比 (Intersection Over Union),IOU 计算的是"预测的边框"和"真实的边框"的交集和并集的比值。

置信度得分可以有效的帮助我们筛选检测较差 的结果。如图中检测到bounding box中的右上角的数值即为置信度得分。置信的得分是一个0-1之间的数值。

看起来非常复杂,其实理解起来也不容易。其中,Pr(Object) 是预测框内存在对象的概率,Pr(Classi|Object) 是预测框内是某类对象的概率,IoU是预测框与所有真实框之间的最大IoU值(如果存在真实框与预测框匹配)。
在YOLO中,置信度是通过将对象存在的概率与预测框和真实框的最高IoU(如果有一个真实框与该预测框匹配)相乘来计算的。然而,在训练过程中,由于没有真实的IoU值(因为我们在训练时需要预测它),所以通常将置信度简化为对象存在的概率 。在推理(测试)时,我们会使用预测的对象存在概率和预测的框与所有真实框的IoU中的最大值(如果存在匹配的真实框)来计算置信度。
4、AP与mAP
AP即Average Precision,称为平均准确率,是对不同召回率点上的准确率进行平均。AP的值越大,则说明模型的平均准确率越高。
为了说清楚这个就必须介绍P-R曲线:

横坐标是R,纵坐标是P。假设现在一张图片里面有十个人,我们检测这张图片有十多个框,每个框上面都会有一个置信度。我们需要把每个框的P,R都给列出来。

P-R曲线就是前面的那张。AP(Average Precision)就是直接求 P-R 曲线下的面积。AP的值越大,则说明模型的平均准确率越高。但要注意的是,它的本质上就是P的平均值!
mAP是英文mean average precision的缩写,意思是平均精度均值。在目标检测中,一个模型通常会检测很多种物体。那么如果有多个类呢,就需要用到mAP了。定义就是每种类别的AP的均值,还是P的平均值!
5、mAP50和mAP50-95
很多文章里也写作mAP@50和mAP@50:95;也有写作[email protected],[email protected]:0.95
AP50,AP60,AP70......等等指的是取detector的IoU阈值大于0.5,大于0.6,大于0.7......等等。数值越高,即阈值越大,这个AP某某的值越低。mAP50就好理解了,就是IoU的阈值大于0.5的时候的每种分类的AP的平均值。
[email protected]:0.95则表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。这个一般肯定比[email protected]低不少。
三、总结
在机器学习和深度学习的任务中,模型的性能评估至关重要,而评价指标则为我们提供了多角度的衡量标准。常见的分类模型评价指标包括精确率(Precision)、召回率(Recall)、F1-Score、IoU、置信度、AP(平均精度)和mAP(平均精度均值)等。每个指标侧重于不同方面的性能表现,如精确率衡量模型正确预测的比例,召回率则关注模型对真实对象的检测能力,IoU用于衡量预测框与真实框的重叠度,置信度则帮助筛选高质量的检测结果。
AP和mAP进一步将评价指标拓展到多个类别和不同IoU阈值下的精度计算,使得评估更加全面和精确。在目标检测任务中,mAP特别重要,因为它综合了多个类别的表现,并在不同的IoU阈值下提供了更细致的模型性能分析。mAP50和mAP50-95的不同阈值设定,体现了不同精度要求下的模型效果,因此在模型优化过程中,合理选择这些指标并综合考虑它们的优缺点,能够帮助构建者更好地理解和提升模型性能。
总体而言,正确理解并运用这些评价指标,对于优化模型、提升模型在实际任务中的表现具有重要意义。