数学建模_BP神经网络算法模板

  • 格式:doc
  • 大小:105.50 KB
  • 文档页数:2

下载文档原格式

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

1.1 BP 神经网络原理简介

BP 神经网络是一种多层前馈神经网络,由输入、输出、隐藏层组成。该网络的主要特点是信号前向传递,误差反向传播。在前向传递中,输入信号从输入层经隐藏层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP 神经网络预测输出不断逼近期望输出。结构图如下:

隐藏层传输函数选择Sigmoid 函数(也可以选择值域在(-1,1)的双曲正切函数,函数‘tansig ’),其数学表达式如下:

x

e 11)x (

f α-+=,其中α为常数 输出层传输函数选择线性函数:x )x (f =

1.隐藏层节点的选择

隐藏层神经元个数对BP 神经网络预测精度有显著的影响,如果隐藏层节点数目太少,则网络从样本中获取信息的能力不足,网络容易陷入局部极小值,有时可能训练不出来;如果隐藏层节点数目太多,则学习样本的非规律性信息会出现“过度吻合”的现象,从而导致学习时间延长,误差也不一定最佳,为此我们参照以下经验公式:

12+=I H

]10,1[ ,∈++=a a O I H

I H 2log =

其中H 为隐含层节点数,I 为输入层节点数,O 为输出层节点数,a 为常数。 输入层和输出层节点的确定:

2.输入层节点和输出层节点的选择

输入层是外界信号与BP 神经网络衔接的纽带。其节点数取决于数据源的维数和输入特征向量的维数。选择特征向量时,要考虑是否能完全描述事物的本质特征,如果特征向量不能有效地表达这些特征,网络经训练后的输出可能与实际有较大的差异。因此在网络训练前,应全面收集被仿真系统的样本特性数据,并在数据处理时进行必要的相关性分析,剔除那些边沿和不可靠的数据,最终确定出数据源特征向量的维度。对于输出层节点的数目,往往需要根据实际应用情况灵活地制定。当BP 神经网络用于模式识别时,模式的自身特性就决定了输出的结果数。当网络作为一个分类器时,输出层节点数等于所需信息类别数。(可有可无)

训练好的BP 神经网络还只能输出归一化后的浓度数据,为了得到真实的数据

值,我们还必须对输出数据进行反归一化。反归一化过程可以利用归一化过程中的信息,通过函数“mapminmax”来实现。具体如下:

BPoutput=mapminmax('reverse',an,outputps);

其中,BPoutput为反归一化后的数据,an为神经网络预测输出,outputpa为原始输出数据集信息。

2BP神经网络结果分析

以Cu元素为例,训练结束的神经网络性能图(MSE和Epochs的函数图象)下:结果分析:

如图4,训练在第222次迭代过程达到均方误差最小,MSE=***。此时,

训练结束。

学习速度同样对BP神经网络具有重要影响作用,学习速度太小,网络学习缓慢,需要增加训练次数;学习速度太大,网络学习迅速,但是容易导致网络不收敛,影响训练的精度。我们最终决定学习速度为0.01,训练次数为300。

1.1.1 数据的预处理

BP 神经网络构建在多层前馈网络的基础

BP神经网络的缺陷:

随着BP神经网络在多领域的广泛应用,BP 算法自身存在的诸多缺陷逐渐被人们发现,这些缺陷在应用实例中表现为如下几方面:误差收敛速度慢,学习时间过长;学习过程易陷入局部极小值;网络泛化能力差;构建网络结构缺乏统一原则等。缺陷产生的直接原因是BP神经网络自身算法的不完善。产生的直接后果是制约 BP 算法的学习精度,影响网络的学习速度,限制网络的广泛应用。BP 算法被提出以后,国内外学者对它的改进工作就从未停止。人们希望通过对 BP 算法的改进,使其满足更多状态下的应用要求。改进BP神经网络属于此领域的研究热点,有着重要的理论意义和应用价值。本文针对 BP 算法的不足,立足于前人的改进经验,提出进一步改进 BP 算法的新思路,期望对理论研究和实际应用有所帮助。