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

前言

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

🌟🌟🌟 本专栏主要是记录工作中、学习中关于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…)等待更新。。。


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

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

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

相关文章

新建虚拟机并安装配置linux

记得看目录哦&#xff01; 1. 打开VMware2. 新建虚拟机3. 配置虚拟机内存4. 配置处理器5. 配置网络6. 开始安装CentOS系统系统安装包此处自取 7. 启动虚拟机进行安装如果出现这种情况这样转成图形化界面继续安装 1. 打开VMware 点击文件—点击新建虚拟机 2. 新建虚拟机 3. 配置…

实用工具合集(持续更新...)

一、搜索引擎 1.1、小白盘 网站&#xff1a;https://www.xiaobaipan.com 度盘资源搜索的网站&#xff0c;能够搜索电影、电视剧、小说、音乐等资源&#xff08;注意&#xff1a;评论区很多小伙伴说小白盘有毒&#xff0c;我用谷歌浏览器搜索过几次并无大碍&#xff0c;请慎用…

MWORKS.Sysplorer在机电静压伺服机构方案设计阶段的应用

​ 机电静压伺服机构&#xff08;EHA&#xff09;结合了机电伺服机构&#xff08;EMA&#xff09;和液压伺服机构&#xff08;EH&#xff09;的优点&#xff0c;作为一种高效率、高可靠性的执行机构&#xff0c;近年来受到多个领域的广泛重视&#xff0c;尤以航空领域最为重视&…

重构改善既有代码的设计-学习(四):简化条件逻辑

1、分解条件表达式&#xff08;Decompose Conditional&#xff09; 可以将大块代码分解为多个独立的函数&#xff0c;根据每个小块代码的用途&#xff0c;为分解而得的新函数命名。对于条件逻辑&#xff0c;将每个分支条件分解成新函数还可以带来更多好处&#xff1a;可以突出条…

电巢直播 | 研祥集团“研选智造节”上演直播狂欢!

2024年1月9日&#xff0c;“研选智造节”已于电巢直播强势登场&#xff01;研祥作为“工控机”的龙头企业&#xff0c;一直致力于助力工业智能智造的转型升级。为推动智能智造更进一步&#xff0c;研祥集团在直播当晚亮相了一系列全新业态产品&#xff0c;并宣布“研祥智造天团…

【Java】SpringMVC路径写法

1、多级路径 ✅类路径和方法路径都可以写成多级 ✅其中&#xff0c;类路径写在方法路径前面 ✅与Servlet不同&#xff0c;SpringMVC中写不写“/”都可以 RequestMapping("/hello/t1") RestController public class HelloSpring {RequestMapping( value "world…

5.ROC-AUC机器学习模型性能的常用的评估指标

最近回顾机器学习基础知识部分的时候&#xff0c;看到了用于评估机器学习模型性能的ROC曲线。再次记录一下&#xff0c;想起之前学习的时候的茫然&#xff0c;希望这次可以更加清晰的了解这一指标。上课的时候听老师提起过&#xff0c;当时没有认真去看&#xff0c;所以这次可以…

【c++】高精度算法(洛谷刷题2024)乒乓球详解

系列文章目录 第一题 乒乓球 视频&#xff1a;http://【洛谷题单 - 算法 - 高精度】https://www.bilibili.com/video/BV1Ym4y1s7BD?vd_source66a11ab493493f42b08b31246a932bbb 目录 系列文章目录 第一题 乒乓球 前言 一、题目以及引领思考 二、题解与代码 1.输入输出案例 …

权威的健康养生与医学基础知识科普学习信息汇总

目录 1 关于健康与食物营养的权威网址1.1 世界卫生组织&#xff08;World Health Organization: WHO&#xff09;1.2 美国国家卫生研究院 (National Institutes of Health: NIH)1.3 澳大利亚政府健康门户 (Healthdirect)1.4 国际食品信息委员会 (International Food Informatio…

[蓝桥学习] 前缀和与差分

前缀和原理 特点 求区间和 如果要实现一边修改一边查询&#xff0c;需要使用树状树组和线段树。 例题 题目很简单&#xff0c;但是代码实现惊艳到我了&#xff0c;是L就加1&#xff0c;是Q就减1&#xff0c;如果区间 [i,j] 是平衡子串的话&#xff0c;那它会在前缀prefix i …

计算机网络——网络层(1)

计算机网络——网络层(1&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 网络层&#xff1a;数据平面网络层概述核心功能协议总结 路由器工作原理路由器的工作步骤总结 网际协议IPv4主要特点不足IPv6主要特点现状 通用转发和SDN通用转发SDN&#xff08;软件…

ORM-08-EclipseLink 入门介绍

拓展阅读 The jdbc pool for java.(java 手写 jdbc 数据库连接池实现) The simple mybatis.&#xff08;手写简易版 mybatis&#xff09; 1. EclipseLink概述 本章介绍了EclipseLink及其关键特性&#xff1a;包括在EclipseLink中的组件、元数据、应用程序架构、映射和API。 本…

蓝桥OJ3694肖恩的投球游戏plus

二维差分 #include<bits/stdc.h> using namespace std;const int N 1e3 5; int a[N][N],d[N][N];int main() {int n, m, q;cin >> n >> m >> q;for (int i 1 ; i < n; i){for (int j 1; j < m; j){cin >> a[i][j];d[i][j] a[i][j] a…

大模型工作笔记

当前主要从三个方面入手解决幻觉问题&#xff1a; 检测数据中虚假信息&#xff0c;提升数据质量&#xff1b;扩大模型规模并增大预训练数据量&#xff0c;模型能力的提升能实现幻觉水平的降低&#xff1b;结合搜索增强以及知识库等方法&#xff0c;提升生成信息的准确性。 使…

C语言和C++中不定参数解析

你所看到的惊艳&#xff0c;都曾被平庸历练 文章目录 简介C语言不定参数不定参宏函数 C不定参数方法一&#xff1a;递归展开方式二&#xff1a;折叠表达式方法三&#xff1a;逗号表达式 总结 简介 相信学过c/c的佬们都知道&#xff0c;如果一个函数将自己的参数确定好后&#…

想成为offer收割机?收好这份面试实战攻略!

很多小伙伴之所以会屡屡求职失败&#xff0c;是因为他根本就不知道在面试当中面试官到底要的东西是什么。 所以面试时&#xff0c;大家要不断提醒自己&#xff1a;我是来找工作的&#xff0c;必须考虑清楚说什么样的话&#xff0c;做什么样的事&#xff0c;才对找工作有帮助。…

leetcode1237. 找出给定方程的正整数解

1237. 找出给定方程的正整数解https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/ 难度中等 101 给你一个函数 f(x, y) 和一个目标结果 z&#xff0c;函数公式未知&#xff0c;请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满…

Kali如何启动SSH服务并实现无公网ip环境远程连接

文章目录 1. 启动kali ssh 服务2. kali 安装cpolar 内网穿透3. 配置kali ssh公网地址4. 远程连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 简单几步通过[cpolar 内网穿透](cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站)软件实现ssh 远程连接kali! …

计算机网络 第6章(应用层)

系列文章目录 计算机网络 第1章&#xff08;概述&#xff09; 计算机网络 第2章&#xff08;物理层&#xff09; 计算机网络 第3章&#xff08;数据链路层&#xff09; 计算机网络 第4章&#xff08;网络层&#xff09; 计算机网络 第5章&#xff08;运输层&#xff09; 计算机…

WebSocket服务端数据推送及心跳机制(Spring Boot + VUE):

文章目录 一、WebSocket简介&#xff1a;二、WebSocket通信原理及机制&#xff1a;三、WebSocket特点和优点&#xff1a;四、WebSocket心跳机制&#xff1a;五、在后端Spring Boot 和前端VUE中如何建立通信&#xff1a;【1】在Spring Boot 中 pom.xml中添加 websocket依赖【2】…