免费论文查重: 大雅 万方 维普 turnitin paperpass

阐释拟合基于串联BP神经网络多函数拟合研究设计要求

最后更新时间:2024-02-21 作者:用户投稿原创标记本站原创 点赞:15135 浏览:60581
论文导读:在经过342次训练后拟合误差达到了0.000978。实验测试结果显示本网络能够很好地对两个待拟合函数进行拟合,为同时进行多函数的拟合提供了新的方法。关键词:Matlab;串联BP;多函数拟合;自定义网络1004?373X(2013)22?0014?030引言BP(BackPropagation)神经网络是1986年由Rumelhart和McCelland提出的,它是
摘 要: 在研究神经网络对非线性函数拟合的过程中发现一个网络同时只能对一个函数进行拟合,为解决这一问题,通过研究BP算法神经网络提出了串联BP网络来实现多个非线性函数的拟合。通过Matlab自定义网络结构实现串联BP网络,在Matlab下利用此串联网络同时对两个非线性函数进行了拟合,训练样本加入噪声信号,在经过342次训练后拟合误差达到了0.000 978。实验测试结果显示本网络能够很好地对两个待拟合函数进行拟合,为同时进行多函数的拟合提供了新的方法。
关键词: Matlab; 串联BP; 多函数拟合; 自定义网络
1004?373X(2013)22?0014?03
0 引 言
BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland提出的,它是一种误差按反向传播的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP神经网络具有非常强的非线性映射能力,能以任意精度逼近任意连续函数,因此在人工智能的许多领域都得到了广泛的应用,如函数逼近、模式识别、分类和数据压缩等领域[1?2]。由于目前一个神经网络只能同时对一个函数进行拟合,针对此本文提出了一直串联BP网络同时实现两个函数的拟合。
1 BP网络结构与学习算法
BP神经网络是目前应用最广泛的拓扑结构。BP模型是一种多层前向网络,这里采用的是三层BP神经网络模型,它由输入层、隐层和输出层组成,其结构如图1所示,分别为:
(1)输入层节点,其输出等于[xi]([i]=1,2,…,n),将控制变量值传输到隐含层;
(2)隐层节点[j],其输入[hj],输出[oj] 分别为:
[hj=i=1nwjxi-θj=i=1n+1wjxi]
[oj=f(hj)]
(3)输出节点[k],其输入[hk],输出[ok] 分别为:
[hk=j=1m+1wjkoj]
[ok=f(hk)]
式中:[k]=1,2,…,[l];[f]为传输函数。
BP算法分两步进行,即正向传播和反向传播[3]。
(1)正向传播
输入的样本从输入层经过隐单元逐层进行处理,通过所有的隐层之后,在传向输出层。在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。
(2)反向传播
反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小[4]。
2 BP网络的串联模型
神经网络串联即由两个或两个以上的神经网络串联所组成的新型网络模型,用于串联的各神经网络称为子神经网络。神经网络串联模型中的各子神经网络首尾相连,如图2所示。
假设总的神经网络由k个子神经网络串联而成,即第一个神经网络的输出作为第二个神经网络的输入,第二个神经网络的输出做为第三个神经网络的输入,以此类推下去。每一个子神经网络均由同类型的神经网络构成,在本文中,每一个子网络都采用最常用的BP神经网络,其子网络的构建都遵循现有的BP网络的构建形式,其基本的子网络结构采用三层模式,一个输入层,一个隐含层和一个输出层[5?6]。
通过Matlab神经网络工具箱的自定义的方法来实现两个子BP网络的串联。
部分程序如下所示:
net=network;
net.numinputs=2;
net.numlayers=6;
net.biasConnect=[1;1;1;1;1;1];
net.inputConnect=[1 0;0 0;0 0;0 1;0 0;0 0];
net.layerConnect=[ 0 0 0 0 0 0;1 0 0 0 0 0 ;0 1 0 0 0 0;
0 0 1 0 0 0 ;0 0 0 1 0 0;0 0 0 0 1 0];
net.outputConnect=[ 0 0 1 0 0 1];
网络的拓扑结构如图3所示,其中每个子网络的隐含层节点为20个,传递函数为tansig,输出层采用线性函数[7]。
3 实验测试与分析
运用本串联BP网络在Matlab 2011的环境中同时对两个目标函数进行拟合。其目标函数为:
目标函数1:
论文导读:源于:论文标准格式范文www.7ctime.com上一页12
[y=sin x]
目标函数2:
[y=x(1-16x2)e-x]
训练样本输入的设置:输入样本p={p1’,p1’}其中p1=[-1:0.05:1],目标向量T={t1’;t2’},其中t1= sin(3*pi*p1),t2= p1.*(1-1/6*p1.^2).*exp(-p1)。并加入噪声t3=sin(3*pi*p1)+0.15*randn(size(p1));t4=t2+0.15*randn(size(p1));T={[t3]’;[t4]’};对其进行训练仿真[8?10]。
网络的输出y包含了两个待拟合函数的拟合后的数据通过下面操作:
y1=cell2mat(y);
y2=y1’;
a=y2(1:1:41);
b=y2(42:1:82);
得到各自的拟合数据。
仿真结果如图4~图6所示。
由图4、图5仿真拟合曲线与待拟合函数曲线的比较可以看出此串联网络在通过加噪声的训练样本训练后能够很好的对两个待拟合函数进行拟合。由图6知在经过342次训练后其误差达到了0.000 978。可见,通过此串联BP神经网络准确地拟合了待拟合函数曲线。
4 结 语
通过以上叙述可以看出本文设计的串联神经网络能够和好地对函数曲线进行拟合,为同时实现多函数曲线的拟合提供了新的方法。
参考文献
张雨浓,蔡炳煌.人工神经网络研究进展及论文发表过程[M].北京:电子工业出版社,2010.
蒋正金,汪晓东,端木春江.采用BP神经网络拟合光纤位移传感器特性曲线[J].微型机与应用,2012,31(4):67?69.
[3] 郭军.BP神经网络算法研究[D].武汉:华中科技大学,2005.
[4] 贾丽会,张修如.BP算法分析与改进[J].计算机技术与发展,2006,16(10):102?107.
[5] 刘华,高大启.RBF_LBF 串联神经网络的分类应用及其学习算法[J].计算机应用,2004,24(10):100?104.
[6] 邓秋香.神经网络串并联学习算法在B超图像识别中的应用[D].武汉:武汉理工大学,2008.
[7] 张德丰.Matlab神经网络应用设计[M].北京:机械工业出版社,2012.
[8] 陈小宇,乔翠兰,汪瑞祥,等.基于BP算法神经网络的物理实验曲线拟合[J].物理实验,2002,22(9):10?13.
[9] 李洁.BP网络的算法及在Matlab上的程序仿真[J].西安航空技术高等专科学校学报,2009,27(1):42?43.
[10] 张宝堃,张宝一.基于BP 神经网络的非线性函数拟合[J].电脑知识与技术,2012,27(8):6579?6583.
[11] 李锋,袁军社.BP神经网络在结构边界参数识别中的应用[J].火箭推进,2009(4):30?3

3. 源于:论文标准格式范文www.7ctime.com