卷积神经网络评价指标

1.评价指标的作用

1. 性能评估:评价指标提供了一种量化的方式来衡量CNN模型的性能。通过这些指标,我们可以了解模型在特定任务上的表现,比如图像分类、目标检测或图像分割等。

2. 模型比较:不同的模型架构或训练策略可能会产生不同的性能结果。评价指标允许我们在同一标准下比较不同模型的性能,从而选择最适合特定任务的模型。

3. 超参数调优:在模型训练过程中,评价指标可以帮助我们选择最佳的超参数设置。例如,通过调整学习率、批量大小、网络深度等超参数,我们可以观察到评价指标的变化,从而找到最优的模型配置。

4. 模型选择:在有多个预训练模型可供选择时,评价指标可以帮助我们决定哪个模型最适合我们的特定任务。例如,在迁移学习中,我们可能会根据评价指标来选择一个预训练的CNN模型作为特征提取器。

5. 问题诊断:评价指标可以帮助我们识别模型在训练过程中可能遇到的问题,如过拟合或欠拟合。例如,如果模型在训练集上表现很好,但在验证集上表现不佳,这可能表明模型过拟合了。

6. 平衡性能:在多分类问题中,不同的类别可能具有不同的样本数量,这可能导致模型对某些类别的预测性能较好,而对其他类别的预测性能较差。评价指标如F1-Score和mIOU可以帮助我们平衡不同类别的性能,确保模型对所有类别都有良好的预测能力。

7. 泛化能力评估:评价指标不仅可以用来评估模型在训练集上的表现,还可以用来评估模型在未见过的数据上的泛化能力。通过在独立的测试集上计算评价指标,我们可以了解模型在实际应用中可能的表现。

8. 研究进展跟踪:在学术研究和工业应用中,评价指标是跟踪技术进步的重要工具。通过比较不同研究或产品中报告的评价指标,我们可以了解领域内的最新进展和趋势

评价指标按任务类型分类有两大部分 一部分是分类任务 一部分是回归任务

2.分类任务


分类任务又可以分为两部分: 单项分类问题和多项分类问题

它们的主要区别在于输出类别的数量和处理方式:

1. 输出类别的数量:
   - 单项分类问题:只有两个可能的输出类别,通常标记为正类(Positive)和负类(Negative),或者1和0。例如,判断一封邮件是否为垃圾邮件,一个人是否患有某种疾病等。
   - 多项分类问题:有三个或更多的可能输出类别。例如,识别图片中的物体是猫、狗还是鸟,或者对新闻文章进行分类到不同的主题类别。

2. 模型输出:
   - 单项分类问题:模型通常输出一个概率值,表示输入样本属于正类的概率,或者直接输出一个二元标签(0或1)。
   - 多项分类问题:模型输出一个概率分布,每个类别对应一个概率值,表示输入样本属于该类别的概率。通常使用softmax函数来生成这个概率分布。

3. 损失函数:
   - 单项分类问题:常用的损失函数是二元交叉熵损失(Binary Cross-Entropy Loss)。
   - 多项分类问题:常用的损失函数是多类别交叉熵损失(Categorical Cross-Entropy Loss)。

4. 评价指标:
   - 单项分类问题:常用的评价指标包括准确率、精确率、召回率、F1-Score、ROC曲线和AUC值等。
   - 多项分类问题:除了上述指标外,还可以使用混淆矩阵(Confusion Matrix)来更详细地评估模型在各个类别上的性能。

5. 数据不平衡问题:
   - 单项分类问题:在数据不平衡的情况下,可能需要特别关注精确率和召回率的平衡,以及使用一些技术如重采样或调整类权重来处理不平衡问题。
   - 多项分类问题:当类别不平衡时,同样需要关注数据不平衡问题,可能需要使用类似的技术来提高模型在少数类别上的性能。

6. 模型复杂度:
   - 单项分类问题:模型通常较简单,因为只需要区分两个类别。
   - 多项分类问题:模型可能更复杂,因为需要区分多个类别,并且可能需要更多的数据来训练模型以获得良好的性能。

7. 应用场景:
   - 单项分类问题:适用于需要二元决策的场景,如垃圾邮件检测、信用评分等。
   - 多项分类问题:适用于需要多类别决策的场景,如图像识别、文本分类等。

TP:正样本被正确的分类成正样本 实际上是正样本数

FN:正样本被错误的分类成负样本 实际上是负样本数

FP:负样本被错误的分类成正样本 实际上是负样本数

TN:负样本被正确的分类成负样本 实际上是负样本数

1.单项分类问题

1.准确率(accuracy)

     

TP + TN:被正确分类的样本数

P + N:全部样本数

2.错误率(error rate)

FP + FN:被错误分类的样本数

P + N:全部样本数

3.精度(precision)

TP:被正确分类的正样本数

TP + FP:被正确分类和被错误分类的正样本数

4.召回率(recall)

TP:被正确分类的正样本数

TP + FN:被正确的分类的正样本数和被错误分类的正样本数(就是实际上的正样本数)

2.多项分类问题

1.F1分数(F1 score)

F1分数(F1 Score)是统计学中用来衡量二分类模型精确度的一种指标,它同时兼顾了分类模型的准确率(Precision)和召回率(Recall)。F1分数可以看作是模型准确率和召回率的一种加权平均,其最大值是1,最小值是0,值越大意味着模型的精确度越高

F1分数的计算公式是: 

其中:

  • Precision(精确率)是指预测为正类别中实际为正类别的比例,计算公式为:

  • 其中TP是真正例(True Positive),FP是假正例(False Positive)。

  • Recall(召回率)是指所有实际为正类别中被预测为正类别的比例,计算公式为:

  • 其中FN是假负例(False Negative)。

F1分数特别适用于那些正负样本数量不均衡的情况,因为它不像准确率那样容易受到样本数量分布的影响。

2.ROC曲线

ROC曲线(Receiver Operating Characteristic Curve)是一种用于评估分类模型性能的工具,尤其在二分类问题中非常常见。它通过不同的阈值设置,展示了模型的真正率(TPR)与假正率(FPR)之间的关系。ROC曲线的横轴是假正例率(False Positive Rate, FPR),纵轴是真正例率(True Positive Rate, TPR)。

ROC曲线的关键属性包括:
1. 真正率(TPR):又称召回率,是指模型正确预测的正样本数与所有实际为正的样本数的比例。TPR: TP / (TP+FN)
2. 假正率(FPR):又称误报率,是指模型错误预测为正的负样本数与所有实际为负的样本数的比例。 FP / (FP+TN)
3. AUC值:ROC曲线下面积的大小,介于0.5到1.0之间,用于衡量模型的整体性能。AUC值越高,表示模型的分类性能越好。

AUC为1时,表示模型具有完美的分类能力

AUC介于1与0.5之间时,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值

AUC为0.5时,表示模型的性能与随机猜测相同

AUC介于0.5与0之间时,比随机猜测还差;但只要总是反预测而行,就优于随机猜测

ROC曲线与模型性能的关系如下:
- 理想模型:理想的模型会在ROC曲线的左上角有一个点,表示TPR接近1而FPR接近0。
- 随机猜测:如果模型的预测完全是随机的,那么ROC曲线将接近于从左下角到右上角的对角线。
- 性能比较:通过比较不同模型的ROC曲线,可以判断哪个模型的性能更好。曲线越接近左上角,模型的性能越好。

在实际应用中,ROC曲线不仅可以用来比较不同模型的性能,还可以用来选择最佳的分类阈值,以及在类别不平衡的情况下评估模型的稳定性和有效性。


 

3.回归任务

1.MAE(平均绝对误差)

MAE(Mean Absolute Error),即平均绝对误差,是衡量预测值与实际值之间差异的一种常用指标。它通过计算预测值和实际值之间差的绝对值的平均数来得出。MAE的优点在于它对异常值(outliers)不敏感,并且其结果的单位与原始数据一致,这使得结果更容易解释。

MAE的计算公式 是:

yi是实际值,y尖i是预测值

其中:

  • n是样本数量。
  • yi是第 i 个样本的实际值。
  • yi​尖是第 i 个样本的预测值。

MAE的特点 包括:
1. 它是一个非负值,MAE越小表示模型的预测准确性越高。
2. 它对异常值的影响较小,因此更加稳健。

MAE的应用场景 包括:
- 异常值敏感度较低的应用,如金融市场预测、气象预报等。
- 简单性和可解释性重要的领域,如商业分析和社会科学。
- 实时系统和快速反馈环境,如实时交易系统或在线学习环境。

MAE的局限性 包括:
- 在对大误差敏感的场景中,如安全关键系统,MAE可能不是最佳选择。
- 在分布极度不平衡的数据中,MAE可能无法提供充分的信息。
 

总的来说,MAE是一个广泛应用的误差度量方法,适用于各种需要准确反映预测误差且对异常值有一定抵抗力的应用场景。然而,在需要对大误差敏感、处理极不平衡数据或强调异常值的情况下,不适合运用MAE

2.MSE(均方误差)

MSE,即均方误差(Mean Squared Error),是一种常用的评价指标,用于衡量模型预测值与实际值之间的差异。MSE 通过计算预测值与实际值之差的平方的平均值来衡量误差,其公式如下:

其中:

  • n是样本数量。
  • yi是第 i 个样本的实际值。
  • yi​尖是第 i 个样本的预测值。

MSE 的特点包括:

  1. 敏感性:MSE 对较大的误差给予更大的惩罚,因为它对误差进行了平方处理。这意味着一个较大的预测误差会对 MSE 产生较大的影响。
  2. 非负性:MSE 总是非负的,MSE 为 0 表示预测完全准确。
  3. 可解释性:MSE 的单位是预测值单位的平方,这可能使得其数值难以直观理解。

MSE 的应用场景包括:

  • 在回归分析中,MSE 是一种常用的损失函数,用于衡量模型的预测性能。
  • 在机器学习中,MSE 常用于训练模型,特别是在最小化损失函数的过程中。

MSE 的局限性:

  • MSE 对异常值(outliers)非常敏感,因为异常值会导致 MSE 显著增加。
  • 在某些情况下,MSE 可能不是最佳选择,特别是当数据中存在异常值或者我们希望对所有误差给予相同权重时。

MSE 与其他MAE的比较:

  • 与 MAE(平均绝对误差)相比,MSE 对大误差更敏感,因为误差被平方了。

在选择评价指标时,应根据具体问题的需求和数据的特性来决定是否使用 MSE。例如,如果异常值不是问题,或者我们希望模型对大误差给予更多关注,那么 MSE 可能是一个合适的选择。

3.MAE与MSE的比较

MAE的图像:

其中目标值是100,预测值的范围从-10000到10000,Y轴代表的MSE取值范围是从0到正无穷,并且在预测值为100处达到最小。

MSE的图像:

其中目标值是100,预测值的范围从-10000到10000,Y轴代表的MSE取值范围是从0到正无穷,并且在预测值为100处达到最小。

观察MAE和RMSE(即MSE的平方根,同MAE在同一量级中)在两个例子中的计算结果。第一个例子中,预测值和真实值很接近,而且误差的方差也较小。第二个例子中,因为存在一个异常点,而导致误差非常大

如果训练数据被异常点所污染,那么MAE损失就更好用(比如,在训练数据中存在大量错误的反例和正例标记,但是在测试集中没有这个问题)。

MAE存在一个严重的问题(特别是对于神经网络):更新的梯度始终相同,也就是说,即使对于很小的损失值,梯度也很大。这样不利于模型的学习。为了解决这个缺陷,我们可以使用变化的学习率,在损失接近最小值时降低学习率。
而MSE在这种情况下的表现就很好,即便使用固定的学习率也可以有效收敛。MSE损失的梯度随损失增大而增大,而损失趋于0时则会减小。这使得在训练结束时,使用MSE模型的结果会更精确。


 

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

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

相关文章

UWA Gears:Frame Capture模式 - 着色器查看器

UWA Gears 是UWA最新发布的无SDK性能分析工具。针对移动平台,提供了实时监测和截帧分析功能,帮助您精准定位性能热点,提升应用的整体表现。 在上周的文章中,我们详细介绍了网格查看器的功能,介绍如何通过网格数据优化…

Deepin V23 / 统信UOS 下安装与配置 tftp

几个月前,我将开发系统从 ubuntu 切换到 Deepin,当时写过一篇文章《使用国产操作系统作为开发系统》。几个月下来,没有感觉有什么不适应,Ubuntu 能做的事情,在 Deepin 上都能做。而且有 UOS 应用商店的加持&#xff0c…

Linux: Shell编程入门

Shell 编程入门 1 ) Shell 概念 shell 是 在英语中 壳, 外壳的意思可以把它想象成嵌入在linux这样的操作系统里面的一个微型的编程语言不像C语言, C 或 Java 等编程语言那么完整,它可以帮我们完成很多自动化任务例如保存数据监测系统的负载等等,我们同样…

数学之三角函数

小时候总是听别人讲甚么三角函数,感觉十分高大上,像是很深奥的知识。 今天我来讲解一下三角函数,首先就是概念了。 三角函数的概念(初中)(入门难度) 三角函数顾名思义就属于函数。那么它和三角…

51单片机快速入门之 AD(模数) DA(数模) 转换 2024/10/25

51单片机快速入门之 AD(模数) DA(数模) 转换 2024/10/25 声明:本文图片来源于网络 A模拟信号特点: 电压或者电流 缓慢上升 随着时间连续缓慢上升或下降 D数字信号特点:电压或者电流 保持一段时间的高/低电平 状态 / 突变 (高电压瞬间低电压) 数字电路中 通常将0-1v电压称…

JavaScript高级特性速成指南:原型链、严格模式、高阶函数、闭包、递归、浅拷贝和深拷贝

如果生活中有什么使你感到快乐,那就去做吧,不要管别人说什么 文章目录 原型链严格模式高阶函数闭包递归浅拷贝和深拷贝 原型链 概念:就是串联起来的结构作用:提供一个成员的查找机制或者查找规则 Javascript的成员查找机制(规则)…

resources下lib文件中的jar包怎么添加到git

这里讲怎么处理这部分的问题: 1:java maven resource 目录下的jar无法被添加到git 2:使用git命令添加jar包时报错:The following paths are ignored by one of your .gitignore files: ***,use -if **** 上面都是相同…

SpringMVC实战:构建高效表述层框架

文章目录 1. SpringMVC简介和体验1.1 介绍1.2 主要作用1.3 核心组件和调用流程1.4 快速体验 2. SpringMVC接收数据2.1 访问路径设置2.2 接收参数2.2.1 param和json参数比较2.2.2 param参数接收2.2.3 路径参数接收2.2.4 json参数接收 2.3 接收cookie数据2.4 接收请求头数据2.5 原…

Spring Boot技术中小企业设备管理系统设计与实践

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

SpringBoot启动报错java.nio.charset.MalformedInputException: Input length =1

启动springboot项目时,出现了以下报错: defaultPattern_IS_UNDEFINEDdefaultPattern_IS_UNDEFINEDdefaultPattern_IS_UNDEFINEDjava.lang.IllegalStateException: Failed to load property source from location classpath:/application-local.yamlat o…

行业首发|美格智能创新推出5G+Wi-Fi 7智能终端解决方案,端侧AI助力数智升维

在数字化时代的生产生活过程中,特殊场景下的通信需求愈发重要。高速、灵活、稳定的通信保障能够进一步提升生产生活的效率。随着5G网络的高速发展,一方面,其凭借低时延、高带宽、高可靠性和大规模连接的特性让移动终端的网络连接实现跨越式升…

【Sublime Text】设置中文 最新最详细

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。 【Sublime Text】设置中文 最新最详细 开…

【Git】将本地代码提交到github仓库

一、创建仓库 复制这里的HTTP连接码 二、仓库初始化 进入你要提交的代码文件夹 右键选择 Git Bach Here 输入命令 git clone [HTTP连接码] 此时文件夹里会出现一个新的文件夹,将原来的文件当今这个新的文件夹 三、上传代码 执行命令 cd [新文件夹] 将所有文件放…

蓝牙技术的多种模式详解

蓝牙作为一种广泛应用的无线通信技术,已经在我们的日常生活中无处不在。随着技术的发展,蓝牙已经不再仅限于传统的音频传输,而是扩展到了各种应用领域。本文将深入探讨蓝牙的各种模式及其应用场景。 1. 经典蓝牙(BR/EDR&#xff…

重生之“我打数据结构,真的假的?”--3.栈和队列(无习题)

栈和队列 C语言中的栈和队列总结 在C语言中,**栈(Stack)和队列(Queue)**是两种非常重要的数据结构。它们广泛用于各种应用中,比如内存管理、任务调度、表达式求值等。本文将对这两种数据结构进行详细的介…

从零开始的Go语言之旅(2 Go by Example: Values)

Go 语言有多种值类型,包括字符串、整数、浮点数、布尔值等。以下是一些基本示例。 package mainimport "fmt"func main() {fmt.Println("go" "lang")fmt.Println("11 ", 11)fmt.Println("7.0/3.0 ", 7.0/3.0)f…

深度学习——线性神经网络(五、图像分类数据集——Fashion-MNIST数据集)

目录 5.1 读取数据集5.2 读取小批量5.3 整合所有组件 MNIST数据集是图像分类中广泛使用的数据集之一,但是作为基准数据集过于简单,在本小节将使用类似但更复杂的Fashion-MNIST数据集。 import torch import torchvision from torch.utils import data fr…

你了解的spring框架有哪些

列举一些重要的Spring模块? Spring Core: 基础,可以说 Spring 其他所有的功能都需要依赖于该类库。主要提供 IOC 依赖注入功能。**Spring Aspects ** : 该模块为与AspectJ的集成提供支持。Spring AOP :提供了面向方面的编程实现。…

logback 如何将日志输出到文件

如何作 将日志输出到文件需要使用 RollingFileAppender&#xff0c;该 Appender 必须定义 rollingPolicy &#xff0c;另外 rollingPollicy 下必须定义 fileNamePattern 和 encoder <appender name"fileAppender" class"ch.qos.logback.core.rolling.Rollin…

重构案例:将纯HTML/JS项目迁移到Webpack

我们已经了解了许多关于 Webpack 的知识&#xff0c;但要完全熟练掌握它并非易事。一个很好的学习方法是通过实际项目练习。当我们对 Webpack 的配置有了足够的理解后&#xff0c;就可以尝试重构一些项目。本次我选择了一个纯HTML/JS的PC项目进行重构&#xff0c;项目位于 GitH…