神经网络训练中的欠拟合、过拟合问题

这篇具有很好参考价值的文章主要介绍了神经网络训练中的欠拟合、过拟合问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

神经网络训练中的问题

神经网络在数据之海中打捞规律,自成模型。这个过程全权由电脑完成,也因此我们担心它是否是一种泛化的模式,在其它「海域」继续工作时,它能否也能得到正确的结果?如何发现 可以泛化的模式 是机器学习的根本问题。

神经网络训练中的欠拟合、过拟合问题

通常,模型越复杂、训练样本越少,它的泛化能力就会受到考验:

  1. 可调整参数的数量很多时,模型更容易出现「过拟合」
  2. 权重参数的取值范围较大时,模型更容易出现「过拟合」
  3. 训练样本不足时,容易出现「过拟合」(即便模型很简单)

过拟合与欠拟合

我们的数据通常分成3份:

  • 训练数据:用于神经网络训练的数据;
  • 测试数据:神经网络训练完后,用于评估其准确度的数据;
  • 验证数据:为了确定候选模型中的最佳模型所用的检验数据。

在实际训练中,会有 欠拟合过拟合 的情况。我们将神经网络用训练数据计算时的误差称为「训练误差」,用测试数据计算时的误差称为「泛化误差」。那么:

  • 当训练误差与泛化误差都很大时,称模型「欠拟合」。由于训练误差大,所以也称该模型有「高偏差」问题;
  • 当训练误差很小,但泛化误差很大时,称模型「过拟合」。由于泛化误差大,所以也称该模型有「高方差」问题。
神经网络训练中的欠拟合、过拟合问题

模型选取

在机器学习中,我们通常从几个候选模型后选择最终的模型。例如,训练多层感知机时,我们会⽐较有着不同隐藏层数、每层有着不同数量神经元以及使用不同激活函数的模型。

当神经网络「欠拟合」时,我们首先可以让它训练更长一段时间,如果仍无效,则会考虑使用更复杂的神经网络(更多隐藏层、增加层的神经元、换其它激活函数等)或者使用其它类型的神经网络。

数据集大小

在如今有大量数据(百万甚至更大)的情况下,训练数据的比重可以占得很大:训/测/验 = 98%/1%/1% 即便是1%的数据也有上万,足以用于检验了,我们可以将更多数据投入训练中。

训练数据集的大小对模型训练结果有什么影响?训练集样本过少,可能会导致严重的「过拟合」问题,反过来说,更多的训练数据能减小泛化误差,而且通常没有坏处(除了训练久一点),尤其是训练复杂的模型时。

在尝试了更多数据后,如果模型仍「过拟合」或者你原本的数据已经是高质量的了,无法再获得更多数据时,则可以考虑 正则化 ,或者换用其它类型的神经网络。

正则化

有一些常用的正则化模型的技术,可以帮助我们缓解过拟合问题。

1. 权重衰减

权重衰减,也称为 \(L_2\) 正则化,它在原本损失函数的基础上,加上了「某系数 * 权重矩阵的各元素平方和」,这个「某系数」一般取较小值(<0.1):

神经网络训练中的欠拟合、过拟合问题

关于该公式的更多内容可以移步这个视频!

从新的损失函数可以看出,如果想要将其值变小,就需要额外将权重的值变小才行。这也就与开头说的影响模型泛化的因素之二(权重取值范围)相吻合,所以它在提高模型泛化能力上能起作用。

  • 为什么用 \(L_2\) 而不是 \(L_1\) 正则化?
    \(L_2\) 会对权重向量的大分量施加巨大的惩罚,使得学习算法偏向于在大量特征上均匀分布权重的模型。假设有一个神经网络的权重为 \(W = [0.5, 1.2, 1.3, -2.1]\),在进行权重衰减时,首当其冲的必定是-2.1这个值,这有助于防止模型过分依赖该权重计算,使学习算法更倾向于在许多特征上均匀分布权重的模型。
  • 需要对偏置b进行同样处理吗?
    不需要,因为偏置之于模型,相当于常数至于函数,在函数中调整常数项的大小只会影响函数的位置,并不影响函数的形状;这对于神经网络同理,「泛化能力」与神经网络所构成的函数形状密切相关,所以偏置没必要进行同样的衰减。

2. 暂退法(Dropout)

暂退法会在训练时(具体点说是前向传播时),将模型隐藏层中的每层的神经元以一定概率舍弃:

神经网络训练中的欠拟合、过拟合问题

你肯定也能看出它的道理:降低模型复杂度、减小权重参数范围,这分别对应先前所讲的因素一和因素二。

  • 降低模型复杂度可以理解,但为什么这么做也能减小权重参数范围?
    因为每个权重都有可能被暂时丢弃的可能,也就是说会不参与某几次权重更新,这样也就减小了它的参数范围(相比不做Dropout正则化时)。

参考(墙裂推荐捏):文章来源地址https://www.toymoban.com/news/detail-787667.html

  1. 《动手学深度学习(第二版)》 4.4部分
  2. 《“L1和L2正则化”直观理解(之二),为什么又叫权重衰减?到底哪里衰减了?》b站up主 王木头学科学
  3. 《如何解决过拟合问题?L1、L2正则化及Dropout正则化讲解》b站up主 摸鱼蟹

到了这里,关于神经网络训练中的欠拟合、过拟合问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 矩阵内积在神经网络训练中的关键作用

    在过去的几年里,神经网络技术在人工智能领域取得了显著的进展。这主要归功于深度学习(Deep Learning)技术的发展,深度学习是一种通过多层神经网络自动学习表示的技术,它已经成功地应用于图像识别、自然语言处理、语音识别等多个领域。 在深度学习中,神经网络的训练

    2024年02月21日
    浏览(31)
  • []关于解决pytorch训练神经网络时显存一直增长的问题

    @[原创]关于解决pytorch训练神经网络时显存一直增长的问题 在训练自定义loss和自定义网络结构的一个模型的时候,发现模型和数据都比较简单的情况下,在训练过程中居然把24g的显卡拉爆了显存。 然后使用nvidia-smi -l观察显存变化,发现是有规律的显存一直增加,直到OOM。 在

    2024年02月14日
    浏览(35)
  • 使用FORCE训练的脉冲神经网络中的监督学习(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 1.1第一代神经网络 1.2 第二代神经网络:BP 神经网络 1.

    2023年04月26日
    浏览(68)
  • 神经网络小记-过拟合与欠拟合

    过拟合(Overfitting)是机器学习和深度学习中常见的问题,指模型在训练数据上表现得非常好,但在新数据上表现较差,即模型过度拟合了训练数据的特征,导致泛化能力不足。 解决过拟合的方式包括以下几种: 数据集扩充:增加更多的训练样本,使得模型能够学习更多不同

    2024年02月16日
    浏览(34)
  • 神经网络基础-神经网络补充概念-35-为什么正则化可以减少过拟合

    正则化可以减少过拟合的原因在于它通过限制模型的复杂性来约束参数的取值范围,从而提高了模型的泛化能力。过拟合是指模型在训练集上表现很好,但在未见过的数据上表现不佳,这通常是因为模型过于复杂,过多地拟合了训练数据中的噪声和细节,从而导致了泛化能力

    2024年02月12日
    浏览(31)
  • 深度学习基础:循环神经网络中的长期依赖问题

    在深度学习中,循环神经网络(RNN)是一种经典的模型,用于处理序列数据,如自然语言处理、时间序列预测等任务。然而,传统的RNN存在着一个长期依赖问题,即在处理长序列时,模型往往难以捕捉到序列中远距离的依赖关系,导致性能下降。在本文中,我们将介绍长期依

    2024年04月28日
    浏览(27)
  • DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

    VIT在归纳偏置方面存在空间相关性和信道表示的多样性两大缺陷。所以论文提出了动态混合视觉变压器(DHVT)来增强这两种感应偏差。 在空间方面,采用混合结构,将卷积集成到补丁嵌入和多层感知器模块中,迫使模型捕获令牌特征及其相邻特征。 在信道方面,引入了MLP中的

    2024年02月08日
    浏览(36)
  • 数学建模-MATLAB神经网络工具箱实现数据拟合预测

    将数据集保存在矩阵data中 在APP页面找到Neural Net Fitting 3.输入与目标均为 data,Samples are 选择 Matrix rows 4.训练集和验证集的百分比可以自定义,一般默认 三种算法,各有优劣,一般默认第一个,点击Train进行训练 4.点击Performance 5.以此图为例,13.1572代表误差,误差越低越好,可

    2024年02月06日
    浏览(31)
  • 【人工智能】— 神经网络、前向传播、反向传播、梯度下降、局部最小值、多层前馈网络、缓解过拟合的策略

    前向传播和反向传播 都是神经网络训练中常用的重要算法。 前向传播 是指将输入数据从输入层开始经过一系列的权重矩阵和激活函数的计算后,最终得到输出结果的过程。在前向传播中,神经网络会将每一层的输出作为下一层的输入,直到输出层得到最终的结果。 反向传播

    2024年02月10日
    浏览(38)
  • 【人工智能】神经网络、前向传播、反向传播、梯度下降、局部最小值、多层前馈网络、缓解过拟合的策略

    前向传播 是指将输入数据从输入层开始经过一系列的权重矩阵和激活函数的计算后,最终得到输出结果的过程。在前向传播中,神经网络会将每一层的输出作为下一层的输入,直到输出层得到最终的结果。 反向传播 是指在神经网络训练过程中,通过计算损失函数的梯度,将

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包