BP神经网络用MATLAB逼近非线性函数及其泛化能力的分析_第1页
BP神经网络用MATLAB逼近非线性函数及其泛化能力的分析_第2页
BP神经网络用MATLAB逼近非线性函数及其泛化能力的分析_第3页
BP神经网络用MATLAB逼近非线性函数及其泛化能力的分析_第4页
BP神经网络用MATLAB逼近非线性函数及其泛化能力的分析_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、BP网络逼近非线性函数及其泛化能力的分析王江引言 函数逼近问题是神经网络研究的基本问题之一.目前,非线性系统的研究已成为国内外科学研究的热点。复杂非线性系统辨识是非线性系统研究的前提和基础,其中非线性系统的黑箱辨识问题尤为引人注目。而具有良好函数逼近能力的神经网络为非线性系统黑箱辨识提供了一种十分有效的工具。本文选取比较有代表性的BP神经网络对非线性函数的逼近问题进行研究,并通过实际的建模仿真给出了相关的实验结果。什么是BP网络BP 神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传递, 误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理, 直至输出层。每一层的神经元状态只

2、影响下一层神经元状态。如果输出层得不到期望输出, 则转入反向传播,根据预测误差调整网络权值和阈值,从而使B P神经网络预测输出不断逼近期望输出。开始初始化,对各连接权赋值输入训练样本集前向传播:分别计算隐层、输出层各神经元的输出计算对样本产生的误差满足目标误差要求计算输出层上各神经元的梯度值,并调整该层上神经元的连接权反向传播:逐层计算各隐层的神经元梯度值,并调整各连接权值。YN结束函数逼近流程图构建三层BP网络 构建函数: ()中,为构建需的四个条件: a. 维矩阵, 由R维输入样本的最大最小值组成; b. 二 、 三层节点个数; c. 各层节点作用函数; d. 训练用函数。常用训练函数 算

3、法名称 Matlab函数 1. 动量BP算法 Traingdm2. 自适应步长的BP算法 Traingda3. 自适应步长的动量BP算法 Traingdx4. 弹性BP算法 Trainrp 题目要求(1)采取三层 BP网络,隐层选对称型(正切)S函数,输出节点为线性。算法取L-MBP算法。(2)用MATLAB仿真,检测网络的逼近效果。(3)分析网络的泛化能力,比分析各因素对其影响。(4)分别改变神经网络的中间节点个数、改变学习算法进行比较实验,讨论系统的逼近情况。逼近对象如下:由于作用函数采取S型函数,样本数据和测试数据尽量在-1,1之间取。所以样本数据取: u=-0.4:0.04:0.36

4、测试数据取: u1=-0.48:0.05:0.47 在MATLAB中建立M文件下输入如下命令:clear all; %清除工作空间中的变量close all;u=-0.4:0.04:0.36 ;%输入样本集d=-1.9*(u+0.5);d=exp(d);d=d.*sin(10*u) ;%输出样本集:非线性函数dfigure(1);plot(u,d,bo);ylabel(输出样本集d=f(u),color,r); xlabel(输入样本集u,color,r) 得到如下图形,即所给的非线性函数曲线图:继续在M函数中如下输入:net=newff(minmax(u),3,1,tansig,pureli

5、n,traingda); %设计网络结构N1,3,1,y=sim(net,u); %仿真figure(2);plot(u,d,bo,u,y,r*);ylabel(输出样本集d(o) 网络输出y(*),color,r); xlabel(输入样本集u) 构造三层BP神经网络 则得到以下所示未经训练的BP网络期望输出与实际输出曲线比较 接着对函数进行训练在M文件中输入如下函数:net.trainParam.goal=0.001; %训练精度设置 为0.001 net=train(net,u,d); %网络训练经过1183次训练达到了要求 经过训练后可以看到网络输出基本与样本输出一致。这说明经过训练后

6、,BP网络对非线性函数的逼近效果相当好。再测试输入几组数据,验证一下u1=-0.48:0.05:0.47 %测试输入集d1=-1.9*(u1+0.5);d1=exp(d1);d1=d1.*sin(10*u1); %测试数据集 y1=sim(net,u1); %仿真figure(3);plot(u1,y1,go,u1,d1,r*);ylabel(测试数据集d1(*) 网络输出y1(o),color,r); xlabel(测试输入集u1,color,r) ; 得到如下测试图,依然能够很好地逼近函数。泛化能力的分析什么是泛化能力: 神经网络的泛化能力(generalization Ability)。

7、是指用较少的样本就行训练,是网络能对未经训练的输入也能给出合适的输出。泛化能力是衡量BP神经网络性能优劣的一个重要方面。因此,没有泛化能力的神经网络无任何使用价值。如何进一步提高BP网络的泛化能力,一直是人们关心和研究的热点,同时也是一个难题。由于网络的泛化能力涉及到训练的算法、输入数据的处理、网络建模等多个方面,情况复杂,需要更深入的研究。下面是一些对泛化能力的分析:1. 训练样本集的选取 学习训练的样本对神经网络的泛化能力也有很大的影响。数据样本到底为多少才合适呢?如果样本集中的样本数量太少,则神经网络在学习的过程中就不能很好地掌握和学习蕴涵于样本集中的内在规律和相互关系,同时在验证样本集

8、中就不能得到合理的推理结果;若学习样本数量过大,不仅影响了网络的学习时间,而且使网络与学习数据太贴近,导致网络的抽取归纳能力下降。一般情况下,学习样本与网络拓扑结构之间存在如下的关系式中:n为输入变量数目;m为输出变量数目;h为隐含节点数目;p为输入学习样本数目。2.隐层节点的选取 在BP网络中,设计神经网络的拓扑结构是非常生重要的问题,它不仅对建立的神经网络模型的性能影响很大,而且可以导致“过拟合”现象,网络中隐层结点过少,则学习过程可能不收敛,但隐层节点过多,则会长时间不收敛,还会由于过拟合,造成网络的容错性能下降。为尽能避免训练时出现“过拟合”现象,保证足够高的网络性能和泛化能力,确定隐

9、层结点数的最基本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽可能少的隐层节点。 有人提出一个选取隐层节点的公式,如下:其中I为输入层节点数, L为输出层节点,a为1到20之间的常数。 检测本例的泛化能力err=d1-y1算法改变为trainlm后的泛化能力输入样本集增多至40个点后的泛化能力隐节点数曾至20后的泛化能力 从上面几个例子可以看出,影响网络泛化能力的因素有很多,比如样本集的多少、隐层节点数的多少、BP网络的算法、网络结构的复杂性甚至是初始权值、学习时间等都对其有不同程度的影响。由于本例的局限性和我相关知识上的欠缺,从上不能明显的看出泛化能力的变化。可是通过大量阅读文献和

10、资料,知道选取合适的样本集、隐节点数及网络结构的复杂度对于提高网络的泛化能力有很大的影响。但总体上说,神经网络的泛化仍然是一个没有解决或没有完全解决的问题,需要更深入的研究。下面改变隐层节点数比较逼近能力的变化将隐层的节点数改为2,发现经过4700多次训练后,还没有达到训练要求。 训练结果 将隐层节点改为7之后,发现经过254次训练就达到了要求精度。可见,层数一样时,隐层节点数较多时多,逼近能力越强。训练的过程节点改为7之后的训练结果然后改变算法比较逼近能力的变化将训练函数的算法traingda改为traingd。得到如下几个图训练结果总结 从三幅图可以看出,将traingda改为traing

11、d之后,连所要求的精度都不能达到。我由此推出,训练算法对非线性函数的逼近有一定影响,应当选择适合的训练算法。 本例是一个比较简单的例子,意在构造三层BP网络,通过改变其不同的参数值来观测相应的性能变化。通过本例我们大概了解了隐层节点数和BP学习算法对网络性能的影响。当然还有很多不足之处,希望大家多多指正。参考文献1 徐丽娜. 神经网络控制(第三版).北京:电子工业出版社,2009: 2025.2 谢文兰. 对提高BP网络泛化能力的分析与总结J.广东科技2011.7.第14期3 黄忠明,吴志红. 几种用于非线性函数逼近的神经网络方法研究 J.Ordnance Industry Automatio

12、n. Vol. 28, No. 10Oct. 20094 魏海坤,徐嗣鑫 神经网络的泛化理论和泛化方法J. 自动化学报.第27卷 第6期.2001年11月5MATLAB程序设计教程电子教案(第五章) 谢 谢!输出数据比较ans = d y 0.6258 0.6097 0.3392 0.3654 0.0415 0.0459 -0.2205 -0.2407 -0.4122 -0.4198 -0.5142 -0.4992 -0.5239 -0.5080 -0.4528 -0.4550 -0.3230 -0.3332 -0.1625 -0.1553 0 0.0214 0.1396 0.1443 0.2383 0.2099 0.2870 0.2387 0.2852 0.2467 0.2405 0.2396 0.1656 0.2125 0.0761 0.1505 -0.0123 0.0327 -0.0864 -0.1417观测BP网1-2层的权系值 初始值w01 = 11.0526 11.0526

温馨提示

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

评论

0/150

提交评论