目标检测中的几个重要指标

1:准确率 (Accuracy)

准确率衡量的是「所有预测」中「正确预测」的比例。

公式: Accuracy = (TP + TN) / (TP + TN + FP + FN)

通俗理解: “模型猜对的次数占总次数的百分比。”

关注点: 整体的正确性,同时考虑了正例和负例的预测情况。

2. 精确率 (Precision)

精确率衡量的是「所有被预测为正例」的结果中,「真正是正例」的比例。

公式: Precision = TP / (TP + FP)

通俗理解: “模型说是目标的东西,有多少真的就是目标?” 或者说 “宁缺毋滥”。
精确率主要关注的是预测结果中的正类样本的质量,即在预测为正类的样本中有多少是准确的。

关注点: 预测结果的可靠性或准确性。它只关心那些被模型标记为“正”的样本。

3.召回率

一个生动的比喻:撒网捕鱼
想象你在一个鱼塘里捕鱼,这个鱼塘里总共有 10条鱼(这就是真实目标)。

TP(真阳性):你捞上来的网里,确实有 6条鱼。
FN(假阴性):有 4条鱼 从网眼里漏了出去,还在鱼塘里。(被模型预测为负类的正样本)
FP(假阳性):你的网里还捞上来 3只破鞋(这是误检,影响精确率,但不影响召回率:实际为负类的样本被错误地分类为正类的数量)。

请问你的捕鱼网(模型)的召回率是多少?

Recall = 捞到的鱼(TP) / 鱼塘里所有的鱼(TP + FN) = 6 / 10 = 60%

这个指标只关心:鱼塘里总共10条鱼,你抓住了多少条? 它不关心你网上来的破鞋(FP)

4.召回率与精确率的比较

指标 公式 关注点 回答的问题
召回率(Recall) TP / (TP + FN) 避免漏检(FN) 所有真实的目标,我找出了多少?
精确率(Precision) TP / (TP + FP) 避免误检(FP) 我找出的所有目标中,有多少是真的?

场景分析:

假设一个安全系统监控一片区域,该区域隐藏着5个真实入侵者(真实目标)。

模型A(高召回率模式): 报告了100次警报。

其中,5个是真实入侵者(TP=5)。

没有漏掉任何入侵者(FN=0)。

但有95次是误报,比如猫、影子等(FP=95)。

Recall = 5 / (5+0) = 100% (所有入侵者都找到了!)

Precision = 5 / (5+95) = 5% (但警报几乎都是假的,烦死人)

模型B(高精确率模式): 只报告了1次警报。

这1次警报确实是入侵者(TP=1)。

没有误报(FP=0)。

但漏掉了4个入侵者(FN=4)。

Precision = 1 / (1+0) = 100% (每次警报都极其可靠!)

Recall = 1 / (1+4) = 20% (但大部分入侵者都漏掉了,太危险!)

结论: 没有完美的模型,召回率和精确率之间存在天然的权衡(Trade-off)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐