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

系列文章目录


文章目录

  • 系列文章目录
  • 一、真正例(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 关注所有样本中至少有一个正确预测的比例。
  • 两者在评估模型性能时提供了不同的视角,可以根据具体需求选择使用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

攻防世界(CTF)~Reverse-easyRE1

题目介绍 下载附件后一个32位一个64位 64位的放到ExeinfoPE查看一下有无壳子(无壳) 放IDA看一下伪代码,习惯性看一下main函数,直接发现了flag flag{db2f62a36a018bce28e46d976e3f9864}

2024互联网下载神器IDM6.42你值得拥有

🔥 互联网下载神器大揭秘!IDM6.42你值得拥有 🚀 Hey,各位小伙伴们,今天我要给你们安利一款我超爱的软件——Internet Download Manager 6.42(简称IDM),这款下载器简直就是下载界的“…

MinIO分片上传超大文件(纯服务端)

目录 一、MinIO快速搭建1.1、拉取docker镜像1.2、启动docker容器 二、分片上传大文件到MinIO2.1、添加依赖2.2、实现MinioClient2.3、实现分片上传2.3.0、初始化MinioClient2.3.1、准备分片上传2.3.2、分片并上传2.3.2.1、设置分片大小2.3.2.2、分片 2.3.3、分片合并 三、测试3…

Java基础-泛型机制

文章目录 为什么引入泛型泛型的基本使用泛型类泛型接口泛型方法泛型数组正确的数组声明使用场景如何理解Java中的泛型是伪泛型?泛型中类型擦除 泛型数组:如何正确的初始化泛型数组实例? 为什么引入泛型 引入泛型的意义在于: 适用…

谷歌AI大模型Gemini API快速入门及LangChain调用视频教程

1. 谷歌Gemini API KEY获取及AI Studio使用 要使用谷歌Gemini API,首先需要获取API密钥。以下是获取API密钥的步骤: 访问Google AI Studio: 打开浏览器,访问Google AI Studio。使用Google账号登录,若没有账号&#xf…

SpringBoot中间件Docker

Docker(属于C/S架构软件) 简介与概述 1.Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux …

2款.NET开源且免费的Git可视化管理工具

Git是什么? Git是一种分布式版本控制系统,它可以记录文件的修改历史和版本变化,并可以支持多人协同开发。Git最初是由Linux开发者Linus Torvalds创建的,它具有高效、灵活、稳定等优点,如今已成为软件开发领域中最流行…

python34_可变字符串

可变字符串 说明 在 Python 中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,智能创建新的字符串对象。 但是,经常我们确实需要原地修改字符串,可以使用 io.StringIO对象或 array 模块impo…

Redis:string类型

Redis:string类型 string命令设置与读取SETGETMSETMGET 数字操作INCRINCRBYDECRDECRBYINCRBYFLOAT 字符串操作APPENDSTRLENGETRANGESETRANGE 内部编码intembstrraw 在Redis中,字符串string存储的是二进制,以byte为单位,输入的二进…

电影选票选座系统|影院购票|电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)

电影院订票选座小程序 目录 基于微信小程序的电影院购票系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能实现 2、管理员功能实现 (1)影院信息管理 (2)电影信息管理 (3)已完成…

C语言 | Leetcode C语言题解之第464题我能赢吗

题目: 题解: typedef struct HashItem {int key;bool val;UT_hash_handle hh; } HashItem;bool dfs(int maxChoosableInteger, int usedNumbers, int desiredTotal, int currentTotal, HashItem **memo) {HashItem *pEntry NULL;HASH_FIND_INT(*memo, …

深度解析:从浏览器输入链接到页面展现的奇幻历程

〇、前言 当我们在浏览器中输入一个网址,例如:example.com,按下回车键后,会发生什么呢? 主要会发生以下这些过程:域名解析、建立HTTP连接、发送HTTP请求、数据传输、渲染网页、断开HTTP连接。 一、域名解…

dfs +剪枝sudoku———poj2676

目录 前言 lowbit函数 数独 suduku 问题描述 输入 输出 问题分析 子网格位置 优化搜索顺序剪枝1 优化搜索顺序剪枝2 可行性剪枝 代码 前言 lowbit函数 这是一个利用二进制位运算取出二进制数最后一位’1‘的函数 数独 数独大家肯定都玩过,…

Vue/组件的生命周期

这篇文章借鉴了coderwhy大佬的Vue生命周期 在Vue实例化或者创建组件的过程中 内部涉及到一系列复杂的阶段 每一个阶段的前后时机都可能对应一个钩子函数 以下是我根据coderwhy大佬文章对于每一个阶段的一些看法 1.过程一 首先实例化Vue或者组件 在实例化之前 会对应一个钩子函…

Internet Download Manager6.42免费版下载神器新体验

🚀 开篇就燃!你的下载速度被“TA”承包了 #### 🌟 初识IDM 6.42,下载界的“超跑”驾到 各位追求效率的小伙伴们,今天小红要来揭秘一款让我彻底告别“龟速”下载的神器——Internet Download Manager (简称IDM) 6.42版&…

threejs-基础材质设置

一、介绍 主要内容:基础材质(贴图、高光、透明、环境、光照、环境遮蔽贴图) 主要属性: side: three.DoubleSide, //设置双面 color: 0xffffff, //颜色 map: texture, //纹理 transparent: true, // 透明度 aoMap: aoTexture, //ao贴图 aoMapIntensity: 1…

商标恶意维权形式及应对策略

在商业领域,商标恶意维权的现象时有出现,给正常的市场秩序和企业经营带来了不良影响。以下将介绍其常见形式及应对方法。 一、商标恶意维权的形式1、囤积商标后恶意诉讼。一些人或企业大量注册与知名品牌相似或具有一定通用性的商标,并非用于…

『网络游戏』服务器向客户端分发消息【21】

新建缓存层文件夹 创建脚本:CacheSvc 编写服务器脚本:CacheSvc 修改服务器脚本:LoginSys.cs 修改服务器脚本:PEProtocol.cs 服务器编写完成 - 测试运行服务端 修改客户端脚本:NetSvc.cs 修改客户端脚本:Cli…

R语言绘制散点图

散点图是一种在直角坐标系中用数据点直观呈现两个变量之间关系、可检测异常值并探索数据分布的可视化图表。它是一种常用的数据可视化工具,我们通过不同的参数调整和包的使用,可以创建出满足各种需求的散点图。 常用绘制散点图的函数有plot()函数和ggpl…

ModBus Pull的详细安装教程

目录 一.导航 二 .安装 三.激活 四.使用 一.导航 modbus poll 和 modbus slave 是两种Modbus协议的软件工具 。 Modbus Poll:Modbus Poll 是一个客户端(或主站)软件,它允许用户与支持Modbus协议的设备进行通信。 Modbus Sla…