【详细解释深度学习图像分类检测评价指标】准确率Accuracy、精确率Precision、召回率Recall、mAP等(一文搞懂,建议收藏)

news2024/9/29 15:21:07

前言

😊😊😊欢迎来到本博客😊😊😊

🌟🌟🌟 本专栏主要是记录工作中、学习中关于AI(Deep Learning)相关知识并分享。

😊😊😊 具体食用方式:可以点击本专栏【笔记目录】快速查阅您和我遇到的一样的问题、想查阅的知识以及其他相关问题。

🎁🎁🎁支持:如果觉得博主的文章还不错或者您用得到的话,可以悄悄关注一下博主哈,如果三连收藏支持就更好啦!这就是给予我最大的支持!😙😙😙


文章目录

  • 图像分类篇
    • (1) 混淆矩阵
    • (2) Accuracy(准确率/精度)
    • (3) Precision(精确度)/查准率
    • (4) Recall(召回率)/敏感度/查全率/真正(阳)率TPR
    • (5) Specificity(特异度)/TNR
    • (6) 假正(阳)率FPR
    • (7) Fβ-Score/F1-Score
    • (8) P-R(Precision-Recall)曲线
    • (9) ROC(Receiver Operating Characteristic)曲线
    • (10) AUC(Area Under Curve)
    • 总结:P-R曲线、ROC曲线、AUC关系、特点、用途
  • 目标检测篇


  在计算机视觉领域,不管是图像分类、目标检测、图像分割还是其他领域,评价其模型好坏都有对应的评价指标。下面对图像分类及目标检测领域常见的评价指标做个总结,两个领域也会有互通(相似)部分,其他领域后期有时间会在此博文基础上继续更新。 大家在平时科研、工作中也许会用到,本文争取用简单易懂方式总结出来。

图像分类篇

(1) 混淆矩阵

  混淆矩阵不管是二分类,还是多分类都可能会用到,下面以二分类为例:

  这里牵扯到三个方面:真实值,预测值,预测值和真实值之间的关系,以下以猫狗分类为例,猫为正例,够为反例

  

情况定义举例
True Positive(TP)
真正例
样本的真实类别是正例,并且模型识别的结果也是正例。这是一张猫的图片(真实类别),模型识别为猫(预测结果)。
False Negative(FN)
假反例
样本的真实类别是正例,但是模型将其识别为负例。这是一张猫的图片(真实类别),模型识别为(预测结果)。
False Positive(FP)
假正例
样本的真实类别是负例,但是模型将其识别为正例。这是一张狗的图片(真实类别),模型识别为(预测结果)。
True Negative(TN)
真反例
样本的真实类别是负例,并且模型将其识别为负例。这是一张狗的图片(真实类别),模型识别为(预测结果)。

  形象的示例如下:

(2) Accuracy(准确率/精度)

  准确率是最常见的分类任务评价指标,表示模型正确预测的样本数占总样本数的比例缺点:但在某些不平衡类别的情况下,准确性可能不是一个很好的指标。

  对于多分类而言,分子其实是混淆矩阵对角线样本之和,分母为所有测试样本之和。

(3) Precision(精确度)/查准率

  精确度也叫查准率注意:不要和上面的准确率混淆!!!它是指在所有被模型预测为正例的样本中,实际为正例的比例。
  作用:精确度关注的是模型预测为正例的准确性。

  公式为:

  对应上述案例中,如下部分:

(4) Recall(召回率)/敏感度/查全率/真正(阳)率TPR

  召回率的同义词比较多,它是指在所有实际为正例的样本中被模型正确预测为正例的比例
  作用:召回率关注的是模型对正例的覆盖程度。

  公式为:

  对应上述案例中,如下部分:

(5) Specificity(特异度)/TNR

  特异度要和上个含义做个区别,它是指在所有实际为反例的样本中被模型正确预测为反例的比例,即TN

  公式为:

  对应上述案例中,如下部分:

(6) 假正(阳)率FPR

  假正(阳)率要和特异度做个区别,它是指在所有实际为反例的样本中被模型错误预测为正例的比例,即FP,它正好与特异度相反。

  公式为:

  对应上述案例中,如下部分:

(7) Fβ-Score/F1-Score

  PrecisionRecall 是互相影响的,理想情况下肯定是希望做到两者都高,但是一般情况下Precision高、Recall 就低; Recall 高、Precision就低。
  为了均衡两个指标,我们可以采用PrecisionRecall的加权调和平均来衡量,即Fβ-Score,公式如下:

  通俗的就是:β越大,Recall的权重越大;β越小,Precision的权重越大。由于Fβ Score 无法直观反映数据的情况,同时业务含义相对较弱,实际工作用到的不多。所以,当β=1时,即为F1-Score值。

  F1-Score是精确度和召回率的调和平均值
  作用:综合考虑了模型的准确性和覆盖率。F1-Score在不同类别不平衡的情况下比Accuracy准确性更具意义

  公式为:

其中β>1,更加注重召回率;F<1,值更加重视准确率。

(8) P-R(Precision-Recall)曲线

  PR曲线的x轴代表:Recall召回率/查全率,也就是真正率;y轴代表:Precision精准率/查准率。
  为了找到一个最合适的阈值满足我们的要求,我们就必须遍历0到1之间所有的阈值,而每个阈值下都对应着一对查准率和查全率,从而我们就得到了这条曲线。PR曲线比较关注于正样本的情况。它本身没有关注负样本,每条P-R曲线代表一个类别

  如何看这张图?

  如果某一类(条)PR曲线完全“包住”,可以判断后者的性能优于前者,像上图中学习器A的性能就优于学习器C;
  若是两个学习器的PR曲线发生交叉,像A和B,就比较难判断哪个学习器比较好,只能在查准率或查全率条件单独进行比较。
  这里引入**平衡点(Break-Even Point,BEP)**的概念,平衡点(BEP)是P=R时的取值,如果这个值较大,则说明学习器的性能较好。或者采用F1-Score,F1-Score值越大,我们可以认为该学习器的性能较好。

(9) ROC(Receiver Operating Characteristic)曲线

  准确率、精确率、召回率 和 F1-score 前面介绍了都是单一的数值指标。如果想观察分类算法在不同的参数下的表现,此时可以使用一条曲线,即 ROC
  ROC 曲线可以用评价一个分类器在不同阈值下的表现。横纵坐标均基于真实值为分母

  横坐标为假正率( FPR,FPR = FP / [ FP + TN]),表示负样本中错误预测为正样本的概率。纵坐标为真正率(TPR,TPR = TP / [ TP + FN]),表示正样本中预测正确的概率。

  根据分类识别的阈值,可生成不同的FPR值和TPR值,用于绘制ROC曲线。曲线越接近左上角越好。ROC曲线兼顾了正,负样本常用于分类器的评价指标

  上图ROC 曲线中,有四个关键点:

  (0,0)点:FPR=TPR=0,表示分类器预测所有的样本都为负样本;
  (1,1)点:FPR=TPR=1,表示分类器预测所有的样本都为正样本;
  (0,1)点:FPR=0,TPR=1,此时FN=0且FP=0,表示最优分类器,样本都被正确分类;
  (1,0)点:FPR=1,TPR=0,此时TP=0且TN=0,表示最差分类器,样本都被错误分类;

我们可以通过一个案例来理解:
  如在医学诊断的主要任务是尽量把生病的人群都找出来,也就是TPR越高越好。而尽量降低没病误诊为有病的人数,也就是FPR越低越好。
  不难发现,这两个指标之间是相互制约的。**如果某个医生对于有病的症状比较敏感,稍微的小症状都判断为有病,那么他的TPR应该会很高,但是FPR也就相应地变高。**最极端的情况下,他把所有的样本都看作有病,那么TPR达到1,FPR也为1。

(10) AUC(Area Under Curve)

  AUC 值为 ROC曲线下所覆盖的区域面积,这个面积的数值不会大于1。场景:当两个模型的ROC曲线发生交叉,则很难说哪一个模型更好,这时候可以用AUC 来作为一个比较合理的判据,这样可以直观的评价分类器的好坏,值越大越好注意!!ROC是曲线,AUC是区域。

  AUC的值代表分类器的优劣:
  (1) AUC=1:这是理想的分类器;
  (2) AUC=0.5:相当于随机预测(跟抛硬币一样),此时分类器不可用;
  (3) 0.5<AUC<1:优于随机预测,这也是实际作用中大部分分类器所处的状态;
  (4) AUC<0.5:总是比随机预测更差;

总结:P-R曲线、ROC曲线、AUC关系、特点、用途

  P-R曲线特点

  (1) P-R曲线使用了Precision和Recall,因此PR曲线的两个指标都聚焦于正例类别不平衡问题中由于主要关心正例,所以在此情况下PR曲线被广泛认为优于ROC曲线
  (2) P-R曲线右上越凸,效果越好;

  ROC曲线特点
  (1) 当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。因为TPR聚焦于正例,FPR聚焦于与负例,使其成为一个比较均衡的评估方法。
  (2) ROC 曲线展示了分类器在不同阈值下的综合性能,对分类器的整体能力进行评估。AUC 提供了一个定量指标来衡量 ROC 曲线下的性能。

  总之,P-R 曲线和 ROC 曲线提供了不同维度的分类器性能评估。P-R 曲线适合不平衡数据集,重点关注正例的预测性能;而 ROC 曲线和 AUC 适用于整体性能评估,对类别不平衡和阈值选择不敏感。

  使用场景
  (1) ROC曲线由于兼顾正例与负例,所以适用于评估分类器的整体性能,相比而言PR曲线完全聚焦于正例。
  (2) 如果有多份数据且存在不同的类别分布,比如信用卡欺诈问题中每个月正例和负例的比例可能都不相同,这时候如果只想单纯地比较分类器的性能且剔除类别分布改变的影响,则ROC曲线比较适合,因为类别分布改变可能使得PR曲线发生变化时好时坏,这种时候难以进行模型比较;反之,如果想测试不同类别分布下对分类器的性能的影响,则PR曲线比较适合
  (3) 如果想要评估在相同的类别分布下正例的预测情况,则宜选PR曲线。类别不平衡问题中,ROC曲线通常会给出一个乐观的效果估计,所以大部分时候还是PR曲线更好。
  (4) 最后可以根据具体的应用,在曲线上找到最优的点,得到相对应的precision,recall,f1 score等指标,去调整模型的阈值,从而得到一个符合具体应用的模型。


目标检测篇

AP,mAP,IOU(CIOU/DIOU…)等待更新。。。


🚶🚶🚶 今天的文章就到这里啦~
喜欢的话,点赞👍、收藏⭐️、关注💟哦 ~

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

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

相关文章

Parallels Desktop 19 mac 虚拟机软件 兼容M1 M2

Parallels Desktop 19 for Mac 是一款适用于 macOS 的虚拟机软件。无需重启即可在 Mac 上运行 Windows、Linux 等系统&#xff0c;具有速度快、操作简单且功能强大的优点。包括 30 余种实用工具&#xff0c;可简化 Mac 和 Windows 上的日常任务。 软件下载&#xff1a;Parallel…

大模型时代的计算机系统革新:更大规模、更分布式、更智能化

编者按&#xff1a;2023年是微软亚洲研究院建院25周年。借此机会&#xff0c;我们特别策划了“智启未来”系列文章&#xff0c;邀请到微软亚洲研究院不同研究领域的领军人物&#xff0c;以署名文章的形式分享他们对人工智能、计算机及其交叉学科领域的观点洞察及前沿展望。希望…

搭建网站使用花生壳的内网穿透实现公网访问

目录 一 搭建网站 二 使用花生壳进行内网穿透 1、创建内网映射 2、linux系统安装花生壳客户端 3、重新打开浏览器&#xff0c;输入http://b.oray.com&#xff0c;完成账户登录&#xff0c;激活&#xff08;SN登录&#xff09; 一 搭建网站 准备工作&#xff1a; [rootse…

主播产品对比话术

—、价格对比 主播产品A︰这款产品定价相对较高&#xff0c;但是其品质和功能都是一流的&#xff0c;对于追求高端体验的消费者来说&#xff0c;物有所值。 主播产品B∶这款产品的价格相对较低&#xff0c;性价比很高&#xff0c;对于预算有限的消费者来说&#xff0c;是个不…

基于Java SSM框架现图书馆借阅管理系统项目【项目源码+论文说明】

基于java的SSM框架实现图书馆借阅管理系统演示 摘要 以往的图书馆管理事务处理主要使用的是传统的人工管理方式&#xff0c;这种管理方式存在着管理效率低、操作流程繁琐、保密性差等缺点&#xff0c;长期的人工管理模式会产生大量的文本借书与文本数据&#xff0c;这对事务的…

控制项目风险

一、风险预算 暴雪公司经理艾莉森&#xff0c;暴雪公司是一家小型工业企业&#xff0c;该公司的高管为了降低生产成本&#xff0c;决定搬迁工厂。项目经理明白实际情况与初始计划之间常常会有很大的出入。项目经理需要事先为一些事情做好准备&#xff0c;并在项目运作或预算方面…

Vue基础-Computed-Watch

一、computed计算属性使用 1.复杂data的处理方式 我们知道&#xff0c;在模板中可以直接通过插值语法显示一些data中的数据。 但是在某些情况&#xff0c;我们可能需要对数据进行一些转化后再显示&#xff0c;或者需要将多个数据结合起来进行显示&#xff1b; 比如我们需要…

ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连

用了网上的办法&#xff1a; 1、修改listener.ora的参数,把动态的参数设置为静态的参数,红色标注部分 位置D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN SID_LIST_LISTENER (SID_LIST (SID_DESC (SID_NAME PLSExtProc) (ORACLE_HOME D:\oracle\produ…

微信小程序(十)表单组件(入门)

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.type 属性指定表单类型 2.placeholder 属性指定输入框为空时的占位文字 源码&#xff1a; form.wxml <!-- 提前准备好的布局结构代码 --> <view class"register"><view class"…

【LangChain学习之旅】—(10) 用RouterChain确定客户意图

【【LangChain学习之旅】—&#xff08;10&#xff09; 用RouterChain确定客户意图 任务设定整体框架具体步骤如下&#xff1a; 具体实现构建提示信息的模板构建目标链 Reference&#xff1a;LangChain 实战课 任务设定 首先&#xff0c;还是先看一下今天要完成一个什么样的任…

Pyro —— DOP Nodes

目录 Smoke Object —— 创建smoke对象及相关场 Smoke Solver —— Smoke解算器 Color Relationships Advanced Pyro Solver —— Pyro解算器 Smoke Object (Sparse) —— 创建smoke对象及相关场 Smoke Solver (Sparse) —— Sparse Smoke解算器 Simulation Advanced …

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-1最优控制问题与性能指标 1. 最优控制问题与性能指标2. 动态规划 Dynamic Programming2.1 基本概念2.2 代码详解2.3 简单一维案例 3. 线性二次型调节器&#xff…

SourceTree修改仓库密码

1、找到 SourceTree缓存文件目录&#xff1a; passwd 目录保存账号对应的密码&#xff08;已加密&#xff09; 2、删除密码 删除passwd文件即可。重启 SourceTree 软件&#xff0c;进行操作&#xff0c;就会有输入密码的弹窗&#xff0c;输入即可。

高标准农田气象站

在当今社会&#xff0c;科技的发展正在深刻地改变着我们的生活。特别是在农业领域&#xff0c;科技的运用已经成为了保障粮食安全、提高农业生产效率的重要手段。其中&#xff0c;高标准农田气象站作为现代农业的重要组成部分&#xff0c;正在发挥着越来越重要的作用。 TH-NQ14…

【原生小程序-分包】

1.创建分包-文件夹 subPackages app.json中写入subPackges对象&#xff0c;在里面写分包路径 {"pages": ["pages/index/index"],"subPackages": [{"root": "subPackages","name": "分包A","pag…

【强化学习】QAC、A2C、A3C学习笔记

强化学习算法&#xff1a;QAC vs A2C vs A3C 引言 经典的REINFORCE算法为我们提供了一种直接优化策略的方式&#xff0c;它通过梯度上升方法来寻找最优策略。然而&#xff0c;REINFORCE算法也有其局限性&#xff0c;采样效率低、高方差、收敛性差、难以处理高维离散空间。 为…

leetcode—课程表 拓扑排序

1 题目描述 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学习课程 ai 则 必须 先学习课程 …

仓储管理系统——软件工程报告(总体设计)③

总体设计 一、需求规定 软件工程仓库存储管理系统的需求规定是确保系统能够满足用户期望、提高工作效率、确保数据安全性和系统可维护性的基石。其涵盖了功能性、性能、数据管理、用户界面和系统可维护性等多个方面。通过严格的验收标准&#xff0c;可以确保系统在实际应用中…

【服务器】安装宝塔面板

目录 &#x1f33a;【前言】 &#x1f33c;【前提】连接服务器 &#x1f337;方式一 使用工具登录服务器如Xshell &#x1f337;方式二 阿里云直接连接 &#x1f33c; 1. 安装宝塔 &#x1f337;获取安装脚本 方式一 使用下面提供的脚本安装 方式二 使用官网提供的脚本…

一文读懂RabbitMQ核心概念及架构

1. RabbitMQ简介 RabbitMQ是一个开源的消息代理软件&#xff0c;实现了高级消息队列协议&#xff08;AMQP&#xff09;。它是一个应用程序对应用程序的通信方法&#xff0c;基于消费-生产者模型。在RabbitMQ中&#xff0c;消息的生产者将消息发布到队列中&#xff0c;而消息的…