评估指标
概述
该评价指标适合分类任务与目标检测,主要用于评估模型的性能。该文章对相关指标进行总结,同时对输出的图片进行学习分析
混淆矩阵的组成
- TP(True Positives,真正例):实际为正例,且被模型正确预测为正例的样本数
- FP(False Positives,假正例):实际为负例,但被模型错误预测为正例的样本数
- FN(False Negatives,假负例):实际为正例,但被模型错误预测为负例的样本数
- TN(True Negatives,真负例):实际为负例,且被模型正确预测为负例的样本数
例如对苹果和橙子的预测
实际情况 | 模型预测 | 分析 |
苹果 (Positive) | 预测为苹果 (TP) | 检测器正确预测为苹果 |
苹果 (Positive) | 预测为橙子 (FN) | 检测器错误预测为橙子(漏检苹果) |
橙子 (Negative) | 预测为苹果 (FP) | 检测器错误预测为苹果(误检橙子) |
橙子 (Negative) | 预测为橙子 (TN) | 检测器正确预测为橙子。 |
详细分析
准确率
计算方法分析
判断随机检测的100个水果中,哪些水果被正确的分类,真实情况是40个苹果60个橙子,假如检测器的水果的预测结果为
- 30 个苹果正确检测为苹果(TP = 30)
- 10 个苹果被误检测为橙子(FN = 10)
- 5 个橙子被误检测为苹果(FP = 5)
- 55 个橙子正确检测为橙子(TN = 55)
优缺点分析
- 优点
- 直观简单,可以看出其整体性能如何,适合在类别分布均衡的情况下使用
- 该模型在苹果和橙子数量差不多的情况下,可以很好的反应模型的性能
- 缺点
- 假如95个橙子和5个苹果,那么就会总是预测出橙子,那么假如此时的情况如下
- TP = 0(所有苹果都预测为橙子)
- TN = 95(所有橙子都预测正确)
- FP = 0(没有误检橙子为苹果
- FN = 5(所有苹果都被漏检)
- 此时的准确率高达95%,但是检测器完全没有正确识别苹果,所以不可以判定该模型是好的
- 假如95个橙子和5个苹果,那么就会总是预测出橙子,那么假如此时的情况如下
精确率
计算方法分析
假如对于包裹的分析,总共有100个包裹,20个有违禁品(正例),80个不含违禁品(反例),此时模型预测结果如下
- 预测了 15 个包裹含有违禁品,其中:
- 10 个是实际违禁品(TP = 10)
- 5 个是误判的(FP = 5)
- 剩余的 85 个包裹被预测为正常包裹,其中:
- 10 个是实际违禁品,但被误判为正常包裹(FN = 10)
- 75 个是实际正常包裹(TN = 75)
优缺点分析
- 优点
- 精确度可以避免普通包裹的误报也就是减少FP,高精确率意味着系统标记为违禁品的包裹,大部分确实是违禁品
- 缺点
- 精确率 忽略了实际违禁品中未被识别出来的包裹(FN = 10)。如果只看精确率,这种漏检的情况不会被体现
召回率
计算分析
继续接着上述检测包裹的例子计算,那么此时的召回率是
优缺点分析
- 优点
- 减少漏检(FN):召回率关注模型是否漏掉正例(FN)。高召回率意味着模型捕获了大多数正例
- 适用于需要高召回率的任务:如癌症筛查或安全检测,FN 会带来严重后果
- 缺点
- 忽略误报(FP):召回率不关注误报(FP),可能导致模型过于激进地预测正例,从而产生较多假正例
F1-Score
分析
技术上述对于包裹的检测,那么可以计算出f1为
分类评估
二分类评估
事例说明
例如分析信用卡欺诈行为,真实情况是30笔交易欺诈(正例),70笔交易实正常(反例),那么模型的预测结果如下
- 预测为欺诈交易的有 40 笔
- 25 笔为真正的欺诈交易(TP = 25)
- 15 笔为误报(FP = 15)
- 预测为正常交易的有 60 笔
- 5 笔是被漏检的欺诈交易(FN = 5)
- 55 笔为正确的正常交易(TN = 55)
多分类评估
例如篮球、鸡、人中的事例,总图片4776张
- 人的图片数:1748
- 鸡的图片数:1558
- 球的图片数:1473
注:截图来源于“炮哥带你学”
针对人进行计算
针对鸡计算
目标检测评估
计算回顾
交并比IOU
置信度
- 存在性得分:预测框中是否存在目标的概率。
- 类别得分:预测框中目标属于某一类别的概率。
目标检测分析图
归一化的混淆矩阵
主要用于显示 真实类别(True Label) 与 预测类别(Predicted Label) 之间的对应关系
- 颜色深浅:越接近深蓝色(值越接近 1.00),说明对应的预测和真实类别高度匹配(高准确性);浅色(值接近 0.00)表示预测和真实类别的重合度较低
- 对角线:表示预测类别与真实类别完全一致的情况;理论上越接近1那么识别的效果越好
- 非对角线
- 表示预测错误的情况,即预测类别与真实类别不一致
- 值越大,说明模型在该类别上存在明显误分类
- 特殊类别(注意)
- Background FN:真实是背景区域,但被误分类为某个目标类别(漏检)
- Background FP:模型误将背景区域预测为目标类别(误报)
F1-Score 与 Confidence 阈值关系图
分析
- 横轴置信度
- 低阈值(靠近 0): 模型几乎会将所有预测框保留下来,包括低质量预测框
- 高阈值(靠近 1): 模型只保留置信度非常高的预测框,从而减少假阳性(FP)
- 纵轴:F1-Score
- 值越高,表示模型在当前置信度下的精确率和召回率平衡得越好
- 值越低,表示模型的预测质量较差,要么漏检过多(低召回率),要么误检过多(低精确率)
精确率与置信度关系图
分析
- 横轴置信度
- 低阈值(靠近 0): 模型几乎会将所有预测框保留下来,包括低质量预测框
- 高阈值(靠近 1): 模型只保留置信度非常高的预测框,从而减少假阳性(FP)
- 纵轴:Precision(精确率)
- 衡量模型预测为正例的样本中,有多少是正确的
- 值越高,表示模型预测为正例的置信度越高、准确性越好
Precision-Recall 曲线
分析
理想的目标检测模型希望在 高 Recall 的同时保持 高 Precision,即曲线尽可能靠近右上角
- 横轴:Recall(召回率)
- 值越高,说明模型能够捕获更多的正例(漏检较少)
- 横轴从 0 到 1,表示召回率从低到高
- 纵轴:Precision(精确率)
- 值越高,说明模型预测为正例的准确性越高(误报较少)
- 纵轴从 0 到 1,表示精确率从低到高
召回于置信度关系图
分析
类似超时摄像头捕捉顾客行为,目标是捕捉所有顾客(即召回率高),并且准确地识别出每个人(即精确率高)
- 置信度:摄像头对捕捉到的画面有一个“清晰度分数”(类似置信度),分数越高,表示画面越清晰
- 低置信度(靠近 0.0): 模型会保留几乎所有预测框,包括高置信度和低置信度的预测框
- 高置信度(靠近 1.0): 模型仅保留置信度很高的预测框,预测结果更加“谨慎”
- 召回率:摄像头对所有经过的顾客都能记录下来
- 值越高,说明模型能够捕获更多的正例(漏检少)
- 值为 1.0 时,表示模型捕获了所有的真实正例,没有漏检