准确率(Precision)和召回率(Recall)

准确率(Precision)

  • 定义:准确率是指在模型预测为正的样本中,真正为正的样本所占的比例。它关注的是模型预测的准确性。

  • 计算公式
    Precision = TP TP + FP \text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}} Precision=TP+FPTP
    其中:

    • TP(True Positive):真正例,模型正确预测为正的样本数。
    • FP(False Positive):假正例,模型错误预测为正的样本数。
  • 应用场景:当需要减少误报时,准确率更重要。例如,在垃圾邮件检测中,高准确率意味着减少正常邮件被误判为垃圾邮件的情况。

召回率(Recall)

  • 定义:召回率是指在所有实际为正的样本中,模型正确预测为正的样本所占的比例。它关注的是模型的覆盖能力。

  • 计算公式
    Recall = TP TP + FN \text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}} Recall=TP+FNTP
    其中:

    • TP(True Positive):真正例,模型正确预测为正的样本数。
    • FN(False Negative):假反例,模型错误预测为负的样本数。
  • 应用场景:当需要减少漏报时,召回率更重要。例如,在疾病诊断中,高召回率意味着减少患者被漏诊的情况。

如何区分

  • 关注点不同

    • 准确率关注的是模型预测为正的样本中有多少是真正的正样本。
    • 召回率关注的是所有实际为正的样本中有多少被模型正确预测出来。
  • ⭐应用场景不同

    • 准确率适用于需要减少误报的场景。
    • 召回率适用于需要减少漏报的场景。
  • 权衡关系

    • 提高准确率可能会降低召回率,反之亦然。通常需要在两者之间找到一个平衡点。

示例

假设有一个目标检测模型在100张图片上进行检测,其中实际有30个正样本(目标存在),70个负样本(目标不存在)。模型的预测结果如下:

  • TP = 20(检测正确到的目标)

  • FP = 10(误检为目标的非目标)

  • FN = 10(漏检的目标)

  • TN = 60(正确检测为非目标的非目标)

  • 准确率
    Precision = 20 20 + 10 = 20 30 ≈ 0.6667 \text{Precision} = \frac{20}{20 + 10} = \frac{20}{30} \approx 0.6667 Precision=20+1020=30200.6667
    准确率为66.67%,表示模型预测为正的样本中有66.67%是真正的正样本。

  • 召回率
    Recall = 20 20 + 10 = 20 30 ≈ 0.6667 \text{Recall} = \frac{20}{20 + 10} = \frac{20}{30} \approx 0.6667 Recall=20+1020=30200.6667
    召回率为66.67%,表示所有实际为正的样本中有66.67%被模型正确预测出来通过。

这个示例可以看出,准确率和召回率虽然计算方式不同,但在某些情况下可能会有相似的数值。实际应用中,需要根据具体需求来权衡两者的重要性。

你可能感兴趣的:(目标检测_ai,机器学习,算法,人工智能)