第五章 神经网络原理与控制_第1页
第五章 神经网络原理与控制_第2页
第五章 神经网络原理与控制_第3页
第五章 神经网络原理与控制_第4页
第五章 神经网络原理与控制_第5页
已阅读5页,还剩259页未读 继续免费阅读

下载本文档

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

文档简介

2020/5/3,第五章NN,1,第五章神经网络原理,5.1神经网络的基本概念5.2前向神经网络及主要算法5.3反馈网络5.4神经网络控制,2020/5/3,第五章NN,2,神经系统的复杂性,2020/5/3,第五章NN,3,2020/5/3,第五章NN,4,分子,2020/5/3,第五章NN,5,突触,2020/5/3,第五章NN,6,单个神经元,2020/5/3,第五章NN,7,神经网络,2020/5/3,第五章NN,8,信息处理,2020/5/3,第五章NN,9,5.1神经网络的基本概念,5.1.1生物神经元人的大脑由1012个神经元构成,神经元互相连接成神经网络神经元组成:细胞体为主体神经元功能:刺激、兴奋、传导、效应形状图突触传递信息特点,2020/5/3,第五章NN,10,形状图,2020/5/3,第五章NN,11,5.1.2人工神经元模型,BNN信息传递过程为MISO系统,信号为脉冲,当脉冲到达突触前膜时,前膜释放化学物质,结果在突触后产生突触后电位,其大小与脉冲密度有关(时间总合效应)。各通道都对电位产生影响(空间总合效应),2020/5/3,第五章NN,12,BNN脉冲,ANN模拟电压ANN等效模拟电压近似BNN脉冲密度,仅有空间累加无时间累加(可认为时间累加已隐含于等效模拟电压之中)ANN中未考虑时延、不应期及疲劳等可建立更为精确的模型,但一般NN研究无此必要(方法论),2020/5/3,第五章NN,13,人工神经元模型,BNN信息传递过程为MISO系统,信号为脉冲,当脉冲到达突触前膜时,前膜释放化学物质,结果在突触后产生突触后电位,其大小与脉冲密度有关(时间总合效应)。各通道都对电位产生影响(空间总合效应)。,2020/5/3,第五章NN,14,单个神经元特性神经元的膜电位与时间关系如下,spike,2020/5/3,第五章NN,15,实际神经元记录:膜电位Recordingfromarealneuron:membranepotential,2020/5/3,第五章NN,16,神经元模型(1),神经元是人工神经网络的基本处理单元,它一般是一个多输入/单输出的非线性元件。神经元输出除受输入信号的影响之外,同时也受到神经元内部其他因素的影响,所以在人工神经元的建模中,常常还加有一个额外输入信号,称为偏差(bias),有时也称为门限值或阈值(threshold)。,2020/5/3,第五章NN,17,神经元模型(2),。,2020/5/3,第五章NN,18,抽象可得数学表达式:,y=(s)(5-2)式中:i加权值(weights)阀值(threshold)(s)作用函数(activatedtransferfunction),2020/5/3,第五章NN,19,几种常用的作用函数,1、阈值型(硬限制型)2、线性型3、S型函数(Sigmoid)4、辐射基函数,2020/5/3,第五章NN,20,(1)、阈值型(硬限制型),生物学背景:神经细胞的兴奋与抑制;单极性,2020/5/3,第五章NN,21,生物学背景:神经细胞的兴奋与抑制:双极性,2020/5/3,第五章NN,22,(2)、线性型a)全线性,生物学背景:神经细胞的比例作用(全方位),2020/5/3,第五章NN,23,b)正线性,生物学背景:神经细胞的线性比例作用(单方向),2020/5/3,第五章NN,24,(3)、S型函数(Sigmoid)a)对数正切y=1/(e-n+1),生物学背景:神经细胞的非线性比例作用(单向),2020/5/3,第五章NN,25,b)双曲正切y=tanh(n),生物学背景:神经细胞的非线性比例作用(全方位),2020/5/3,第五章NN,26,(4)辐射基函数a)高斯函数,生物学背景:视觉,听觉等类神经细胞的区域性非线性用,2020/5/3,第五章NN,27,b)三角波函数,生物学背景:视觉,听觉等类神经细胞的区域性非线性用的线性近似,2020/5/3,第五章NN,28,5.2.2人工神经网络的构成,基本模型连接的几种基本形式前向网络(feed-forwardNetworks)回归网络(recurrentNetworks)互联网络(全互连与局部互连)也可是以上几种形式的组合,2020/5/3,第五章NN,29,人工神经网络种类,1).前向型感知器、线性网络(ADALINE),BP网络RBF网络,2).反馈型Hopfield网络3).竞争型ART,SOFM等,2020/5/3,第五章NN,30,Perceptron应用举例,1。水果分类Matlab演示nnd3pc.m(chap3),2020/5/3,第五章NN,31,复习与讲解,复习1)BNN特点2)ANN原理类型,作用函数讲解1)学习算法2)ANN与自动控制3)感知器网络,2020/5/3,第五章NN,32,前向型神经网络基本模型,2020/5/3,第五章NN,33,前向网络,结构图,2020/5/3,第五章NN,34,前向网络特点,1).神经元分层排列,可又多层2).层间无连接3).方向由入到出多层感知器(BP)网络(perceptron/BP即为此)应用最为广泛,2020/5/3,第五章NN,35,回归网络,全反馈结构图,2020/5/3,第五章NN,36,InnerRNN结构图,2020/5/3,第五章NN,37,回归网络特点,Output与Input相连(全反馈)特点:1.内部前向2.输出反馈到输入例:Fukushima网络Innerrecurrent特点:层间元互相连接,2020/5/3,第五章NN,38,互联网络,结构图,2020/5/3,第五章NN,39,互联网络特点,每个元都与其它元相连例:HopfieldBoltzmann机,2020/5/3,第五章NN,40,Hopfield反馈神经网络结构,2020/5/3,第五章NN,41,反馈网络特点,系统:反馈动力学系统,有一稳定时间作用:联想记忆,求解优化问题,2020/5/3,第五章NN,42,ANN与BNN的比较,2020/5/3,第五章NN,43,5.1.4常用学习规则,a)Hebb学习D.Hebb1949年提出:两元同时兴奋,则突触连接加强b)学习误差校正规则梯度方法(BP即为其中一种),2020/5/3,第五章NN,44,5.1.5ANN的发展史,20世纪40年代:兴起与萧条1943年M-Pmodel心理学家W.S.McCulloch和数学家W.Pitts提出:形式神经元的数学描述与构造方法阀值神经元model基本相同,权值固定1949年心理学家D.O.Hebb提出突触强度可调的假设:学习过程发生在突触上Hebb规则:,2020/5/3,第五章NN,45,20世纪50年代,第一次高潮,1957年:F.Rosenblatt提出感知器网络(Perceptron)模型,这是第一个完整的ANN模型基本构成为阀值单元、网络初具并行处理、分布存储、学习等功能用于模式识别、联想记忆引起NN研究的第一次高潮,2020/5/3,第五章NN,46,20世纪60年代,低潮,1969年Minsky和Papert编写的Perceptron出版,使NN的研究进入低潮Problems:singlelagerP.仅可解线性问题,NLXOR无法求解;求解XOR应该是MLP,但MLP是否有意义,理论上不能得到有力证明.当时现状:数字计算机发达,认为可解决一切问题.工业水平上,NNC不存在,但工作并未停止。,2020/5/3,第五章NN,47,1975年Albus提出CMAC网络(CerebellaModelArticulationController)1977年英国Grossberg提出ART网络(AdaptiveResonanceTheory)Kohonen提出自组织特征映射网络(SOM)福岛邦彦(K.Fukushima)提出认识机(Neocognitron)模型甘利俊(S.Amari):NN数学理论,2020/5/3,第五章NN,48,20世纪80年代第二次高潮Reasons:1)AI理论、Neumann计算机功能受挫(智能、视觉处理等)2)ANN有新成果、脑科学、神经科学、VLSI、光电技术的发展,2020/5/3,第五章NN,49,J.J.HopfieldHopfield网络模型:1982年网络模型,网络能量、网络稳定性判据1984年HNN用电子线路实现HNN用途:联想记忆、优化计算机的新途径1984年Hilton引入模拟退火法,提出Boltzmann机网络1986年Rumelhart提出EBP学习算法,解决了MLP隐含层的weights学习问题(ErrorBack-Propagation),2020/5/3,第五章NN,50,1987年Nielson提出了对向传播(CounterPropagation)神经网络1988年L.O.Chua提出细胞神经网络(CNN)模型自1958年来已有近40种NNmodel,2020/5/3,第五章NN,51,神经网络控制的研究领域,1基于神经网络的系统辨识将神经网络作为被辨识系统的模型,可在已知常规模型结构的情况下,估计模型的参数。利用神经网络的线性、非线性特性,可建立线性、非线性系统的静态、动态、逆动态及预测模型,实现非线性系统的建模和辨识。,2020/5/3,第五章NN,52,(2)神经网络控制器神经网络作为实时控制系统的控制器,对不确定、不确知系统及扰动进行有效的控制,使控制系统达到所要求的动态、静态特性。(3)神经网络与其他算法相结合将神经网络与专家系统、模糊逻辑、遗传算法等相结合,可设计新型智能控制系统。,2020/5/3,第五章NN,53,(4)优化计算在常规的控制系统中,常遇到求解约束优化问题,神经网络为这类问题的解决提供了有效的途径。目前,神经网络控制已经在多种控制结构中得到应用,如PID控制、模型参考自适应控制、前馈反馈控制、内模控制、预测控制、模糊控制等。,2020/5/3,第五章NN,54,几个示例,1)感知器网络用于水果分类2)英文字母识别,2020/5/3,第五章NN,55,感知器网络用于水果分类,1。水果分类Matlab演示nnd3pc.m(chap3),2020/5/3,第五章NN,56,英文字母识别(BP网络),2020/5/3,第五章NN,57,5.2前向神经网络及主要算法,5.2.1感知器网络5.2.2BP网络,2020/5/3,第五章NN,58,5.2.1感知器网络,1、感知器模型2、学习训练算法3、例题,2020/5/3,第五章NN,59,感知器神经元模型,感知器模型如图Fig5.2.1I/O关系图5.2.1,2020/5/3,第五章NN,60,单层感知器模型如图5.2.2定义加权系数wij为第i个神经元到第j个神经元之间的连接值第i个输出:,2020/5/3,第五章NN,61,感知器神经网络模型,图5.2.2,2020/5/3,第五章NN,62,图形解释对n=2的情况分平面为两部分WX+B与W正交,2020/5/3,第五章NN,63,图形解释,由直线W*P+b=0将由输入矢量P1和P2组成的平面分为两个区域,此线与权值矢量W正交,可根据偏差b进行左右平移。直线上部的输入矢量使阈值函数的输入大于0,所以使感知器神经元的输出为1;直线下部的输入矢量使感知器神经元的输出为0。分割线可以根据所选的权值和偏差上下左右移动到期望划分输入平面的地方。,2020/5/3,第五章NN,64,学习训练算法,2020/5/3,第五章NN,65,训练步骤1)对于所要解决的问题,确定输入向量X,目标向量T,由此确定维数及网络结构参数,n,m;2)参数初始化;3)设定最大循环次数;4)计算网络输出;5)检查输出矢量Y与目标矢量T是否相同,如果相同或已达最大循环次数,训练结束,否则转入6);6)学习d是学习步长并返回4)。,2020/5/3,第五章NN,66,Matlab调用,上述的整个训练过程我们可以用MATLAB工具箱中的函数train.m来完成。其调用方式如下:net,tr=train(net,P,T),2020/5/3,第五章NN,67,复习与讲解,复习1)ANN历史与AC,学习算法2)感知器网络讲解1)BP网络,2020/5/3,第五章NN,68,例题,例5.2.1采用单一感知器神经元解决一个简单的分类问题:将四个输入输入矢量分为两类,其中两个矢量对应的目标值为1,另两个矢量对应的目标值为0,即输入矢量:P=-0.50.50.30.0;-0.50.5-0.51.0目标分类矢量:T=1.01.00.00.0,2020/5/3,第五章NN,69,解首先定义输入矢量及相应的目标矢量:P=-0.50.50.30.0;-0.50.5-0.51.0;T=1.01.00.00.0;输入矢量可以用右图来描述,对应于目标值0的输入矢量用符号0表示,对应于目标值1的输入矢量符号+表示。输入矢量图,2020/5/3,第五章NN,70,训练结束后得到如图所示的分类结果,分类线将两类输入矢量分开,其相应的训练误差的变化如图所示。这说明经过4步训练后,就达到了误差指标的要求。分类结果误差变化曲线,2020/5/3,第五章NN,71,下面给出本例的MATLAB程序,%Examplepre.m%clfresetfigure(gcf)setfsize(300,300);echoon%NEWP建立一个感知器神经元%INIT对感知器神经元初始化%TRAIN训练感知器神经元%SIM对感知器神经元仿真pause%敲任意键继续clc,%P为输入矢量P=-0.5-0.5+0.3+0.0;-0.5+0.5-0.51.0;%T为目标矢量T=1100;pause%绘制输入矢量图plotpv(P,T);pause%定义感知器神经元并对其初始化net=newp(-0.50.5;-0.51,1);net.initFcn=initlay;net.layers1.initFcn=initwb;,2020/5/3,第五章NN,72,net.inputWeights1,1.initFcn=rands;net.layerWeights1,1.initFcn=rands;net.biases1.initFcn=rands;net=init(net);echooffk=pickic;ifk=2net.iw1,1=-0.81610.3078;net.b1=-0.1680;endechoonplotpc(net.iw1,1,net.b1)pause,%训练感知器神经元net=train(net,P,T);pause%绘制结果分类曲线plotpv(P,T)plotpc(net.iw1,1,net.b1);pause%利用训练完的感知器神经元分类p=-0.5;0;a=sim(net,p)echooffplotpv(p,a);point=findobj(gca,type,line);set(point,Color,red)holdonplotpv(P,T);plotpc(net.IW1,net.b1);,73,1.考虑下面定义的分类问题,1)用单神经元感知器能够求解这个问题吗?为什么?2)设计该单神经元感知器解决分类问题,用全部4个输入向量验证求解结果。3)用求解结果对下面4个输入向量分类。,4)上述输入向量中哪些向量的分类与权值和阈值无关?哪些向量的分类依赖于权值和阈值的选择?,作业1,74,2.数学方法证明下面问题对于两输入/单输出神经元感知器而言是不可解的。,2020/5/3,第五章NN,75,5.2.2BP网络,网络结构学习算法应用举例,2020/5/3,第五章NN,76,主要用途,BP网络主要用于:(1)函数逼近:用输入矢量和相应的输出矢量训练网络逼近某个函数;(2)模式识别:用一个特定的输出矢量将它与输入矢量联系起来;(3)分类:把输入矢量以所定义的合适的方法进行分类;(4)数据压缩:减少输出矢量维数以便于传输或存储。在人工神经网络的实际工程应用中,特别在自动控制领域中,大多数神经网络模型是采用BP网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分。,2020/5/3,第五章NN,77,1.BP网络模型,BP网络模型如图5.4所示:,2020/5/3,第五章NN,78,Matlab形式,Nnd11nf.m描述输出与加权系数的关系nndemos(chap11demo1)networkfunction,2020/5/3,第五章NN,79,I/O关系,I-Ha1=tansig(IW1,1p1+b1)tansig(x)=tanh(x)=(ex-e-x)/(ex+e-x)H-Oa2=purelin(LW2,1a1+b2)输入层神经元个数n隐含层神经元个数s1输出层神经元个数s2,2020/5/3,第五章NN,80,学习(训练)的基本原理,采用最小二乘方法,利用梯度搜索技术,使网络的实际输出值与期望输出值的误差均均方值最小。基本的EBP算法是极小化二次性指标函数E而得到的。,2020/5/3,第五章NN,81,学习(训练),输入q组样本p1,p2,.,pqpiRn期望输出T1,T2,.,Tq,TRs2网络输出a21,a22,.,a2qa2Rs2,均方误差,向量情况,2020/5/3,第五章NN,82,BP算法流程(学习算法),由两部分组成:信息的正向传播和误差的反向传播。在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层的神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通道反传回来修改各层神经元的权值直到达到期望目标。,2020/5/3,第五章NN,83,学习过程,设输入为P,输入神经元有r个,隐含层内有s1个神经元,作用函数为f1,输出层内有s2个神经元,对应的作用函数为f2,输出为A,目标为T。,2020/5/3,第五章NN,84,学习(训练)2,解决方法误差最小实质为一个优化问题思路1:梯度法(gradient)找出误差与加权系数的关系得到加权系数改变的规律,2020/5/3,第五章NN,85,梯度法原理(1),1.对无约束极值问题,设:F(X)二次可微,具有极小点X*,2020/5/3,第五章NN,86,梯度法原理(2),2020/5/3,第五章NN,87,最速下降法,要求E的极小点,取,2020/5/3,第五章NN,88,学习训练算法(思路),近似最陡下降法,2020/5/3,第五章NN,89,链式法则,例,应用于梯度计算,2020/5/3,第五章NN,90,1)信息的正向传递,隐含层中的第i个神经元的输出为:,输出层第k个神经元的输出为:,定义误差函数为:,2020/5/3,第五章NN,91,学习训练算法正向传播,I-HH-O2.计算误差ek=tk-a2k,2020/5/3,第五章NN,92,寻找加权系数改变与误差的关系,考虑一个样本输入到网络的情况,此时误差平方和为1。输出层权系数的调整(误差与输出层关系直接),net2k,2020/5/3,第五章NN,93,定义:因为:式中:,2020/5/3,第五章NN,94,小结:,2020/5/3,第五章NN,95,隐含层权系数的修正,2020/5/3,第五章NN,96,隐含层权系数的修正,误差e与w1无显函数关系,采用链式法则找关系,2020/5/3,第五章NN,97,不能直接计算,需通过其他量间接计算,2020/5/3,第五章NN,98,隐含层权值修正小结:,2020/5/3,第五章NN,99,总结,输出节点k隐含节点j统一形式,2020/5/3,第五章NN,100,BP算法解释,输出层误差ej(j=1s2)隐含层误差ei(i=1n1)ei与ej的关系?ei可以认为是由ej加权组合形成的。由于作用函数的存在,ej的等效作用为ji=ejf(),2020/5/3,第五章NN,101,初始化,加输入和期望输出,计算隐层和输出层的输出,迭代次数加1,调节输出层和隐层的连接权值,改变训练样板,训练样终止?,迭代终止?,BP算法的基本流程,No,No,y,y,2020/5/3,第五章NN,102,导数logsigmatlab函数:dA_dN=dlogsig(N,A)tansigmatlab函数:dA_dN=dtansig(N,A),2020/5/3,第五章NN,103,复习,感知器网络分类BP网络分类与函数逼近反向传播学习算法,调整权值。讲解1)示例2)MATLAB实现,2020/5/3,第五章NN,104,示例:函数逼近,1-2-1Network,+,-,t,a,e,x,2020/5/3,第五章NN,105,2020/5/3,第五章NN,106,修正公式:,前向计算权值修正,2020/5/3,第五章NN,107,具体步骤(一步):,前向计算(输入输出计算)y1/1=1s1=w1*x+b1=1.0*1.0+0=1.0;s2=w2*x+b2=-1.0*1.0+0=-1.0z1=logsig(s1)=logsig(1.0)=0.7311;z2=logsig(s2)=logsig(-1.0)=0.2689t=v1*z1+v2*z2+b=0.7311+0.2689+0.5=1.5误差计算e=1-1.5=-0.5,2020/5/3,第五章NN,108,输出层权值修正(O-I),V1*e*z10.1*(-0.5)*0.7311=-0.0366,V1=V1+V1=0.5+(-0.0366)=0.4634V2*e*z20.1*(-0.5)*0.2689=-0.0134,V2=V2+V2=0.5+(-0.0134)=0.4866b=*e=0.1*(-0.5)=-0.05b=bb0.5-0.05=0.495,2020/5/3,第五章NN,109,隐含层权值修正,w1=*v1*e*f(s1)*x=*e*v1*z1*(1-z1)*x=0.1*0.4634*(-0.5)*0.7311*(1-0.7311)*1=-0.0046w1=w1+w1=1.0+(-0.0046)=0.9954w2=*v2*e*f(s2)*x=*e*v2*z2*(1-z2)*x=0.1*0.4686*(-0.5)*0.2689*(1-0.2689)*1=-0.0046w2=w2+w1=(-1.0)+(-0.0046)=-1.0046b1=b1+b1=0-0.0046=-0.0046;b2=b2+b2=0-0.0046=-0.0046;,2020/5/3,第五章NN,110,示例:函数逼近(nnd11bc.m),1-2-1Network,+,-,t,a,e,p,2020/5/3,第五章NN,111,网络,参看matlab工具箱演示例子,Nnd11bc.m演示训练过程nndemos(chap11demo2,2020/5/3,第五章NN,112,2020/5/3,第五章NN,113,Matlab例,Nnd11bc.m演示训练过程nndemos(chap11demo2),2020/5/3,第五章NN,114,初始条件,2020/5/3,第五章NN,115,前向传播,2020/5/3,第五章NN,116,反向传播,2020/5/3,第五章NN,117,权值更新,2020/5/3,第五章NN,118,示例3:两层XOR网络【模式分类】,2020/5/3,第五章NN,119,输入输出关系,2020/5/3,第五章NN,120,加权值修改(Vi),2020/5/3,第五章NN,121,加权值修改(Wij),2020/5/3,第五章NN,122,具体计算步骤:,见matlab程序Bpxor2_demo_step.m的执行过程:,2020/5/3,第五章NN,123,bpxor2_demo_step.m,%BP神经网络解决异或问题%采用的一个2-2-1的网络clearclcBP_LEARNING=0.1;%学习速率为0.1wish_error=0.002;%期望误差studytimes=20000;%定义最大学习次数result=zeros(1,4);%生成一个矩阵,存放最后的输出结果P=0011;0101;T=0110;%初始化神经网络隐含层的权值和域值,%根据权值下标,例如weight12表示第一个输入对隐含层第二个神经元的权值weight11=rands(1)weight21=rands(1)weight12=rands(1)weight22=rands(1)b1=rands(1)b2=rands(1)%初始化输出层的权值和域值weight1=rands(1)weight2=rands(1)b=rands(1)pause,2020/5/3,第五章NN,124,%开始训练网络fori=1:studytimes;real_error=0;%初始化中间变量:修改权值的变量的累加值change_b1=0;change_b2=0;change_b=0;change_weight11=0;change_weight21=0;change_weight12=0;change_weight22=0;change_weight1=0;change_weight2=0;forj=1:4;%前向计算%第一个隐含层神经元的输出hidelayer1=weight11*P(1,j)+weight21*P(2,j)+b1%经过S函数之后的输出S_hidelayer1=1/(1+exp(-hidelayer1);,%第二个隐含层神经元的输出hidelayer2=weight12*P(1,j)+weight22*P(2,j)+b2%经过S函数之后的输出S_hidelayer2=1/(1+exp(-hidelayer2)%输出层的输出线性输出outlayer=weight1*S_hidelayer1+weight2*S_hidelayer2+b%计算误差deta=T(j)-outlayer,2020/5/3,第五章NN,125,%计算输出层加权值W1,W2,偏置值b的修正量change_weight1=change_weight1+BP_LEARNING*S_hidelayer1*detachange_weight2=change_weight2+BP_LEARNING*S_hidelayer2*detachange_b=change_b+BP_LEARNING*deta%计算隐含层第一个神经元权值的deta1deta1=S_hidelayer1*(1-S_hidelayer1)*weight1*deta%计算隐含层第二个神经元权值的deta2deta2=S_hidelayer2*(1-S_hidelayer2)*weight2*deta%计算输出层加权值W11,W21,W12,W22,偏置值b1,b2的修正量%偏置值b1,b2修正量的累加change_b1=change_b1+BP_LEARNING*deta1change_b2=change_b2+BP_LEARNING*deta2%权值W11,W21,W12,W22修正量的累加change_weight11=change_weight11+BP_LEARNING*P(1,j)*deta1change_weight21=change_weight21+BP_LEARNING*P(2,j)*deta1change_weight12=change_weight12+BP_LEARNING*P(1,j)*deta2change_weight22=change_weight22+BP_LEARNING*P(2,j)*deta2%判断误差real_error=real_error+(T(j)-outlayer)*(T(j)-outlayer)end,2020/5/3,第五章NN,126,%开始调整权值b1=b1+change_b1b2=b2+change_b2b=b+change_bweight11=weight11+change_weight11weight21=weight21+change_weight21weight12=weight12+change_weight12weight22=weight22+change_weight22weight1=weight1+change_weight1weight2=weight2+change_weight2ifreal_errorwish_errorbreak;end;end;,2020/5/3,第五章NN,127,%输出最后结果forj=1:4;hidelayer1=weight11*P(1,j)+weight21*P(2,j)+b1;%第一个隐含层神经元的输出S_hidelayer1=1/(1+exp(-hidelayer1);%经过S函数之后的输出hidelayer2=weight12*P(1,j)+weight22*P(2,j)+b2;%第二个隐含层神经元的输出S_hidelayer2=1/(1+exp(-hidelayer2);%经过S函数之后的输出outlayer=weight1*S_hidelayer1+weight2*S_hidelayer2+b;%输出层的输出result(j)=outlayer;end;clcreal_error,i,result,2020/5/3,第五章NN,128,用MATLAB求解BP网络训练问题,第一步:建立一个网络net=newff(-22,51,tansig,purelin,traingd);第二步计算输出:y1=sim(net,P);,2020/5/3,第五章NN,129,绘图:plot(P,T,*);训练:net,tr=train(net,P,T);训练函数有很多种,如:traingd,traingdm,traingdx,trainlm在训练之前要对网络进行初始化,并设置好训练参数。初始化:net.iw1,1=W10;net.b1=B10;net.lw2,1=W20;net.b2=B20;,2020/5/3,第五章NN,130,参数设置:net.trainParam.epochs=100;%最大训练次数net.trainParam.goal=0.01;%训练所要达到的精度net.trainParam.show=10;%在训练过程中显示的频率net.trainParam.lr=0.1;%学习速率,2020/5/3,第五章NN,131,例题函数逼近,例5.2.3应用两层BP网络来完成函数逼近的任务,其中隐含的神经元个数选为5个。网络结构如图5.4.1所示。图:5.4.1,2020/5/3,第五章NN,132,解首先定义输入样本和目标

温馨提示

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

评论

0/150

提交评论