欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于BP神经网络和RBF网络的非线性函数逼近问题比较研究Word格式.docx

    • 资源ID:6516484       资源大小:454.22KB        全文页数:27页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于BP神经网络和RBF网络的非线性函数逼近问题比较研究Word格式.docx

    1、1 人工神经网络原理1.1 生物神经元神经元是大脑处理信息的基本单元,人脑大约由1011个神经元组成,神经元互相连接成神经网络。神经元以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干。主要由细胞体、树突、轴突和突触(Synapse,又称神经键)组成 。生物神经元传递信息的过程为多输入、单输出,神经元各组成部分的功能来看,信息的处理与传递主要发生在突触附近,当神经元细胞体通过轴突传到突触前膜的脉冲幅度达到一定强度,即超过其阈值电位后,突触前膜将向突触间隙释放神经传递的化学物质,突触有两种类型,兴奋性突触和抑制性突触。前者产生正突触后电位,后者产生负突触后

    2、电位。 图1-1:生物神经元示意图1.2人工神经网络定义人工神经网络(articles neural network,ANN)结构和工作机理基本上以人脑的组织结构(大脑神经元网络)和活动规律为背景的,它反映了人脑的某些基本特征,但并不是要对人脑部分的真实再现,可以说它是某种抽象、简化或模仿。人工神经网络能根据系统的复杂度来自动的调整网络内部结构关系,进而很好地模拟系统信息的传递情况,因此神经网络的自组织、自学习的优越性极为明显。另外,神经网络允许输入信息有畸变、不完整等,因此它的容错性很强,并且有很好的鲁棒性。人工神经网络本质是神经细胞之间联接权重的调整,联接权重的调整规则构成神经网络学习算法

    3、,学习算法又决定了神经网络学习能力的高低。其处理单元一般有三个:输入单元、输出单元和隐含层单元。各个神经元之间的连接强度反映着信息表示到信息处理的一个过程,是网络学习训练中的关键所在。隐含层单元主要对输入信息进行处理,它的构造对网络来说非常重要,隐层越多学习算法所得结果越精确,但是算法会更繁琐,所以要根据精度的要求来确定隐层个数,避免做无用功。神经网络能够逼近任意非线性映射,拥有学习、泛化及高度并行实现能力,它能同时运行定性和定量的数据,能被很容易地应用于多变量系统,适用于复杂系统的建模方面的研究。1.3 人工神经元模型人工神经元是对生物神经元的模拟与抽象,是神经网络的基本处理单元。目前人工神

    4、经网络模型大多采用由心理学家W.McCulloch和数理逻辑学家W.H.Pitts共同提出的M-P模型,图1.1表示一个人工神经元模型。图1-2 人工神经元模型上图中p=()表示神经元输入向量,来自外部或者其它神经元的输出;w=()表示其他神经元与该神经元R个突触的连接强度即权值向量;称为激活值,表示这个人工神经元的输入总和;表示这个神经元的输出;表示这个人工神经元的阈值。这个输入信号的加权和超过,则人工神经元被激活。这样,人工神经元的输出可描述为: (1-1) 其中表示神经元输入 输出关系函数,称为激活函数或输出函数。阈值一般不是一个常数,它是随着神经元的兴奋程度而变化的。1.4 激活函数在

    5、神经网络中,网络解决问题的能力与效率除了与网络结构有关外,在很大程度上取决于网络所采用的激活函数。激活函数的选择对网络的收敛速度有较大的影响,针对不同的实际问题,激活函数的选择也应不同。常用的激活函数有以下几种形式(1)阈值函数 其表达式为: (1-2) 该函数通常也称为阶跃函数。当激活函数采用阶跃函数时,人工神经元模型即为MP(McCulloch-Pitts)模型。此时神经元的输出取1或0,反应了神经元的兴奋或抑制。(2)线性函数(Linear)其表达式为: (1-3) 该函数可以在输出结果为任意值时作为输出神经元的激活函数,但是当网络复杂时,线性激活函数大大降低网络的收敛性 ,故一般较少采

    6、用。(3)对数S形函数(Sigmoid)其表达式为: (1-4) 对数形函数的输出介于之间,常被要求为输出在范围的信号选用。它是神经元中使用最为广泛的激活函数。(4)双曲正切形函数 其表达式为: (1-5) 双曲正切形函数类似于被平滑的阶跃函数,形状与对数形函数相同,以原点对称,其输出介于之间,常常被要求为输出在范围的信号选用。2 BP神经网络原理2.1 BP神经网络概述BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学

    7、习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。2.2 BP神经网络模型及其原理BP神经网络是误差反向传播神经网络的简称,它由一个输入层,一个或多个隐含层和一个输出层构成,每一次由一定数量的的神经元构成。这些神经元如同人的神经细胞一样是互相关联的。BP神经元结构图如3-2所示, b表示阈值向量;n表示输出单元数; f表示神经元传输函数;图2-1 BP神经元的一般模型除了传输函数为非线性函数以外,

    8、BP神经元与其他神经元类似。其常用的函数是logsig和tansig函数,有的输出层也采用线性函数purelin。输出y表示为: y=tansig(Wp+b) (2-1)BP神经网络是一种多层前馈神经网络,采用误差反向传播算法。结构上BP神经网络在输入层和输出层之间有了一层或多层隐含单元。鉴于交通量的强非线性,为了尽可能提高预测模型的预测精度,本设计选择利用两个隐层的BP神经网络建立模型,即在单隐层BP网络的基础上添加一个隐层。如图3-3所示为含两个隐层的BP神经网络,相邻层实现全联接,每个隐层内部神经元之间不联接。图2-2 BP神经网络结构图数据处理器构成的样本的维数确定了输入层单元数,输出

    9、层含神经元一个,训练用输出值由数据处理器提供。当输出的结果与目标不一致时,通过对权值与阈值的调整,使其达到误差要求进而得到输出结果。BP神经网络的学习过程以下几步所组成:Step1:网络初始化。置输入层到隐含层,隐含层到输出层的所有权值为任意小的随机数,并设定初始阈值。Step2:提供训练样本。根据学习规则,需要提供输入向量和相对应的输出向量。Step3:从输入层开始向隐含层、输出层逐层计算输出。Step4:调整权值。根据误差,从输出层节点开始,到隐含层节点,再到输入层节点逐层的调整权重。Step5:返回 Step2 重新计算,直到误差满足要求为止。2.3 BP 神经网络的信息处理特点 信息分

    10、布存储:人脑存储信息的特点是利用突触效能的变化来调整存储内容, 即信息存储在神经元之间的连接强度的分布上,BP神经网络模拟人脑的这一特点,使信息以连接权值的形式分布于整个网络;信息并行处理:人脑神经元之间传递脉冲信号的速度远低于冯诺依曼计算机的工作速度,但是在很多问题上却可以做出快速的判断、决策和处理,这是由于人脑是一个大规模并行与串行组合的处理系统。BP神经网络的基本结构模仿人脑,具有并行处理的特征,大大提高了网络功能;具有容错性。生物神经系统部分不严重损伤并不影响整体功能,BP神经网络也具有这种特性,网络的高度连接意味着少量的误差可能不会产生严重的后果,部分神经元的损伤不破坏整体,它可以自

    11、动修正误差。这与现代计算机的脆弱性形成鲜明对比;具有自学习、自组织、自适应的能力。BP神经网络具有初步的自适应与自组织能力,在学习或训练中改变突触权值以适应环境,可以在使用过程中不断学习完善自己的功能,并且同一网络因学习方式的不同可以具有不同的功能,它甚至具有创新能力,可以发展知识,以至超过设计者原有的知识水平。2.4 BP 神经网络主要功能目前,在人工神经网络的实际应用中。绝大部分的神经网络模型都采用BP神经网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP网络主要用于以下四方面。用输入向量和相应的输出向量训练一个网络以逼近一个函数;模式识别:用一个待定的输出向量将它

    12、与输入向量联系起来;分类:把输入向量所定义的合适方式进行分类;数据压缩:减少输出向量维数以便传输或存储。3运用BP神经网络逼近非线性函数3.1 构造函数构造一个非线性函数f(t)= sin(t)+cos(t),然后再建立一个BP神经网络,通过这个神经网络实现对该非线性函数的逼近。接着我们在试着改变所建立的神经网络隐层神经元的数目,通过观察最后的仿真结果,给出神经网络在函数逼近问题中的简要分析。3.2 仿真分析3.2.1 绘制原图像绘制要逼近的非线性函数的曲线。曲线及程序如下所示。t=0:0.1:8;f=sin(t)+cos(t);plot(t,f)title(要逼近的非线性函数sin(t)+c

    13、os(t);xlabel(时间tylabel(非线性函数f=sin(t)+cos(t)图3-2 f=sin(t)+cos(t) t=0:0.05:pi图3-1 f=sin(t)+cos(t)83.2.2 建立神经网络应用newff()函数建立BP网络结构。隐层神经元数目n可以改变,暂设为n=3,输出层有一个神经元。选择隐层和输出层神经元传递函数分别为tansig函数和purelin函数,网络训练的算法采用Levenberg Marquardt算法trainlm。使用的代码如下。n=12;net=newff(minmax(x),n,1,tansig,purelin,trainbfglearngd

    14、msse%利用准牛顿反向传播算法对网络进行训练,动量梯度下降权值与阈值的学习,对于刚建立的网络,我们可以使用sim函数观察输出结果。y1=sim(net,f);figure;plot(t,f,-,t,y1,:未训练网络的输出结果仿真输出-原函数- f=sin(t)+cos(t)此时得到的结果如下图所示。图3-3 未训练网络的输出结果示意图(绿色虚线表示未训练的函数曲线,蓝色实线表示原函数曲线)需要注意的是,由于使用newff( )函数建立函数网络时,权值和阈值的初始化是随机的。因此,每次的函数输出都不一样,具有随机性。3.2.3训练神经网络应用train()函数对网络进行训练之前,需要预先设置

    15、网络训练参数。图和代码如下。图3-4 MATLAB训练过程示意图net.trainParam.epochs=1500;%训练时间(步数)为1500;net.trainParam.goal=0.001;%训练目标误差为0.001;net.trainParam.lr=0.01;%自学习的学习速率为0.01(默认值);net.trainParam.show=100;%现实训练结果的间隔步数net,Tr=train(net,t,f);训练后的误差变化率如下图所示。图3-5 训练后的误差变化率3.2.4神经网络的测试对于训练好的网络进行仿真,程序代码如下:y2=sim(net,t);,t,y2, -训练

    16、后网络的输出结果(红色线)仿真输出绘制网络输出曲线,并与原始非线性函数曲线以及未训练网络的输出结果曲线相比较,比较出来的结果如下图所示。图3-6训练后网络的输出结果示意图(绿色虚线表示训练前的函数曲线,红色是训练后的,蓝色实线表示原函数曲线)通过观察结果,可以发现训练后的输出,与期望得到的相符。3.2.5改变隐层神经元的数目,并观察结果改变BP网络函数隐层神经元的数目,对于函数逼近的效果有一定的影响。一般来说隐层神经元数目越多,则BP网络逼近非线性函数的能力越强。下面通过改变非线性函数的隐层神经元数目来加以比较证明。其中,蓝色的曲线为原曲线,红色的是训练后的,绿色的是训练前的。分别令n=3,8

    17、,16,26;得出仿真结果如下图。图3-8 n=8图3-7 n=3图3-10 n=26图3-9 n=164 RBF神经网络Powell于1985年提出了多变量差值的径向基函数(Radial Basis Function,简称RBF)方法。后来,Broom head等人于1988年成功地将径向基函数用于模式识别。4.1 RBF神经网络的基本原理RBF网络是一种前馈神经网络,一般为三层结构。用径向基函数(RBF)作为隐单元的“基”构成隐含层空间,对输入矢量进行一次变换,将低维的模式输入数据变换到高维空间内,通过对隐单元输出的加权求和得到输出,这就是RBF网络的基本思想。与多层感知器不同,RBF网络

    18、的做显著的特点是隐节电的基函数采用距离函数,并使用径向基函数作为激活函数。RBF网络的各个神经元具有局部特性,最终整个RBF网最终也呈现“”局部映射,即RBF网是一种局部响应的神经网络。这意味着如果神经网络有较大的输出,必定激活了一个或多个隐节点。事实上,RBF网络的隐节点的局部特性主要四模仿了某些生物神经元的“内兴奋外抑制”功能,灵长类动物的视觉系统中就有这样的的神经元。RBF网的分类方法可分为两大类:数据中心从样本输入中选取和数据中心动态调节方法。聚类方法是最经典的RBF网学习算法,其思路是先用无监督学习方法确定RBF网中h个隐节点的数据中心,并根据数据中心之间的距离确定隐节点的扩展常数,

    19、然后用有监督学习训练个隐节点的输出权值。RBF的梯度训练方法与BP算法训练多层感知器的原理类似,也是通过最小化目标函数实现对个隐节点数据中心、扩展常数和输出权值的调节。径向基函数网络利用具有局部隆起的所谓径向基函数来做逼近或分类问题,对于某些问题,RBF网络比BP精度更高。RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。4.2 RBF神经网络的网络结构RBF网络只有一层隐含层,一个多输入多输出的RBF网络结构如图1所示,

    20、其中m,p和n分别表示个输入层、隐含层和输出层的单元个数。图4-1 多输入多输出RBF网络结构图径向基函数采用高斯基函数: (4-1)式中c为基函数中心向量,与输入同维数,为基函数跨度参数向量,它们的位数均与输入向量相同。设输入向量为时,输出向量为,此时隐含层第j个单元的输出为 (4-2)输入层和隐含层之间的权值为pn的全1矩阵,并固定不变。隐含层和输出层之间的权值矩阵为np维,且随着网络的训练不断进行修正。RBF网络的第i维输出为: (4-3)为输入到输出等效的映射。设第k步迭代的误差: (4-4)式中为第i维输出的期望值。采用随机梯度法加上动量修正项的方法,得到各参数的修正公式为: (4-

    21、5) (4-6) (4-7) (4-8) (4-9)式中j=1,2,p,i=1,2,n,w、和c分别为权值w、基函数跨度参数和基函数中心c的学习率,可以取不同的值,w、和c为相应的动量修正参数。5运用RBF神经网络逼近非线性函数RBF神经网络同样是一种前馈反向传播网络,它有三个网络层:输入层,隐含层和输出层。隐含层为径向基层;输出层为一线性层,所以我们在创建RBF网络的时候,就不用考虑各层神经元节点个数的选取。下面我们详细介绍一下RBF神经网络函数逼近模型的建立和仿真。在创建RBF神经网络的时候,隐含层神经单元个数n=5,训练样本个数为10,在经过多次调试之后,从而得出了逼近函数。5.1 Ma

    22、tlab 编程仿真clear all;close all;clc;t=0:pi;%自变量t,每一行表示一个输入size_n=size(t,1);%输入样本的个数y=sin(t)+cos(t);%因变量yyp=0*y;%网络输出train_num=10;%训练样本个数%output_dim=3;train_in=zeros(train_num,1);%训练样本输入train_out=zeros(train_num,1);%训练样本输出hid_num=5;%隐含层神经单元个数%w_in_hid=zeros(hid_num,input_dim);%输入层-隐含层之间的权值w=0.3*zeros(1,

    23、hid_num);%隐含层-输出层的权值b=0.8*ones(1,hid_num);%节点基宽center=1.6*rand(1,hid_num);%基函数中心h=zeros(1,hid_num);%RBF网络的径向基向量eta_w=0.1*ones(1,hid_num);%学习率eta_b=0.1*ones(1,hid_num);eta_c=0.15*ones(1,hid_num);alpha=0.5;%动量因子maxgen=800;%最大迭代次数error_goal=1e-3;%误差精度要求mse=zeros(1,maxgen);%均方误差wk_1=w;wk_2=w;%前1 2 时刻的权值

    24、bk_1=b;bk_2=b;%前1 2 时刻的基宽值ck_1=center;ck_2=center;%前1 2时刻的中心值delta_c=zeros(1,hid_num);B=zeros(maxgen,hid_num);W=zeros(maxgen,hid_num);C=zeros(maxgen,hid_num);%提取训练样本for i=1:train_num seq=floor(i/train_num*size_n); train_in(i)=t(seq,: train_out(i)=y(seq,:endgen=0;%while 1maxgen gen=gen+1;%当前迭代次数 ye=z

    25、eros(1,train_num);%训练时的网络实际输出 E=zeros(1,train_num);%训练时的性能指标函数 B(gen,:)=b; W(gen,:)=w; C(gen,:)=center; % 训练样本 for j=1: for k=1:hid_num h(k)=exp(-norm(train_in(j)-center(k)2/(b(k)2); end ye(j)=w*h E(j)=0.5*(train_out(j)-ye(j)2;%性能指标函数值 %修正权值 e=train_out(j)-ye(j);%当前输出误差 w(k)=wk_1(k)+eta_w(k)*e*h(k)+alpha*(wk_1(k)-wk_2(k); delta_b=e*w(k)*h(k)*(train_in(j)-center(k)/b(k)3; b(k)=bk_1(k)-eta_b(k)*delta_b+alpha*(bk_1(k)-bk_2(k); delta_c(k)=e*w(k)*h(k)*(train_in(j)-


    注意事项

    本文(基于BP神经网络和RBF网络的非线性函数逼近问题比较研究Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开