神经网络学习算法的过拟合问题及解决方法

合集下载

如何处理卷积神经网络中的过拟合问题

如何处理卷积神经网络中的过拟合问题

如何处理卷积神经网络中的过拟合问题卷积神经网络(Convolutional Neural Network,简称CNN)是一种广泛应用于图像识别、语音识别等领域的深度学习模型。

然而,在实际应用中,我们常常会遇到过拟合的问题,即模型在训练集上表现良好,但在测试集上表现不佳。

本文将讨论如何处理卷积神经网络中的过拟合问题。

一、数据集扩充数据集的大小对于卷积神经网络的训练至关重要。

当数据集较小时,模型容易过拟合。

因此,我们可以通过数据集扩充的方式来增加训练样本的数量。

数据集扩充可以通过多种方式实现,如图像平移、旋转、缩放、翻转等操作,以及加入随机噪声等。

这样可以增加数据的多样性,帮助模型更好地泛化。

二、正则化方法正则化是一种常用的减少过拟合的方法。

在卷积神经网络中,常用的正则化方法有L1正则化和L2正则化。

L1正则化通过在损失函数中加入权重的绝对值之和,使得模型更加稀疏,减少不必要的特征。

L2正则化通过在损失函数中加入权重的平方和,使得模型的权重更加平滑,减少过拟合的风险。

同时,我们还可以结合正则化方法和数据集扩充来进一步减少过拟合。

三、DropoutDropout是一种常用的正则化技术,它通过在训练过程中随机将一些神经元的输出置为零,以减少神经元之间的依赖关系。

这样可以强制模型学习到更加鲁棒的特征,减少过拟合的风险。

在卷积神经网络中,我们可以在全连接层和卷积层之间加入Dropout层,控制每一层的神经元丢弃的比例。

四、早停法早停法是一种简单有效的减少过拟合的方法。

它通过监控模型在验证集上的性能,当验证集上的性能不再提升时,停止训练,避免模型过拟合训练集。

早停法需要设定一个阈值,当验证集上的性能连续多次不再提升时,即可停止训练。

这样可以避免模型在过拟合的情况下继续训练,提高模型的泛化能力。

五、模型集成模型集成是一种将多个模型的预测结果进行综合的方法。

在卷积神经网络中,我们可以通过训练多个不同的模型,然后将它们的预测结果进行平均或投票来得到最终的预测结果。

如何解决神经网络中的过拟合问题

如何解决神经网络中的过拟合问题

如何解决神经网络中的过拟合问题神经网络是一种强大的机器学习工具,它可以通过训练大量数据来学习和识别模式。

然而,神经网络在处理复杂问题时常常遭遇过拟合问题,这会导致网络在训练集上表现良好,但在新数据上的泛化能力较差。

为了克服这个问题,我们需要采取一些方法来调整和优化神经网络。

1. 增加数据集规模过拟合通常是由于训练数据不足而导致的,因此增加数据集的规模是解决过拟合的一种有效方法。

更多的数据可以提供更多的样本,帮助网络更好地学习和泛化。

可以通过数据增强技术,如旋转、平移、缩放和翻转等,来生成更多的训练样本,以增加数据集的规模。

2. 正则化正则化是一种常用的解决过拟合问题的方法。

它通过在损失函数中添加一个正则化项,来限制模型的复杂度。

常见的正则化方法有L1正则化和L2正则化。

L1正则化可以使得模型参数稀疏化,即将一些不重要的特征的权重设为0,从而减少模型的复杂度。

L2正则化则通过限制参数的平方和来降低模型的复杂度。

正则化可以有效地防止过拟合,提高模型的泛化能力。

3. DropoutDropout是一种常用的正则化技术,它在训练过程中随机地将一部分神经元的输出置为0,从而减少神经元之间的依赖关系。

通过随机地“丢弃”一些神经元,可以减少网络的复杂度,防止过拟合。

在测试阶段,所有的神经元都参与计算,但是每个神经元的输出要乘以一个保留概率,以保持期望输出的一致性。

4. 早停早停是一种简单而有效的解决过拟合问题的方法。

它通过在训练过程中监测验证集上的误差,当验证集上的误差开始增加时,停止训练,从而防止网络过拟合训练集。

早停可以根据验证集上的误差变化情况来确定停止训练的时机,从而找到合适的模型。

5. 模型复杂度调整过拟合通常是由于模型过于复杂而导致的,因此调整模型的复杂度是解决过拟合的一种方法。

可以通过减少网络的层数、神经元的个数或者减少模型的参数量来降低模型的复杂度。

简化模型可以减少模型对训练数据的过度拟合,提高模型的泛化能力。

卷积神经网络中的过拟合问题研究

卷积神经网络中的过拟合问题研究

卷积神经网络中的过拟合问题研究卷积神经网络(Convolutional Neural Network, CNN)是深度学习领域中应用广泛的一种算法。

它可以实现从图片、语音、文本等数据中提取特征,进而实现分类、识别、预测等任务。

然而,对于CNN来说,一个常见的问题就是过拟合。

本文将探讨CNN中的过拟合问题,以及解决这一问题的方法。

一、过拟合问题及其产生原因所谓过拟合问题,就是指CNN在训练数据上表现良好,但在测试数据上表现很差的情况。

简而言之,就是模型过于复杂,在训练数据上进行过拟合,导致模型无法泛化到测试数据上。

那么,CNN中什么因素会导致过拟合呢?1. 样本数量不足:当训练数据数量过少时,模型难以获得充分的信息来进行泛化。

模型会因为训练数据过少而过拟合,对测试数据的泛化能力降低。

2. 模型复杂度过高:当模型复杂度过高时,学习的参数数量会增加很多,这也意味着模型的容量变得更大,可以对训练数据进行更好的拟合。

然而,当过度拟合时,模型会记住训练样本中的特定特征,而非泛化特征,无法适应新的数据集。

因此,模型的复杂度应该符合实际问题的需求。

3. 训练时的噪声:当训练数据中存在噪声时,会使CNN模型对噪声进行过拟合。

这样模型会尝试去适应这些噪声,导致其在测试数据中表现很差。

4. 模型训练次数过多:当模型训练次数过多时,模型会在训练数据上取得更好的拟合效果,但也可能会导致模型过拟合。

因此,一般需要加入正则化方法,限制参数大小,防止过拟合的发生。

二、解决过拟合问题的方法针对CNN中的过拟合问题,可以采取以下几种方法:1. 数据增强:数据增强是一种有效的方法,可以扩大数据集的规模。

这种方法包括对图像进行仿射变换、缩放、旋转、反转等操作,以创建更多的数据集。

通过数据增强,CNN模型可以利用更多的数据进行训练,提高其对不同类型数据的泛化能力。

2. 正则化:正则化是一种常用的方法,最常见的有L1正则化和L2正则化。

L1正则化可以使优化的目标函数在训练过程中更加“稀疏”,减少不必要的参数的数量;L2正则化可以限制参数的平方和,使模型的权值更加平均。

前馈神经网络中的过拟合问题及解决方法(七)

前馈神经网络中的过拟合问题及解决方法(七)

前馈神经网络(Feedforward Neural Network)是一种常见的人工神经网络结构,它的主要特点是信息的流动是单向的,从输入层到隐藏层再到输出层。

在实际应用中,前馈神经网络经常会遇到过拟合(Overfitting)的问题,本文将讨论前馈神经网络中的过拟合问题及解决方法。

一、过拟合问题的原因过拟合是指模型在训练集上表现良好,但在测试集上表现很差的现象。

过拟合问题的主要原因有两个:模型复杂度过高和数据量不足。

模型复杂度过高指的是模型的参数过多,容易出现对训练数据过度拟合的情况;数据量不足则是指训练集的样本数量太少,无法充分表示整个数据分布。

二、解决过拟合的方法1. 正则化(Regularization)正则化是一种常用的降低模型复杂度的方法。

它通过在损失函数中引入正则化项,惩罚模型的复杂度,从而防止模型对训练数据过拟合。

常用的正则化方法有L1正则化和L2正则化。

L1正则化通过在损失函数中加入参数的绝对值之和来惩罚模型的复杂度;L2正则化则是通过加入参数的平方和来实现。

正则化可以在训练过程中控制模型的复杂度,有效防止过拟合的发生。

2. 交叉验证(Cross-validation)交叉验证是一种通过将训练集分成若干个子集,然后分别用其中一个子集作为验证集,其余子集作为训练集来进行多次训练和验证的方法。

通过多次交叉验证可以得到更加稳定和可靠的模型评估结果,有效防止模型对训练数据过度拟合。

3. 增加数据量增加数据量是解决过拟合问题的有效方法之一。

更多的数据可以更好地表示整个数据分布,使得模型更加准确地学习到数据的特征,从而减少过拟合的风险。

当训练数据量不足时,可以通过数据增强(Data Augmentation)的方法来扩充训练集,例如通过旋转、翻转、缩放等方式生成新的训练样本,从而提高模型的泛化能力。

4. DropoutDropout是一种在训练过程中随机丢弃神经网络中的部分神经元的方法。

它可以有效地减少神经网络的复杂度,防止模型对训练数据过拟合。

避免神经网络中的过拟合问题的方法

避免神经网络中的过拟合问题的方法

避免神经网络中的过拟合问题的方法在深度学习中,神经网络是一个重要的工具,它能够通过学习大量数据来进行模式识别和预测。

然而,神经网络在处理大规模数据时,往往会面临过拟合的问题。

过拟合指的是模型在训练集上表现良好,但在测试集上表现较差的现象。

为了解决这个问题,研究者们提出了许多方法。

本文将介绍一些常用的避免神经网络中过拟合问题的方法。

1. 数据扩增数据扩增是一种常用的处理过拟合问题的方法。

通过对训练集进行一系列的随机变换,如旋转、平移、缩放等,可以生成更多的训练样本。

这样做的好处是可以增加数据的多样性,减少模型对具体样本的依赖性,从而降低过拟合的风险。

2. 正则化正则化是一种通过对模型的参数进行约束来减少过拟合的方法。

常用的正则化方法有L1正则化和L2正则化。

L1正则化通过给模型的参数添加一个绝对值惩罚项,使得模型的参数更加稀疏,减少不必要的特征。

L2正则化通过给模型的参数添加一个平方惩罚项,使得模型的参数更加平滑,减少参数的波动。

正则化可以有效地控制模型的复杂度,降低过拟合的风险。

3. 早停早停是一种简单而有效的避免过拟合的方法。

它通过在训练过程中监控模型在验证集上的性能,当模型在验证集上的性能开始下降时,停止训练,选择性能最好的模型作为最终模型。

早停可以有效地避免模型在训练集上过拟合,提高模型的泛化能力。

4. DropoutDropout是一种常用的正则化方法,它通过随机丢弃神经网络中的一些神经元来减少过拟合的风险。

具体地,Dropout会在每次训练过程中随机选择一些神经元,并将它们的输出置为0,这样可以使得模型不依赖于特定的神经元,从而减少过拟合的风险。

Dropout可以看作是对多个子模型的集成,从而提高模型的泛化能力。

5. 模型集成模型集成是一种通过组合多个模型来提高泛化能力的方法。

常用的模型集成方法有Bagging和Boosting。

Bagging通过随机选择一部分训练样本,训练多个模型,并将它们的预测结果进行平均,从而减少模型的方差,提高模型的泛化能力。

如何应对神经网络中的欠拟合和过拟合问题

如何应对神经网络中的欠拟合和过拟合问题

如何应对神经网络中的欠拟合和过拟合问题神经网络是一种强大的机器学习工具,可以用于解决各种问题,如图像分类、语音识别等。

然而,训练一个有效的神经网络并不总是一件容易的事情。

在实际应用中,我们经常会遇到两个常见的问题:欠拟合和过拟合。

欠拟合是指模型对训练数据和测试数据的预测能力都较差的情况。

这意味着模型没有很好地学习到数据的特征和模式。

欠拟合通常发生在模型过于简单或者数据量过小的情况下。

为了解决欠拟合问题,我们可以采取以下几种方法。

首先,我们可以增加模型的复杂度。

增加模型的复杂度可以增加模型的拟合能力,使其能够更好地适应数据。

我们可以增加网络的层数或者每层的神经元数量。

然而,需要注意的是,增加模型的复杂度也会增加过拟合的风险,因此需要谨慎选择模型的复杂度。

其次,我们可以增加训练数据的数量。

更多的训练数据可以提供更多的样本,使模型能够更好地学习到数据的特征和模式。

如果实际情况下无法获取更多的训练数据,我们可以考虑使用数据增强的方法。

数据增强是指对已有的训练数据进行一系列的变换,如旋转、平移、缩放等,生成新的训练样本。

这样可以扩大训练数据的规模,提高模型的泛化能力。

另外,我们还可以调整模型的超参数。

超参数是指在训练模型时需要手动设置的参数,如学习率、正则化参数等。

通过调整超参数,我们可以优化模型的性能。

一种常用的调参方法是网格搜索,即遍历不同的超参数组合,通过交叉验证选择最优的超参数。

除了欠拟合,过拟合也是神经网络中常见的问题。

过拟合是指模型在训练数据上表现良好,但在测试数据上表现较差的情况。

过拟合通常发生在模型过于复杂或者训练数据量过小的情况下。

为了解决过拟合问题,我们可以采取以下几种方法。

首先,我们可以增加正则化项。

正则化是一种降低模型复杂度的方法,可以有效抑制过拟合。

常用的正则化方法有L1正则化和L2正则化。

L1正则化可以使模型的权重稀疏化,即使得一部分权重为0,从而减少模型的复杂度。

L2正则化可以使模型的权重较小,从而减小模型的波动性。

卷积神经网络的欠拟合和过拟合解决方法(七)

卷积神经网络的欠拟合和过拟合解决方法(七)

卷积神经网络的欠拟合和过拟合解决方法卷积神经网络(CNN)是一种深度学习模型,它在图像识别、语音识别等领域取得了巨大成功。

然而,与其他机器学习算法一样,CNN也存在欠拟合和过拟合问题。

本文将讨论这些问题的原因以及解决方法。

欠拟合是指模型无法很好地适应训练数据,而过拟合则是指模型在训练数据上表现良好,但在测试数据上表现较差。

这些问题的根源可以追溯到数据量不足、模型复杂度过高或者训练过程中的错误处理。

首先,数据量不足是导致欠拟合和过拟合的一个常见原因。

对于CNN来说,训练数据的质量和数量对模型的性能至关重要。

如果训练数据过少或者不具有代表性,那么模型很可能无法学到足够的特征来进行分类。

因此,解决这一问题的方法之一是增加训练数据的数量,也可以通过数据增强的方法来扩充训练数据集,例如随机裁剪、旋转、翻转等操作。

其次,模型复杂度过高也会导致过拟合的问题。

在CNN中,过多的卷积层和全连接层会导致模型学习到数据集中的噪声而不是真正的特征。

因此,解决这一问题的方法之一是减少模型的复杂度,可以通过减少卷积核的数量、缩小卷积核的大小、增加池化层的数量等方式来简化模型。

另外,训练过程中的错误处理也可能导致欠拟合和过拟合。

例如,学习率设置不当、优化算法选择错误等都会导致模型无法充分学习数据的特征。

因此,解决这一问题的方法之一是选择合适的优化算法和学习率调度策略,如随机梯度下降(SGD)、动量优化(Momentum)、自适应学习率算法(Adam)等。

除了上述方法外,还可以通过正则化、dropout、批归一化等技术来缓解欠拟合和过拟合的问题。

正则化可以通过在损失函数中添加惩罚项来减小模型的复杂度,使得模型更加平滑,减少过拟合的风险。

而dropout则可以通过随机丢弃一部分神经元来减少模型的复杂度,使得模型更加健壮。

批归一化则可以通过标准化输入数据来加速模型收敛,减少过拟合的风险。

在实际应用中,通常需要综合采用上述方法来解决欠拟合和过拟合的问题。

如何解决神经网络中的过拟合问题

如何解决神经网络中的过拟合问题

如何解决神经网络中的过拟合问题过拟合是神经网络中常见的问题之一,它指的是模型在训练数据上表现良好,但在测试数据上表现不佳的现象。

过拟合问题的出现会导致模型泛化能力下降,因此需要采取有效的方法来解决这一问题。

本文将介绍几种常见的方法以及解决过拟合问题的技巧。

1. 增加数据量数据量的大小对神经网络模型的性能有着重要的影响。

增加训练数据量可以有效缓解过拟合问题,因为更多的数据可以提供更多的模式和信息,从而使模型学习得更好。

可以通过数据增强技术来扩充现有的数据集,如旋转、平移、缩放、翻转等操作,以生成更多的样本数据。

2. 正则化方法正则化是一种常见的应对过拟合问题的方法。

L1和L2正则化是常用的正则化方法,它们通过给损失函数添加正则项以限制模型参数的大小。

L1正则化倾向于将某些参数稀疏化,从而实现特征选择的效果;而L2正则化则更倾向于将参数逼近于0,使模型更加平滑。

通过适当调整正则化参数的值,可以找到最佳的平衡点,有效地减少模型的过拟合现象。

3. DropoutDropout是一种常见的正则化技术,在训练过程中随机丢弃一部分神经元。

通过丢弃部分神经元,可以减少神经网络的复杂度,从而降低过拟合的可能性。

Dropout可以应用于网络的各个层,通常在全连接层之后添加Dropout层。

在测试阶段,需要将Dropout层关闭并修正权重,以保持模型输出的一致性。

4. 提前停止训练提前停止训练是一种简单且有效的方法来解决过拟合问题。

当模型在训练数据上表现良好但在验证数据上开始出现下降时,可以停止训练并选择此时的模型作为最终模型。

这样可以避免模型在训练数据上过度拟合,提高模型在新数据上的泛化能力。

5. 模型集成模型集成是一种将多个模型的预测结果结合起来的方法,通过投票、平均等策略来生成最终的预测结果。

模型集成可以在一定程度上减少过拟合的影响,因为不同的模型可能在不同的数据子集上产生过拟合,通过集成多个模型的结果可以提高模型的鲁棒性和泛化能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

神经网络学习算法的过拟合问题及解决方法李俭川 秦国军 温熙森 胡茑庆(国防科技大学机电工程与自动化学院 长沙,410073)摘要 针对反向传播学习算法及其改进算法中出现的过拟合问题,探讨了三种解决方法:调整法、提前停止法和隐层节点自生成法,并用实例对三种方法进行了验证和比较。

其中,调整法和提前停止法针对一个较大的网络可以解决过拟合问题,而隐层节点自生成法的提出既能避免过拟合问题,又能获得最少神经元网络结构。

这三种方法有效地解决了在神经网络学习过程中的过拟合问题,提高了网络的适应性。

它们不仅适合于函数逼近,而且可以推广到其他网络结构等应用领域。

关键词 神经网络 计算机 BP 算法 过拟合 均方误差 自生成 故障诊断中图分类号 T H 165.3神经网络已经在模式分类、机器视觉、机器听觉、智能计算、自动控制、故障诊断、信息处理、地震勘探、通信、雷达和声纳等领域有着十分广泛的应用前景,并随着计算机技术和信号处理技术的发展而发展。

应用神经网络必须解决两个问题:模型和算法。

现有的神经网络模型已达上百种[1],应用最多的是Hopfield 神经网络、多层感知器、自组织神经网络、概率神经网络以及它们的改进型。

自Rumellhart D E,H inton 和Williams 提出误差反向传播算法(即BP 算法),解决了神经网络在引入隐层节点后的学习(或训练)问题后,已经发展了许多的改进学习算法[1],如快速下降法、共轭梯度法、一维搜索法及Lev enberg -Mar quardt 法等,其收敛速度很快,能满足实时性要求,但也存在着一些问题。

1 学习算法及其过拟合问题BP 算法及其改进算法是目前应用最广泛的学习算法,尽管不能证明这类算法能象单层感知器一样收敛,但是对许多问题的解决是成功的[2]。

实际上,BP 算法是把一组样本的输入输出问题,变为一个非线性优化问题,它使用了优化技术中最普通的一种梯度下降法,用迭代运算求解权值并相应于学习记忆问题,加入隐层节点可使优化问题的可调参数增加,这样可得到更精确的解。

要应用学习算法对网络进行训练,首先需要确定网络的结构,即输入、输出层神经元数目和隐层数及其神经元数目。

如何适宜地选取隐含层神经元的数目还没有确定的规律可以指导,但是,隐含层神经元数目是否合适对整个网络是否能够正常工作具有重要的甚至是决定性的意义。

隐含层神经元数第22卷第4期2002年12月 振动、测试与诊断Jo ur nal of Vibr ation,M easur em ent &Diag no sis V o l.22No.4D ec.2002国家自然科学基金资助项目(编号:59775025)。

收稿日期:2001-07-09;修改稿收到日期:2001-12-03。

 图1 学习样本目如果太少,网络就无法进行训练[2,3]。

如果刚好能够进行训练,则网络的鲁棒性差,抗噪声能力不强,不能辨识以前没有遇到的模式。

如果网络隐含层的神经元数目太多,就会需要大量的训练样本,而且能力过强,具有了所有的模式而无法接受新的模式,伴随而来的是为训练而耗费的大量时间和内存,这种现象就是所谓的过拟合。

例如,利用神经网络实现函数逼近时,如果网络过大,通常会发生过拟合现象。

图1中,“+”表示含有噪声的正弦电压信号学 图2 过拟合现象习样本;虚线表示无噪声的理想情况(以下各图表示方法相同)。

图2所示为一个3层神经网络(输入层1个神经元,隐层20个神经元,输出层1个神经元)利用Levenber g-M arquar dt 法对图1所示样本进行训练的结果,实线为训练后的网络的响应(以下各图表示方法相同)。

由图可见,网络已经出现过拟合现象,其适应性不好。

2 解决过拟合的方法 很容易想到的是选择合适的隐层神经元数目来避免过拟合现象,一般来说,隐含层神经元的数目可以根据下式来确定[2]n H =(n I +n O )1/2+l (1)其中:n H ,n I 和n O 分别为隐含层、输入层和输出层的神经元数目;l 一般为1~10之间的一个整数(特别情况可以大于10)。

显然,这种方法是不能保证避免过拟合问题的。

针对过拟合问题,笔者探讨了3种解决方法。

2.1 调整法一般用网络均方误差做为衡量网络拟合能力的误差准则函数[1],即E =E e =1N ∑N i =1(e i )2=1N ∑N i =1(t i -o i )2(2)其中:N 为对应层神经元数目;t i 为输出样本值;o i 为神经元输出。

第一种解决过拟合的方法就是调整衡量网络拟合能力的误差准则函数,添加一项含有网络权值和偏置值的均方值。

E = E e +(1- )E w(3)其中: 为比例因子。

E w =1n ∑n j =1(w j )2(4)其中:w j 为网络权值或偏置值;n 为权值和偏置值的总数。

用式(3)将使网络具有更小的权值或偏置值,从而使得网络的响应更平滑,大大降低过拟合的可能。

运用调整法的学习算法的实现过程与BP 算法是类似的,这里不再赘述。

该方法存261第4期 李俭川等:神经网络学习算法的过拟合问题及解决方法在的问题是难于确定调整参数 的最优值,当 太大时,网络可能会出现过拟合;若 太小,则网络将无法进行训练。

最好的策略是能自动地设置调整参数,一种较好的方法是基于Bay es 决策规则的调整法[4],该方法假定网络的权值和偏置值是具有特定分布的随机变量,可以用统计方法来估计调整参数[5]。

利用调整法结合Lev enberg -Marquardt 法进行前述网络的训练,得到的网络输出结果如图3所示。

由图可见,网络的响应很接近原正弦信号。

因此,可以用该方法训练更大的网络亦不会产生过拟合,消除了设计网络时对结构的猜测性。

利用调整法时,往往将网络设置为足够大,因为网络太小时无法进行训练。

具体可根据式(1),令l =10或更大。

2.2 提前停止法将训练样本分为3个子集,第1个子集做为训练子集,用来计算梯度和网络的权值及偏置值。

第2个子集称为确认子集,在训练过程中它用来检验网络误差(称之为确认误差)。

在训练的初始阶段,确认误差将减小,但当网络开始出现过拟合时,确认误差将会上升,当确认误差在一定次数的迭代过程中均上升时,网络停止训练,此时可以得到在确认误差最小时网络的权值和偏置值。

第3个子集是测试子集,用于比较不同子集划分时网络的适应性。

如果测试子集产生的误差达到最小时的迭代次数与确认子集相差很大,则表明子集的划分是不合适的,需要重新进行划分。

这种方法称为提前停止法,所谓提前,是指在到达误差目标之前可能会结束训练过程。

提前停止法可以应用于任何算法,只需要在训练过程中用确认子集检验网络误差。

用该方法对前述网络进行训练,得到如图4所示的结果。

从网络的响应可以看出,网络没有出现过拟合现象,但其输出不如调整法平滑,这是提前停止法的缺点。

图3 调整法训练结果 图4 提前停止法训练结果2.3 隐层节点自生成法神经网络中研究最多的是含有一个隐含层的网络,因为三层的前馈神经网络能逼近任意的连续函数[1]。

神经网络的输入层、输出层和神经元个数可以根据研究对象的输入、输出信息来确定,如何适宜地选取隐含层神经元的数目是难点,前述的2种方法能消除过拟合现象,但却不能选择最合适的隐层神经元数目,无法获得最佳的网络结构。

隐层节点自生成法就旨在获得一个鲁棒性好,抗噪声能力强,又不会产生过拟合的网络。

现在,该方法在一些特定网络(如径向基网络)上得到了应用[6,7]。

这里讨论的隐层节点自生成法使这种自生成策略得到了推广。

262振 动、测 试 与 诊 断 第22卷对于BP 算法及其改进算法而言,在网络的训练过程中,是以是否达到误差目标作为是否停止训练的条件。

对于太小的网络,是难于达到误差目标的;而网络太大,又会出现过拟合现象。

因此,初步设计思想为:先设计一个仅含有一个隐层节点的网络,在训练过程中,根据误差目标及其下降的速率来确定是否增加一个隐层节点,直到网络的训练达到误差目标。

但是,仅仅按初步的设计思想仍然会产生过拟合现象,例如当误差目标太小时,网络就可能产生过拟合。

因此,这种方法的实现可以结合提前停止法的思想,即也需要进行训练样本的划分,但无需测试子集。

可以使用间隔划分法将训练样本划分为训练子集和验证子集,即以奇序列号样本做为训练子集,偶序列号样本做为验证子集。

训练子集用来计算梯度和网络的权值和偏置值;验证子集用来在训练过程中检验网络误差(称之为验证误差)。

在每增加一个隐层节点进行网络训练时,均可以得到验证误差的最小值(验证误差由减小变为增加),当该最小值在增加节点后不减反增时,停止网络训练,返回网络结构及其权值和偏置值。

因此,利用隐层节点自生成法设计网络的思想可更正为:先设计一个仅含有一个隐层节点的网络;在训练过程中,根据误差下降的速率和验证误差的变化来确定是否增加一个隐层节点,即当误差下降的速率低于阈值,并且验证误差已经到达最小值时,增加一个隐层节点;当验证误差的最小值在增加节点后变大,或者网络训练达到误差目标时,停止网络训练。

以含有一个隐层的网络结构为例,隐层节点自生成法的具体实现算法可以结合BP 算法或者其改进算法来进行,其一般步骤如下:(1)设定误差目标 和误差下降率阈值 ;(2)初始化网络结构,隐层节点数n =1,初始化网络权值和偏置值(为小的随机数[1]),计算误差准则函数E ;(3)利用训练子集进行网络学习,调整网络权值和偏置值;(4)计算误差准则函数E 和误差下降率 E /E ,同时利用验证子集进行验证误差E v 的计算,如果E < ,则到第(8)步,否则到第(5)步; 图5 隐层节点自生成法训练结果(5)如果 E /E < ,则到第(6)步,否则到第(3)步;(6)如果验证误差E v 未达到最小值,则到第(3)步;如果验证误差E v 达到最小值且比增加节点前更大,则到第(8)步,否则到第(7)步;(7)生成新的隐节点n +1,并为其设置权值和偏置值,转到第(3)步;(8)学习结束,返回学习结果。

图5为隐层节点自生成法(结合Levenber g -M ar quar dt 法)设计的网络及其训练结果,该网络的隐层节点为5。

其训练结果比较接近利用调整法对网络进行训练的结果。

值得注意的是,隐层节点自生成法的迭代次数一般较前两种方法更多,这是该方法的不足之处,但它是一种获得最佳网络结构的方法。

在第(2)步中对隐层节点数n 的初始值可以根据具体情况设置为稍大的数,这样可以减少迭代次数,从而加快学习速度。

实际上,隐层节点自生成法也可以结合调整法进行,此时误差准则函数与调整法一致,根据初步设计思想进行网络调整和训练即可。

263第4期 李俭川等:神经网络学习算法的过拟合问题及解决方法 264振 动、测 试 与 诊 断 第22卷3 应用实例在对某汽轮机减速箱轴承运行状态进行监控时,获取了47组状态样本。

相关文档
最新文档