机器学习、深度学习评价指标汇总:TP、TN、FP、FN、AP、mAP、IoU、mAP@3、Prec@10、 Acc@10

news2024/10/11 1:37:25

系列文章目录


文章目录

  • 系列文章目录
  • 一、真正例(True Positive)、假正例(False Positive)、真负例(True Negative)和假负例(False Negative)是评估分类模型性能的重要概念。
    • 1. 定义
    • 2. 例子
    • 3. 计算指标
    • 4. 总结
  • 二、AP(Average Precision)和mAP(mean Average Precision)是用于评估目标检测和信息检索等任务中模型性能的重要指标。
    • 1. Average Precision (AP)
      • 2. mean Average Precision (mAP)
      • 3. 应用
      • 4. 重要性
      • 5. 示例
      • 总结
  • 三、IoU(Intersection over Union)
    • 定义:
    • 1. 计算方法
      • 2. 示例
        • 计算步骤:
      • 3. IoU 的意义
      • 4. 应用场景
      • 5. 总结
  • 四、mAP@0.3
    • mAP@0.3 的含义
      • 应用场景
      • 总结
  • 五、在信息检索(retrieval)任务中,R@(Recall at k)是一个重要的评估指标,用于衡量模型在前 k 个检索结果中找到相关项的能力。
    • 1. 定义
    • 2. 计算步骤
    • 3. 示例
    • 4. 应用场景
    • 5. 重要性
    • 6. 总结
  • 六、Prec@10 和 Acc@10 是两个不同的指标,它们在定义和计算上有显著区别。
      • 1. 定义
      • 2. 计算方式
      • 3. 示例
        • **计算 Prec@10**:
        • **计算 Acc@10**:
      • 4. 应用场景
      • 5. 总结


一、真正例(True Positive)、假正例(False Positive)、真负例(True Negative)和假负例(False Negative)是评估分类模型性能的重要概念。

这些指标主要用于二分类问题,详细介绍如下:

1. 定义

  • 真正例 (True Positive, TP)
    模型正确地将正类(例如,某种疾病存在)预测为正类的实例数量。

  • 假正例 (False Positive, FP)
    模型错误地将负类(例如,某种疾病不存在)预测为正类的实例数量。这通常被称为“误报”。

  • 真负例 (True Negative, TN)
    模型正确地将负类预测为负类的实例数量。

  • 假负例 (False Negative, FN)
    模型错误地将正类预测为负类的实例数量。这通常被称为“漏报”。

2. 例子

假设我们有一个用于检测疾病的模型,测试结果如下:

  • 实际情况

    • 10人有疾病(正类)
    • 90人没有疾病(负类)
  • 模型预测结果

    • 8人被正确预测为有疾病(TP = 8)
    • 2人被错误预测为没有疾病(FN = 2)
    • 5人被错误预测为有疾病(FP = 5)
    • 85人被正确预测为没有疾病(TN = 85)

3. 计算指标

根据上述例子,我们可以计算以下指标:

  • 准确率 (Accuracy)

Accuracy = T P + T N T P + T N + F P + F N = 8 + 85 8 + 85 + 5 + 2 = 93 100 = 0.93 \text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} = \frac{8 + 85}{8 + 85 + 5 + 2} = \frac{93}{100} = 0.93 Accuracy=TP+TN+FP+FNTP+TN=8+85+5+28+85=10093=0.93

  • 精确率 (Precision)

Precision = T P T P + F P = 8 8 + 5 = 8 13 ≈ 0.615 \text{Precision} = \frac{TP}{TP + FP} = \frac{8}{8 + 5} = \frac{8}{13} \approx 0.615 Precision=TP+FPTP=8+58=1380.615

  • 召回率 (Recall)

Recall = T P T P + F N = 8 8 + 2 = 8 10 = 0.8 \text{Recall} = \frac{TP}{TP + FN} = \frac{8}{8 + 2} = \frac{8}{10} = 0.8 Recall=TP+FNTP=8+28=108=0.8

  • F1分数 (F1 Score)

F 1 = 2 × Precision × Recall Precision + Recall = 2 × 0.615 × 0.8 0.615 + 0.8 ≈ 0.692 F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} = 2 \times \frac{0.615 \times 0.8}{0.615 + 0.8} \approx 0.692 F1=2×Precision+RecallPrecision×Recall=2×0.615+0.80.615×0.80.692

4. 总结

  • 真正例真负例反映了模型的正确预测能力。
  • 假正例假负例则反映了模型的错误预测情况。
  • 通过计算准确率、精确率、召回率和F1分数等指标,可以全面评估模型的性能。

这些概念在实际应用中非常重要,尤其是在医疗、金融和安全等领域,能够帮助我们理解模型的优缺点并进行改进。

二、AP(Average Precision)和mAP(mean Average Precision)是用于评估目标检测和信息检索等任务中模型性能的重要指标。

1. Average Precision (AP)

定义
AP是通过计算精确率(Precision)和召回率(Recall)曲线下的面积来衡量模型在不同阈值下的性能。它综合考虑了模型在不同召回率水平下的精确率。查准率和查全率是一对矛盾的度量,一般而言,查准率高则查全率偏低,查全率高时查准率则偏低。为了更全面的衡量模型的性能提出了AP概念。AP 表示的是检测器在各个 Recall 情况下的平均值,对应的就是 PR 曲线下的面积(AUC, Area Under Curve),如下图所示。
在这里插入图片描述

矛盾:如果我们提高查准率,通常需要减少假正例(FP),这可能导致模型对正类的预测变得更加严格,从而可能漏掉一些真正的正类(增加假负例,FN),导致查全率降低。反之,如果我们提高查全率,可能会放宽模型的判定标准,这样会增加假正例(FP),从而降低查准率。

计算步骤

  1. 排序预测结果:根据模型的置信度分数对预测结果进行排序。
  2. 计算精确率和召回率:在每个预测结果中计算精确率和召回率。
  3. 绘制PR曲线:以召回率为横轴,精确率为纵轴绘制曲线。
  4. 计算AP:AP是PR曲线下的面积,通常通过插值法或数值积分法计算。

2. mean Average Precision (mAP)

定义
mAP是对多个类别的AP值进行平均,通常用于多类别目标检测任务。它提供了一个整体的性能评估。

计算步骤

  1. 计算每个类别的AP:对每个类别分别计算AP。
  2. 取平均:将所有类别的AP值取平均,得到mAP。

3. 应用

  • 目标检测:在如COCO、PASCAL VOC等数据集的评估中,mAP是常用的性能指标。
  • 信息检索:用于评估搜索引擎和推荐系统的效果。

4. 重要性

  • 综合性能评估:AP和mAP能够综合考虑模型在不同置信度阈值下的表现,提供更全面的性能评估。
  • 适应性强:适用于多类别和多标签问题,使其在实际应用中具有广泛的适用性。

5. 示例

假设我们有一个目标检测模型,检测到三种物体(如猫、狗、鸟),我们可以为每种物体计算AP,然后取平均值,得到mAP。例如:

  • 猫的AP = 0.75
  • 狗的AP = 0.85
  • 鸟的AP = 0.65

那么,mAP为:

mAP = 0.75 + 0.85 + 0.65 3 ≈ 0.75 \text{mAP} = \frac{0.75 + 0.85 + 0.65}{3} \approx 0.75 mAP=30.75+0.85+0.650.75

总结

AP和mAP是评估目标检测和信息检索模型性能的重要指标,能够有效反映模型在不同条件下的表现,帮助研究人员和工程师优化模型。

三、IoU(Intersection over Union)

定义:

IoU(Intersection over Union)是用于评估目标检测模型性能的一个重要指标。它衡量的是预测边界框与真实边界框之间的重叠程度,通常用于判断模型的预测是否准确。

1. 计算方法

在这里插入图片描述

IoU 的计算步骤如下:

  1. 计算重叠区域

    • 计算预测框(Predicted Box)和真实框(Ground Truth Box)之间的重叠区域(Intersection)。
  2. 计算联合区域

    • 计算预测框和真实框的并集区域(Union),即预测框和真实框的总面积。
  3. 计算 IoU

    • 使用以下公式计算 IoU:

IoU = Area of Intersection Area of Union = A ∩ B A ∪ B \text{IoU} = \frac{\text{Area of Intersection}}{\text{Area of Union}} = \frac{A \cap B}{A \cup B} IoU=Area of UnionArea of Intersection=ABAB

其中:

  • A A A 是预测框的面积。
  • B B B 是真实框的面积。
  • A ∩ B A \cap B AB 是重叠区域的面积。
  • A ∪ B A \cup B AB是预测框和真实框的并集面积。

2. 示例

假设我们有以下两个矩形框:

  • 真实框(Ground Truth Box):左下角 (1, 1),右上角 (4, 4)
  • 预测框(Predicted Box):左下角 (2, 2),右上角 (5, 5)
计算步骤:
  1. 计算重叠区域
    • 重叠区域的左下角是 (2, 2),右上角是 (4, 4),面积为:

Area of Intersection = ( 4 − 2 ) × ( 4 − 2 ) = 2 × 2 = 4 \text{Area of Intersection} = (4 - 2) \times (4 - 2) = 2 \times 2 = 4 Area of Intersection=(42)×(42)=2×2=4

  1. 计算联合区域
    • 真实框的面积:

Area of Ground Truth = ( 4 − 1 ) × ( 4 − 1 ) = 3 × 3 = 9 \text{Area of Ground Truth} = (4 - 1) \times (4 - 1) = 3 \times 3 = 9 Area of Ground Truth=(41)×(41)=3×3=9

  • 预测框的面积:

Area of Predicted Box = ( 5 − 2 ) × ( 5 − 2 ) = 3 × 3 = 9 \text{Area of Predicted Box} = (5 - 2) \times (5 - 2) = 3 \times 3 = 9 Area of Predicted Box=(52)×(52)=3×3=9

  • 并集区域的面积:

Area of Union = Area of Ground Truth + Area of Predicted Box − Area of Intersection = 9 + 9 − 4 = 14 \text{Area of Union} = \text{Area of Ground Truth} + \text{Area of Predicted Box} - \text{Area of Intersection} = 9 + 9 - 4 = 14 Area of Union=Area of Ground Truth+Area of Predicted BoxArea of Intersection=9+94=14

  1. 计算 IoU

IoU = 4 14 ≈ 0.286 \text{IoU} = \frac{4}{14} \approx 0.286 IoU=1440.286

3. IoU 的意义

  • 性能评估:IoU 是目标检测任务中常用的性能评估指标。它用于判断一个预测框是否可以被视为正确的检测(通常设定一个阈值,如 0.5)。
  • 阈值设置:不同的 IoU 阈值会影响模型的评估结果。例如,IoU ≥ 0.5 通常被视为一个成功的检测,而 IoU ≥ 0.3 则表示更宽松的标准。

4. 应用场景

  • 目标检测:在 COCO、PASCAL VOC 等数据集的评估中,IoU 是计算 mAP(mean Average Precision)的基础。
  • 实例分割:在实例分割任务中,IoU 用于评价分割结果的准确性。

5. 总结

IoU 是一个简单而有效的指标,用于量化预测框与真实框之间的重叠程度。它在目标检测和实例分割等计算机视觉任务中发挥着重要作用,帮助研究人员和工程师评估和优化模型性能。

四、mAP@0.3

 mAP@0.3 是一种用于目标检测模型评估的指标,表示在特定的 IoU(Intersection over Union)阈值下计算的 mAP(mean Average Precision)。具体来说,0.3 表示 IoU 阈值为 0.3。以下是详细解释:

mAP@0.3 的含义

  • mAP@0.3 表示在 IoU 阈值为 0.3 时计算的 mAP。这意味着:
    • 只要模型的预测结果与真实框的 IoU 大于或等于 0.3,就会被视为一个正确的检测(TP)。
    • 这种评估方式通常更宽松,因为 IoU 阈值较低,允许有更多的预测被认为是正确的。

应用场景

  • 目标检测:在如 COCO、PASCAL VOC 等数据集的评估中,mAP@0.3 可以用来快速评估模型的性能,尤其是在对检测精度要求不那么严格的场景下。

总结

mAP@0.3 是一个重要的性能指标,用于评估目标检测模型在较低重叠要求下的准确性。通过在不同的 IoU 阈值下计算 mAP,可以更全面地理解模型的性能。

五、在信息检索(retrieval)任务中,R@(Recall at k)是一个重要的评估指标,用于衡量模型在前 k 个检索结果中找到相关项的能力。

1. 定义

  • Recall at k (R@k)
    R@k 表示在返回的前 k 个结果中,相关项的比例。它的计算公式为:

R @ k = Number of Relevant Items in Top k Total Number of Relevant Items R@k = \frac{\text{Number of Relevant Items in Top k}}{\text{Total Number of Relevant Items}} R@k=Total Number of Relevant ItemsNumber of Relevant Items in Top k

2. 计算步骤

  1. 确定相关项

    • 对于给定的查询,确定所有相关的文档或项。
  2. 检索结果

    • 使用模型对查询进行检索,返回前 k 个结果。
  3. 计算 R@k

    • 统计前 k 个结果中有多少个是相关的,然后用这个数量除以总的相关项数量。

3. 示例

假设我们有一个查询,相关的文档总共有 5 个,而模型返回的前 10 个结果中,有 3 个是相关的。

  • 总的相关项:5
  • 前 10 个结果中的相关项:3

那么 R@10 为: R @ 10 = 3 5 = 0.6 R@10 = \frac{3}{5} = 0.6 R@10=53=0.6

4. 应用场景

  • 搜索引擎:评估搜索引擎在返回结果中的相关性。
  • 推荐系统:衡量推荐系统在前 k 个推荐中找到用户感兴趣项的能力。

5. 重要性

  • 用户体验:R@k 指标直接反映了用户在使用检索系统时的体验,前 k 个结果中包含相关项的比例越高,用户满意度通常越高。
  • 模型评估:在比较不同的检索模型时,R@k 是一个常用的性能指标,帮助研究人员理解模型的优缺点。

6. 总结

R@k 是信息检索任务中用于评估模型性能的重要指标,能够有效反映模型在返回结果中找到相关项的能力。通过不同的 k 值,可以全面评估检索系统的效果。

六、Prec@10 和 Acc@10 是两个不同的指标,它们在定义和计算上有显著区别。

1. 定义

  • Prec@10(Precision at 10):
    • 衡量的是在模型返回的前 10 个结果中,正确预测的比例。
    • 公式为:

Prec@10 = Number of Correct Predictions in Top 10 Total Number of Predictions in Top 10 \text{Prec@10} = \frac{\text{Number of Correct Predictions in Top 10}}{\text{Total Number of Predictions in Top 10}} Prec@10=Total Number of Predictions in Top 10Number of Correct Predictions in Top 10

  • Acc@10(Accuracy at 10):
    • 衡量的是在所有测试样本中,模型在前 10 个预测中至少有一个正确预测的比例。
    • 公式为:

Acc@10 = Number of Samples with at Least 1 Correct Prediction in Top 10 Total Number of Samples \text{Acc@10} = \frac{\text{Number of Samples with at Least 1 Correct Prediction in Top 10}}{\text{Total Number of Samples}} Acc@10=Total Number of SamplesNumber of Samples with at Least 1 Correct Prediction in Top 10

2. 计算方式

  • Prec@10

    • 计算的是在前 10 个结果中,正确预测的数量与总预测数量(通常是 10)之间的比例。
    • 更关注于前 10 个结果的精确度。
  • Acc@10

    • 计算的是在所有样本中,有多少样本在前 10 个结果中至少有一个正确的预测。
    • 更关注于模型在整个数据集上的表现。

3. 示例

假设有 5 个测试样本,模型的前 10 个预测结果如下:

  • 样本 1:真实标签是 A,前 10 个预测中有 A(正确)
  • 样本 2:真实标签是 B,前 10 个预测中有 C(错误)
  • 样本 3:真实标签是 C,前 10 个预测中有 C(正确)
  • 样本 4:真实标签是 A,前 10 个预测中有 B(错误)
  • 样本 5:真实标签是 B,前 10 个预测中有 B(正确)
计算 Prec@10
  • 正确预测数量:3(样本 1、3、5)
  • 总预测数量:5(每个样本都计算前 10 个预测)

Prec@10 = 3 5 = 0.6 \text{Prec@10} = \frac{3}{5} = 0.6 Prec@10=53=0.6

计算 Acc@10
  • 至少有一个正确预测的样本:3(样本 1、3、5)
  • 总样本数:5

Acc@10 = 3 5 = 0.6 \text{Acc@10} = \frac{3}{5} = 0.6 Acc@10=53=0.6

4. 应用场景

  • Prec@10:适用于需要评估前 10 个结果的精确度的场景,如推荐系统和搜索引擎。
  • Acc@10:适用于评估模型在整个数据集上表现的场景,特别是当关注每个样本至少有一个正确预测时。

5. 总结

  • Prec@10 关注前 10 个预测的精确度,而 Acc@10 关注所有样本中至少有一个正确预测的比例。
  • 两者在评估模型性能时提供了不同的视角,可以根据具体需求选择使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2203795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于多种机器学习的酒店客户流失预测模型的研究与实现

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍实现过程 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 项目背景: 在当今竞争激烈的酒店行业中,预测和防止客户流…

什么是PCB和PCBA,他们的区别是什么?

相信很多人对于PCB电路板并不陌生,可能是日常生活中也能经常听到,但对PCBA或许就不太了解,甚至把和PCB混淆起来。那么PCB是什么?PCBA是如何演变出来的?PCB与PCBA的区别又是什么呢?方案商如何高效找到供应商…

Ubuntu 22.04.4 LTS更换下载源

方法1:使用图形界面更换下载源 1. 打开软件和更新应用 2. 在Ubuntu 软件标签中,点击“下载自”旁边的下拉菜单,选择“其他” 3. 点击“选择最佳服务器”来自动选择最快的服务器 4. 选择服务器 5. 确定并关闭窗口,系统会提示您重新…

应变计的校准方法和周期是怎样的?

应变计的校准方法和周期应变计是用于测量物体应变的关键设备,广泛应用于工程测试和科学研究领域。正确的校准方法和合理的校准周期对于确保应变计测量结果的准确性至关重要。校准方法应变计的方法通常涉及以下几个步骤: 零点校准:这是校准过程…

跨界的胜利:机器学习与神经网络的物理之光

近日,2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者,这是历史上首次出现这样的情况。这项奖项原本只授予对自然现象和物质的物理学研究作出重大贡献的科学家,如今却将全球范围内对机器学习和神经网络的研究和开发作为了一种能…

Robust多模态模型的开发

本文所涉及所有资源均在 传知代码平台 可获取。 目录 Robust 多模态模型:寻找遗失的模态! 一、研究背景 二、模型结构和代码 三、数据集介绍 六、性能展示 六、实现过程 七、运行过程 Robust 多模态模型:寻找遗失的模态! 近年来&a…

MPLS LDP协议

文章目录 LDP标签分发协议工作原理LDP应用倒数第二跳弹出 LDP标签分发协议 基于FEC自动分配标签构建LSP用于建立动态LSPLDP报文头部结构信息类型 工作原理 LDP工作过程 发送Hello消息用于发现邻居;UDP发送LSR_1主动发起并建立TCP连接;TCP进行建立主动方发…

Node.js安装与配置 [详细步骤(实践操作)]

安装与配置 安装Node.js一、(1).下载(可以直接在浏览器下的电脑)一、(2).下载(有些电脑不能在浏览器下载,比如:在浏览器下出来的是IDEA图标)二、安装三、配置环境变量 验证是否安装成功修改模块下载位置一、…

十几天8.7万粉丝,柒奶奶疯狂老太太图文笔记,为什么这么火?项目拆解!利用这个软件一键生成图文,赚钱到手软!

每个行业一有变化,那肯定会带来不少新机会,AI 绘画也是这样。就说小某书账号“人间清醒柒奶奶”吧,在有 AI 绘画之前,柒奶奶的角色和动作都得靠人用手画,可麻烦了。但现在呢,在网站上输入几个词儿就能轻轻松…

大贤3D家谱-保存、删除与重建

保存:对于创建的节点、内容进行本地存储。 重建:清除没有保存的数据,重现保存过的历史节点。 删除:删除包括该节点的所有子节点信息。 灵活的使用模式​ 为了保证软件的持续健康发展,我们采用了试用付费的模式。用…

微同城源码系统帮你轻松制作本地生活服务平台 带完整的安装代码包以及搭建部署教程

系统概述 微同城源码系统是一款基于Web技术开发而成的开源项目,旨在为广大用户提供一个灵活、高效且易于管理的本地生活服务平台构建工具。该系统采用了流行的前后端分离架构设计模式,前端部分利用React框架实现动态交互界面;后端则采用Spri…

什么是好的性能测试报告?

一、性能测试报告编写技巧 在对结果进行分析并得出结论之后,性能测试工程师要把它们以文字报告的形式发送给相关人员。这就是性能测试报告。除了书面文字之外,可能的话,公司还会召集人员开专门的会议进行报告讲解和结果分析。所以&#xff0…

redis同步解决 缓存击穿+缓存穿透 原理代码实现

缓存穿透 就是一个根本不存在的数据 请求过来,然后 发现缓存没有,就打到数据库,然后 数据库也没有,就会给数据库造成很大的压力 , 解决方案 就是老生常谈的 返回null值,或者布隆过滤器 我们说 返回nul…

linux查看k8s的开机启动状态 systemctl is-enabled 查看开机启动状态

查看k8s的开机启动状态 在Kubernetes中,通常使用systemd来管理服务的启动。但是,Kubernetes节点上的服务可能不是由systemd直接管理,而是通过kubelet服务来管理。因此,检查Kubernetes节点的开机启动状态,你需要检查ku…

MPI程序实例:FFT算法及应用

目录 一、一维串行FFT算法 二、二维串行FFT算法 三、并行FFT算法 四、应用示例 4.1、多项式相乘 4.2 循环矩阵方程组的求解 1965年,两位美国科学家J.W.Cooley和J.W.Tukey发明了一种有效计算傅氏变换的方法,被称为FFT(Fast Fourier Transform,快速傅里叶变换)…

java中StringBuffer类和StringBuilder类常用的api

目录 1.StringBuffer类Api 1).构造方法 2).append("添加的字符串内容") 3).insert(int 要添加数据到指定索引后,"要添加的字符串") 4).delete(int 起始索引位置,int 结束索引位置) 5).deleteCharA…

基于SpringBoot+Vue+Uniapp微信小程序的电子竞技信息交流平台设计与实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而…

Nginx请求头丢失,引发出来的问题

1.问题 新增的几个 header 参数是这样的: api_key_idapi_key_value 我配置有2层nginx转发,从机器A到机器B再到目标服务,遇到一个接口请求需要在header中传递api_key_id和api_key_value这2个参数,但是在EC2机器上直接curl目标服…

重塑排班新体验,搭贝员工排班系统 —— 让管理更高效,工作更顺心!

在快节奏的工作环境中,排班管理往往是决定团队效率与员工满意度的关键。搭贝低代码平台精心打造的员工排班系统应用,以直观、智能、灵活为核心,为您的团队带来前所未有的排班体验。 📅 日历视图,一目了然 我们采用…

论文翻译 | Fairness-guided Few-shot Prompting for LargeLanguage Models

摘要 大型语言模型已经显示出令人惊讶的执行上下文学习的能力,也就是说,这些模型可以通过对由几个输入输出示例构建的提示进行条件反射,直接应用于解决大量下游任务。然而,先前的研究表明,由于训练示例、示例顺序和提示…