基于BP神经网络的非线性函数拟合_第1页
基于BP神经网络的非线性函数拟合_第2页
基于BP神经网络的非线性函数拟合_第3页
基于BP神经网络的非线性函数拟合_第4页
基于BP神经网络的非线性函数拟合_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于BP神经网络的非线性函数拟合摘要:本文建立了BP神经网络,拟合了多输入多输出系统的二元非线性函数,在仿真实验中,采样数据充分,不含噪声的情况下,训练精度越高,表示近似效果越好的数据越不充分,不含噪声的情况下, 训练精度的高低在一定范围内对网络性能没有决定性的影响,无论网络性能主要依赖于初始化的训练数据是否充分,如果包含噪声,训练精度过高则网络泛化能力下降。0引言作为目前应用最广泛的人工神经网络,BP网络在函数近似、模式识别、数据压缩、智能控制等领域得到了广泛应用。 BP网络是一种可广泛连接大量简单处理单元并用权重训练非线性函数的多层映射网络,结构简单,工作状态稳定,具有优异的非线性映射能力,理论上可以用任意精度逼近任意非线性函数。 BP神经网络可以通过学习来存储大量输入和输出样本内包括的映射关系,只需提供足够的样本模型来训练BP网络就不必预先理解数学方程。 本文采用BP神经网络解决了以下函数拟合问题。函数近似:设计满足以下多输入多输出函数的神经网络yr1r=2xr1RP 1.5 p-1.5 sin (3xr2r ) yr2r=xr2r sin (xr1r ) xr1rcos (xr2r )1xr1r,xR2R5生成200个数据,其中100个训练网络,剩下的100个用来测试网络模型。1 BP神经网络的结构与算法如图1所示,典型的三层BP神经网络结构包括输入层、抑制层和输出层。 各层神经元之间没有反馈连接,各层内的神经元之间没有任何连接。 其中抑制层的状态影响输入输出之间的关系,通过改变抑制层的权重系数,可以改变整个多层神经网络的性能。 BP神经网络的学习过程由正向传播和反向传播组成。 在前向传播中,输入的样本从输入层通过抑制层后,传到输出层,在逐层处理的过程中,各层的神经元的状态只影响下一层的神经元的状态。 在输出层比较当前输出和希望输出,如果当前输出不等于希望输出,则进入逆传播过程。 在反向传播过程中,误差信号从输出层传播到输入层,修正各抑制层的各神经元的加权系数,减少误差,一直持续到要求精度为止。 BP算法的本质是确定误差函数的最小值的问题,通过多个样本的迭代训练,一般采用非线性规划中的最快下降方法,在误差函数的负梯度方向上修正加权系数。图1典型的三层BP神经网络结构图用于双函数拟合的BP神经网络模型的建立构建函数拟合的BP神经网络模型通常需要考虑以下步骤(1)样本数据的生成为简便起见,选择了x1、x2均匀分布在1、5区间内的200个据点作为训练样本和测试样本。 如图2所示。图2数据样本(2)数据预处理通常需要对样本数据进行归一化,但由于此处的数据变化范围不大,因此不考虑数据归一化。(3)网络结构的选择网络层数:理论证明,当不限制隐层节点数时,单隐层BP网络可以实现任何非线性映射。 但是,在本问题中,模拟显示了采用两个隐藏层是适当的。输入输出层节点数:在本问题中,拟合的函数是两个输入变量、两个输出变量。 因此,在BP网络的输入层中设置有两个节点,在输出层中也设置有两个节点。隐藏层节点数:隐藏层节点数的选择是一个非常复杂的问题,至今为止,应该如何决定隐藏层的节点数没有用数学公式明确表示。 虽然节点数太少,不能很好地表现样本数据种类中包含的规则,但是抑制层的节点过多,学习训练时间长,误差也不一定最佳,发生“过度一致”的问题,泛化能力有可能下降。 本问题中隐层节点的选择主要采用试验性方法。 如前所述,在此设定两个隐藏层,最初的层节点的设定分为3和30两种,第二层节点的设定分为2和20两种,便于比较。神经元的传递函数:隐层采用单极性sigmoid函数“tansig”,输出层采用线性传递函数“purelin”。(四)训练和模拟;采用批量训练方法,批量数据均为100个训练样本。 输入x1,x2 1.2,4.8 ,输出y1 1.8660,14.0105 ; y27.9795,4.9380 。在整体学习100个样本后,统一修改网络权利。 学习算法采用学习率可变的运动量BP算法(traingdx )。 训练目标是网络输出和采样输出的均方误差(mse ),训练精度可以根据需要设定。 完成BP网络培训后,可用于模拟。 通过将测试数据输入网络,并将得到的网络输出与样本输出进行比较,可以分析网络的泛化能力。 当然,要想直接与测试样本的输出进行比较,网络仿真产生的数据必须经过适当的逆正规化变换。(5)测试和仿真需要进行仿真来检查受训网络是否满足要求。 测试数据输入x1,x2 1.4,5.0 ,输出y1 2.1587,14.5593 ; y18.0943,5.3798 。三模型仿真与验证以如上所述的方式用以下指令创建神经网络:net=newff (1.2 4.8; 1.2 4.8, 3,2,2 ,tansig,tansig,purelin,traingdx,learngdm;拟合函数的图表化结果如图3所示。 图3(a )是y1、y2的三维图,图3(b )是y1的二维投影图,图3(c )是y2的二维投影图。图3(a )拟合对象函数的三维视图图4是图3(b )拟合对象函数y1的投影图图3(c )是拟合对象函数y2投影图图3拟合的函数的图形化结果首先,采用学习率可变的运动量BP算法(训练函数为traingdx ),从不同的默认层得到的训练结果如图4所示,试验结果如图5所示1 )抑制层为3,2,epochs=30000,goal=0.001图4(a )网络训练输出曲面图4(b )网络训练输出误差曲面图4(c )网络训练过程的误差曲线(goal=0.001,使用时2分51秒,小于目标)网络测试的结果如下所示图5(a )模拟输出曲面图5(b )模拟输出误差曲面图5(c )网络测试误差曲线(goal=0.001,时间3分2秒)此时训练收敛速度慢,网络训练误差大,函数近似效果不太好,需要改进。2 )抑制层为30,20,epochs=30000,goal=0.001图6(a )网络训练输出曲面图6(b )网络训练输出误差曲面图6(c )网络训练过程的误差曲线(goal=0.001,经过时间1秒)网络测试的结果如下:图7(a )网络测试输出曲面图7(b )网络测试输出曲面和误差图7(c )网络测试过程的误差曲线(goal=0.001,经过时间4秒)相比之下,此时网络训练和测试速度大大提高,但网络性能并没有随隐含层数的增加而显着改善,反而出现了“过度适应”问题。 网络训练误差减少了,但网络测试误差没有显着减少。 从误差曲面来看,反而局部误差增大。从前面的实验结果可以看出,网络的隐含层数越多,函数近似的效果并不越好。 即使是相同的训练精度,网络的性能也可能因初始化而大不相同。4 .改善网络性能为了提高BP网络的泛化能力。 可从几个方面考虑:一是网络结构参数; 二是训练方法;三是提高数据质量。 在此使用自动正规化法提高网络的泛化性能。贝叶斯归一化法基于贝叶斯框架理论。 根据该理论,假设网络的权重和阈值按照所规定的分布是随机可变的,并且归一化参数与这些分布的位置随机变量相关,从而能够以统计方式估计这些参数。 其实现函数为“trainbr”。 使用这个函数训练BP网络可以使网络响应更加平滑,并且提高泛化能力。适当的网络培训语句如下:net=newff(1.2 4.8; 1.2 4.8、 3,2,10 、tansig,tansig,purelin,trainbr,learngdm;图8(a ) .自动规范化的网络训练输出曲面图8(b ) .自动规范化的网络训练误差曲面图8(c )自动标准化后的网络训练过程的误差曲线(goal=0.001,经过时间1秒)。网络测试结果:图9(a ) .自动归一化后的网络测试输出曲面图9(b ) .自动归一化后网络测试的误差曲面图9(c )自动标准化后的网络测试的误差曲线(goal=0.001,经过时间1秒)用这种方法训练的网络,重视泛化能力,不追求个别数据点的正确近似,使输出曲线比较平滑,能够很快实现训练目标。 但是测试表明,误差不是急剧减少,而是有比较稳定的误差。五结语本文首先简要介绍了BP神经网络的原理,然后针对函数拟合问题建立了相应的BP神经网络模型,并对建立的模型进行了仿真测试和验证,最后采用自动归一化方法改进了网络泛化为了提高网络模型的函数拟合性能,必须在增加训练分数的同时考虑网络结构的优化,以确保存在足够多且足够好的数据。 网络本身的结构对神经网络的性能有决定性的影响。 在实际工程中,我们获得的数据数量、质量可能受客观条件的限制。 因此,在生成有限数据的条件下,从优

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论