【提高准确率方法总结】

article/2025/10/7 21:30:16

文章目录

  • 1.数据集扩增
  • 2.增大数据集差异性,随机性
  • 3.使用tensor transform对数据进行预处理
  • 4.调节batch_size大小
  • 5.设置shuffle=True
  • 6.调节学习率(learning rate)
  • 7.权重衰减 (weight_decay)
  • 8.适当增加训练轮次(num_epochs)
  • 9.dropout()参数及位置
  • 10.参数初始化
  • 11.调整网络结构(层数,每层的大小,函数)


当初步搭建好网络,模型能出初步结果后,若想优化,可以考虑调整:

1.数据集扩增

一般增加数据集容量,训练后的准确率会得到明显提升。

2.增大数据集差异性,随机性

在制作数据集时可以考虑增加数据的差异性,随机性。

3.使用tensor transform对数据进行预处理

pytorch 中使用transform模块对数据进行预处理。

原因:transform可以提升数据泛化能力包括:数据中心化、数据标准化、缩放、裁剪、旋转、翻转、填充、噪声添加、灰度变换、线性变换、仿射变换、亮度、饱和度及对比度变换等。

4.调节batch_size大小

调整batch_size大小,可以16,32,64…这样依次往上调,寻找最适合的,当然不必要是2的倍数

原因:batch size的大小决定了深度学习训练过程中的完成每个epoch所需的时间和每次迭代(iteration)之间梯度的平滑程度。batch size过小,花费时间多,同时梯度震荡严重,不利于收敛;batch size过大,不同batch的梯度方向没有任何变化,容易陷入局部极小值。

5.设置shuffle=True

随机读取数据,一般在训练网络时使用,对于小数据集来说效果惊人。

原因:shuffle方法,用来打乱数据集中数据顺序,以避免数据投入的顺序对网络训练造成影响。
增加随机性,提高网络的泛化性能,避免因为有规律的数据出现,导致权重更新时的梯度过于极端,避免最终模型过拟合或欠拟合。因为按照某些顺序投入容易在训练中走偏或陷入局部最优使得训练效果出现差异,尤其是当batch size比较小的时候。

6.调节学习率(learning rate)

可以使用动态学习率,也可以先是大的学习率 ,然后慢慢减小,如开始是0.1,然后是0.05,每一次都对半分,寻找最合适的学习率。

原因:将输出误差反向传播给网络参数,以此来拟合样本的输出。本质上是最优化的一个过程,逐步趋向于最优解。但是每一次更新参数利用多少误差,就需要通过一个参数来控制,这个参数就是学习率(Learning rate),也称为步长。
在这里插入图片描述
最理想的学习率不是固定值,而是一个随着训练次数衰减的变化的值,也就是在训练初期,学习率比较大,随着训练的进行,学习率不断减小,直到模型收敛。

7.权重衰减 (weight_decay)

原因:L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。

8.适当增加训练轮次(num_epochs)

当准确率难以上升,可以增加训练轮次,让网络充分学习,当然要防止过拟合。

原因:epochs被定义为向前和向后传播中所有批次的单次训练迭代。one epoch = numbers of iterations = N = 训练样本的数量/batch_size。设置大小与数据集的多样化程度有关, 一般多样化程度越强, epoch 越大。

9.dropout()参数及位置

dropout() 的参数可以从0.1开始调,以0.05为间隔,各个网络有不同的参数。所放的位置也有很大的影响,不一定要在全连接层后。

原因:dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。dropout可以比较有效地减轻过拟合的发生,一定程度上达到了正则化的效果。

10.参数初始化

pytorch中会有默认的参数初始化。

如果没有,可以考虑自行初始化,有助于提高准确率。

11.调整网络结构(层数,每层的大小,函数)

可以考虑增加层次,或者调整输出的大小来提高准确率。


http://chatgpt.dhexx.cn/article/vrWe5Mh2.shtml

相关文章

准确率、召回率和mAP、AP50/75

1、准确率和召回率 真实值与预测值之间的关系如下左图所示,右图是二者之间的一个直观表示,同时也能清晰的看出准确率和召回率的具体含义。准确率 P P P 给出了“预测为真值的样本中确实有多少比例为真值”,召回率 R R R 则给出了“本来就是…

如何区分精确率(precision)、准确率(accuracy)和召回率(recall)

理解精确率(precision)、准确率(accuracy)和召回率(recall) 正样本 负样本 预测正例 TP FP 预测反例 FN TN TN,预测是负样本,预测对了 FP,预测是正样本,预测错了 FN,预测是负样本&am…

pytorch_cifar10 学习记录(91%准确率)

目录 一、首次尝试深度学习 1.1训练参数 网络结构: 1.2训练结果 1.3 总结 二、修改网络和学习率,初次使用GPU炼丹(kaggle线上炼丹) 2.1训练参数 三、cifar10数据增强后进行炼丹 3.1 参数设置 3.2训练记录 3.2.1 0-100轮…

精度评定中的准确率(Precision)和召回率(Recall)

在模式识别中,我们经常会使用到一些指标对目标识别或者影像分类的结果进行评价。 假设我们需要将一个样本集分类为苹果和非苹果两类,那么分类结果有四种情况: 第一种情况:True Positive,本来就是苹果被分类成苹果&…

机器学习:什么是召回率、准确率和精确率?

在机器学习中,经常会听到准确率、召回率及精确率三个专业评价指标,刚开始接触时,总是会傻傻的分不清,今天之后,就能准确区分了! —准确率:就是在预测的所有样本中预测正确的比率(包…

准确率、精度和召回率

原文链接 精度(查准率)和召回率(查全率)是衡量机器学习模型性能的重要指标,特别是数据集分布不平衡的案例中。 什么是分布不平衡的数据集? 倘若某人声称创建一个能够识别登上飞机的恐怖分子的模型&#…

深度学习提高模型准确率方法

这里写目录标题 深度学习数据使用更多数据更改图像大小减少颜色通道 算法模型改进增加训练轮次迁移学习添加更多层调整超参数 总结 深度学习 我们已经收集好了一个数据集,建立了一个神经网络,并训练了模型,在测试和验证阶段最后得到的准确率…

准确率、精准率和召回率的理解

我们在在分类任务时,经常会对模型结果进行评估。评估模型好坏的指标有AUC、KS值等等。这些指标是通过预测概率进行计算的。而准确率、精准率和召回率也通过混淆矩阵计算出来的。下图是对混淆矩阵的介绍: 其中, TP:样本为正&#…

准确率召回率

http://blog.sina.com.cn/s/blog_4b59de070100ehl7.html 最近一直在做相关推荐方面的研究与应用工作,召回率与准确率这两个概念偶尔会遇到, 知道意思,但是有时候要很清晰地向同学介绍则有点转不过弯来。 召回率和准确率是数据挖掘中预测、互…

准确度(accuracy)、精确率(precision)、召回率(recall)、F1值 谈谈我的看法

目录 前言 基本概念 准确率 Accuracy 精确度 Precision 召回率 Recall F1 值 sklearn 的评估函数 pyspark 的评估函数 tensorflow 的评估函数 多分类下的评估 前言 准确度、精确率、召回率、F1值作为评估指标,经常用到分类效果的评测上。比较好理解的二分…

准确率,精确率,召回率和F1值

机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accuracy),精确率(Precision),召回率(Recall)和F1-Measure。 (注: 相对来说,IR 的 ground truth 很多时候是一个 Ordered Lis…

准确率与召回率

在信息检索、分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常重要,因此最近根据网友的博客做了一个汇总。 准确率、召回率、F1 信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)和准确率(Precisio…

【机器学习】召回率、精确率、准确率的区别

1. 作用语言定义 作用:提升****精确率是为了不错报、提升召回率是为了不漏报 分不清准确率和精确率,在这里先正确区分一下精确率和准确率,以及他们的别称这里[HashArt]给出了一个通俗易懂的解释:(https://zhuanlan.zhihu.com/p/9…

准确率、精确率、召回率、F值

准确率:正确的数量除以总数量 准确率(accuracy),是一个用来衡量分类器预测结果与真实结果差异的一个指标,越接近于1说明分类结果越准确。举个例子,比如现在有一个猫狗图片分类器对100张图片进行分类&#…

准确率、精确率、召回率和F-score

文章目录 一、TP、FP、FN和TN二、 准确率(accuracy)、精确率(precision)、召回率(Recall)、F-score三、各个指标意义和优缺点 一、TP、FP、FN和TN 举例来说,用血压值来检测一个人是否有高血压,测出的血压值…

准确率(Accuracy) | 查准率(Precision) | 查全率(Recall)

目录 样本 识别结果 指标计算 Accuracy(准确率) Precision(精确率、查准率) Recall (召回率、查全率) 为什么要不同的指标? 综合评价 (F-Score) 在机器学习中,对于一个模型…

通俗解释机器学习中的召回率、精确率、准确率

赶时间的同学们看这里:提升精确率是为了不错报、提升召回率是为了不漏报 网络上很多地方分不清准确率和精确率,在这里先正确区分一下精确率和准确率,以及他们的别称 切入正题 很多人分不清召回率和精确率的区别,即使记住了公式…

详解准确率、精确率、召回率、F1值的含义

机器学习问题之中,通常需要建立模型来解决具体问题,但对于模型的好坏,也就是模型的泛化能力,如何进行评估呢? 很简单,我们可以定一些评价指标,来度量模型的优劣。比如准确率、精确率、召回率、…

准确率,召回率

1、准确率与召回率(Precision & Recall) 准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召…

如何解释准确率、精确率与召回率?

对于二分类问题,机器预测的和实际的还是会有所偏差,所以我们引入以下几个概念来评价分类器的优良。 首先有关TP、TN、FP、FN的概念。TP与TN都是机器(预测)分类分对了的情况,TP是预测为正类且预测正确,TN是…