目录
引言
机器学习的核心目标之一是构建出具有良好性能的模型。为了评估模型的性能,我们依赖于一系列重要的指标。在本文中,我们将深入探讨这些指标,包括True Positive(TP)、True Negative(TN)、False Positive(FP)、False Negative(FN)、精确率、召回率、准确率、F1-score以及目标检测领域中常用的均值平均精度(mAP)。
分类标准
示例:癌症检测
假设我们正在开发一个癌症检测模型,我们有12个患者样本,其中4个是患有癌症的正例,8个是健康的负例。
# 模型预测结果
predicted = [0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0]
# 实际标签
actual = [0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0]
预测值=1 | 预测值=0 | |
真实值=1 | 3(TP) | 1(FP) |
真实值=0 | 1(TN) | 7(FN) |
- TP = 3(实际患病并被正确预测出来的数量)
- FP = 1(实际健康但被错误预测为患病的数量)
- TN = 1(实际患病但被错误预测为健康的数量)
- FN = 7(实际健康并被正确预测出来的数量)
通过这些基本的概念,我们可以计算其他重要的性能指标。
1. 精确率(Precision)
精确率是指模型正确预测为正例的样本中,实际为正例的比例。计算公式为:
- 定义:精确率是指在所有模型预测为正例的样本中,实际为正例的比例。
- 应用场景:
- 欺诈检测:用于确定模型正确识别欺诈交易的比例,以减少误报。
- 医学诊断:用于评估模型正确诊断疾病的能力,减少误诊率。
2. 召回率(Recall)
召回率是指实际为正例的样本中,模型正确预测为正例的比例。计算公式为:
- 定义:召回率是指实际为正例的样本中,模型正确预测为正例的比例。
- 应用场景:
- 恶性肿瘤筛查:用于确保模型不会错过患有癌症的病例,减少假阴性。
- 安全检查点:用于确保模型不会错过潜在威胁,维护公共安全。
3. 准确率(Accuracy)
准确率是指模型正确预测的样本占总样本数的比例。计算公式为:
- 定义:准确率是指所有正确分类的样本数占总样本数的比例。
- 应用场景:
- 二进制分类问题:用于衡量模型整体性能,特别是当正例和负例样本数量相差较大时。
- 文本分类:用于测量模型正确分类文本的能力。
4. F1-score
F1-score综合考虑了精确率和召回率,是一个平衡两者的指标。计算公式为:
- 定义:F1分数是精确率和召回率的调和平均,用于综合考虑精确率和召回率的权衡。
- 应用场景:
- 搜索引擎结果排序:用于衡量搜索结果的质量,平衡相关性和多样性。
- 信息检索:用于评估检索系统的性能,以确保检索到的文档既相关又全面。
5. mAP(均值平均精度)
mAP在目标检测领域中广泛使用,是对模型在多个类别上的性能的平均度量。我们将其它指标拓展到多类别问题。计算公式为:
如下面图形,MAP值就是Precision和ReCall所围成的矩形面积
- 定义:mAP是一种用于衡量对象检测模型性能的指标,它计算每个类别的平均精确率,并将它们的平均值作为最终分数。
- 应用场景:
- 目标检测:用于评估对象检测模型的性能,特别是当存在多个对象类别时。
- 视觉搜索:用于评估图像检索系统的性能,以确保检索到的图像包含相关对象。
总结与通俗解释
通俗来说,准确率回答了“模型总的预测有多准”的问题;召回率回答了“模型对正例的识别能力有多强”的问题;mAP则是用于复杂任务的一个更为全面的评估指标;而F1-score则是尝试将精确率和召回率结合起来,给我们一个更为综合的评估结果。这些指标可以帮助我们更全面地了解模型的性能,从而选择或优化模型。
- TP:模型说“这个人有病”,实际上这个人也真的有病。
- TN:模型说“这个人没病”,实际上这个人也确实没病。
- FP:模型误诊了健康人为病人。
- FN:模型漏诊了真正的病人。
- 精确率:模型说“有病”的人中,真正有病的比例。反映了模型预测的准确性。
- 准确率:准确率是评估模型预测能力的一个基础指标,它反映的是模型所有预测中有多少是预测正确的。准确率越高,说明模型的整体预测能力越强。
- 召回率:召回率关注的是模型对正例的识别能力。它衡量的是在所有真正的正例中,模型能正确识别出多少。召回率高,意味着模型对正例的识别能力强,不会漏掉太多真正的正例。
- mAP:mAP是一个更为复杂的评估指标,主要用于图像分类、目标检测等任务中。它能够衡量模型在多类别上的性能,给出的是一个更为全面的评估。在实际应用中,如果我们的任务是要模型识别图像中的多个物体,那么mAP就是一个非常适合的评估指标。
- F1-score:这是一个综合了精确率和召回率的评估指标。它试图找到一个平衡点,使得精确率和召回率都达到一个相对较高的水平。F1-score高,意味着模型在精确率和召回率上都有不错的表现。