(完整word版)动力学建模之神经网络_第1页
(完整word版)动力学建模之神经网络_第2页
(完整word版)动力学建模之神经网络_第3页
(完整word版)动力学建模之神经网络_第4页
(完整word版)动力学建模之神经网络_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、动力学系统建模课程报告神经网络综述神经网络介绍1.1神经网络概述人工神经网络简称为神经网络或称作连接模型,它是一种模范动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。人工神经网络可以看成以人工神经为节点,用有向加权弧连接起来的有向图,有向弧的权值表示两个人工神经元相互作用的强弱。人工神经网络模拟人类大脑神经元结构及处理问题的方式,成为为人工智能控制上的一大创新。人工神经网络主要优点是能够自适应样本数据,不会被噪音等影响;能够处理来自多个资源和决策系统的数据;能够提供简单工具进行特征选取,产生

2、有用的数据表示;可作为专家系统的前端;有十分快的优化功能。神经网络可以处理非线性适应性信息,克服了传统人工智能方法对于直觉的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域取得成功应用。人工神经网络基本要素人工神经元四个基本要素:连接权,用于表示各个神经元的连接强度,正值表示加强,负值表示削弱,对应生物神经元的突触。求和单元,求取对应节点输入信号的加权和,对输入信号求加权和即求解神经节点的输入信号。数学表达式:u=wx。kkjj激活函数,相当于细胞体的功能,对输入的信号进行非线性映射,使输出幅值限制在一定范围内。输出表达式:y=g(net)。激活函数有阶跃函数、分段线性函数、

3、kksigmoid函数及双曲正切对称S型函数。阀值,其作用可用数学表达式来表示:net=u-0。kkk人工神经网络的工作方式其工作过程主要分为两个阶段:学习期,此时每一个计算单元的状态不变,样本数据进行输入,得到实际输出,与期望输出进行对比得出输出误差,根据输出误差修改权值,直至系统参数满足输出误差要求,这样就建立了适合样本的神经网络模型。工作期,此时各连接权是固定的,输入数据便可得到模型结果,即运用神经网络模型进行实际应用过程。人工神经网络的学习方式通过向环境学习来获取系统参数并改进自身性能是神经网络的一个重要特点。一般情况下,性能的改善是按照预定的期望来修改自身的参数。学习的方式有以下三种

4、:(1)有监督学习阶段:以输入输出为训练样本集,学习系统将实际输出与期望输出进行比较,根据一定的学习算法修正权系数及阀值,从而使系统实际输出越来越达到期望输出。(2)无监督学习阶段:只提供输入,不提供输出,根据输入调整权系数及阀值,主要用于某些聚类操作。强化学习:外部环境对系统输出只给出评价(相当于完成任务时的奖励),没有具体的期望输出,学习系统通过强化那些受奖励的来修改自身参数。下面分别介绍前馈神经网络及反馈神经网络算法。前馈神经网络算法原理2.1前馈神经网络及BP神经网络介绍前馈神经网络中的各个神经元只接收上一级的输入,并输出到下一级,网络中没有反馈。节点分为两类,即输入单元及计算单元,每

5、一个计算单元可以有任意个输入,但只有一个输出。前馈神经网络除了输入层及输出层之外,中间的层称为隐层。前馈神经网络为一种非线性映射,通过简单的非线性处理就可以映射非常复杂的非线性关系,可用来处理难以建模的非线性系统。前馈神经网络为一种非常强大的计算系统,但不具有丰富的动力学行为。BP神经网络是一种利用误差反向传播训练算法含隐层的前馈神经网络。对于输入层,输入模式送到输入层节点上,这一层节点的输出即等于其输入。除了输入层的节点外,隐含层和输出层节点的净输入是前一层节点输出的加权和。每个节点的激活程度由它的输入信号、激活函数和节点的偏值(或阈值)来决定。2.2BP神经网络的算法原理2.2.1BP神经

6、网络算法介绍BP学习算法的基本原理是梯度最速下降法,它的中心思想是调整权值使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。网络学习过程是一种误差边向后传播边修正权系数的过程。将上一层节点的输出传送到下一层时,通过调整连接权系数来达到增强或削弱这些输出的作用。多层网络运用BP学习算法时,实际上包含了正向和反向传播两个阶段。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,使误差信号最小。

7、2.2.2正向传播阶段学习训练阶段,有N个样本,如果已知输入样(及预期输出T隐含层第i个pp节点在样本p作用下的输入可以表示为:(2-1)w为输入层第jij(2-2)netp=wxp9,i=1,2,A,qiijjij=1其中xp为第p个样本中第j个输入,9为隐层第i个节点的阀值,ji个节点与隐层第i个节点之间的连接权值,M为输入层的节点数。隐含层第i个节点的输出为:op=g(netp),i=1,2,A,qiig(.)为激活函数,sigmoid激活函数形式为g(x)=1/(1+exp(x+9/9詁),其中9表示偏值,9为调节形状参数。其导数可以表示为:0(2-3)g(netp)=g(netp)1

8、一g(netp)=op(1一op)TOC o 1-5 h ziiiii隐含层第i个节点输出op通过权系数向前传播到输出层第k个节点,并作为它的输i入之一,输出层的第k个节点的输入为: HYPERLINK l bookmark8 netp=wop9,k=1,2,A,L(2_4)kkiik(2-4)i=19为输出层第k个节点的阀值,w为输出层第k个节点与隐层第i个节点之间的连kki接权值,L为输出层的节点数,q为隐层的节点数。输出层第k个节点的输出为:(2-5)op=g(netp),k=1,2,A,Lkk激活函数的导数:(2-6)(2-7)J=Jpp=12乙乙-OP)2p=1k=1(2-8)N为模

9、式样本数,L为网络输出节点数。若其输出与给定的期望值不一致,则将误差信号从输出端反向传播回来,并在传播过程中对权系数进行修正,直到输出层输出值为期望输出,完成样本训练过程。2.2.3反向修改权系数(1)输出层权系数调整首先定义:6p=(tpop)op(1op)kkkkk(2-9)隐层第i个节点与输出层第k个节点权值总调整量:Aw=乙耳6popkikip=1(2-10)调整后的隐层第i个节点与输出层第k个节点的权值:w(k+1)=w(k)+Awkikiki(2-11)(2)隐层权系数的调整首先定义:6piop(1-iopipwkki(2-12)g(netp)=g(netp)1-g(netp)=o

10、p(1-op),k=1,2,A,Lkkkkk对每一个样本p的输入模式,其误差为:=2为k=1tp为第p个样本第k个输出层节点输出期望值。k对N个训练样本的总误差为:k=1隐层第i个节点与输入层第j个节点权值总调整量:(2-13)Aw=pxpijijp=1调整后的隐层第i个节点与输入层第j个节点权值:(2-14)w(k+1)=w(k)+Awijijij采用修正后的权系数,带入输入样本继续训练,计算结果与期望输出进行比较。如果达不到要求,继续返回修改权系数,这样一直循环下去,直到得出的输出达到期望的输出。2.3运用BP神经网络解决黑箱问题2.3.1问题描述已知一个控制系统,如图1所示。该系统为两输

11、入两输出系统,输入输出已知,系统参数未知,通过神经网络方法构造神经网络模型来模拟该控制系统。图1黑想问题模型该模型输入为X=31,期望输出为T=0.10.90.10.9,试构造图2所示的神经网络模型模拟该黑箱系统。图2神经网络模型2.3.2MTLAB求解神经网络利用MATLAB中的矩阵运算功能可以方便地求解神经网络问题,相对C语言来说,省去矩阵运算程序的编写,程序结构简单。黑箱模型的神经网络计算程序如下所示Ir=1;err_goal=1e-4;%Ir为学习速率;err_goal为期望误差最小值max_epoch=10000;%max_epoch为训练的最大次数;a为惯性系数Oi=0;Ok=0;

12、%置隐含层和输出层各神经元输出初值为%调整输出层加权系数零deltak=Ok.*(1-Ok).*(T-Ok);X=13;23;T=0.10.9;0.10.9wki=wki+Ir*deltak*Oi;%输入样本输入及期望值%调整隐含层加权系数M,N=size(X);q=3;L,N=size(T);deltai=Oi.*(1-Oi).*(deltak*wki);%求隐层输入层及输出层个数wij=wij+Ir*deltai*X;wij=rand(q,M);wki=rand(L,q);end%初始化wki、wijepoch%显示计算次数forepoch=1:maxepoch%BP网络的第二阶段工作期%

13、计算隐含层各神经元输出X1=X;NETi=wij*X;%计算隐含层各神经元输出forj=1:NNETi=wij*X1;fori=1:qforj=1:NOi(i,j)=1/(1+exp(-NETi(i,j);fori=1:qendOi(i,j)=1/(1+exp(-NETi(i,j);endend%计算输出层各神经元输出endNETk=wki*Oi;%计算输出层各神经元输出fori=1:NNETk=wki*Oi;fork=1:Lfori=1:NOk(k,i)=1/(1+exp(-NETk(k,i);fork=1:LendOk(k,i)=1/(1+exp(-NETk(k,i);endend%计算误

14、差函数endE=(T-Ok)*(T-Ok)/2;Okif(Eerr_goal)break;end当学习速率取1时,结果如下:epoch=626Ok=0.11040.89370.10950.8943可见,运用神经网络模型可以很好逼近系统模型。在满足误差条件下,可以有效解决黑箱问题。神经网络方法对于解决非线性问题有很好的适用性。2.3.3BP算法的改进-修改学习速率学习速率n的选择非常重要。在学习初期阶段,n选的大可使学习速度加快,但临近最佳点时,n必须相当小;否则会产生反复震荡而不能收敛。可采用变学习速率方案,令学习速率随着学习的进展而逐步减小,可收到很好的效果。引入惯性系数的方法可使收敛速度加

15、快,的取值可选在0.9左右。上节中取n=1需要运算626次,运算次数过多。如果仅仅将学习效率改为10,运算次数大为减小,结果如下所示:epoch=139Ok=0.10670.89470.11210.8903运用前馈BP神经网络可以很好地解决非线性系统建模问题,对黑箱系统有很好的适用性。前馈BP神经网络输入输出已知,为有监督学习。通过输入求解实际输出,与期望值进行比较,不满足要求返回修改系统参数,直至达到所要求精度。在控制系统模型求解中,BP神经网络有良好的应用前景。只要有足够多的隐层及隐节点,就可以逼近任意非线性映射,但其收敛速度慢、有局部极值及难以确定隐含层及隐节点的个数,RBF神经网络等对

16、其进行了改进。反馈神经网络3.1反馈神经网络及Hopfield神经网络介绍反馈型神经网络又称为递归网络,在反馈神经网络中,输入信号决定反馈系统的初始状态,然后系统经过一系列状态转移后收敛于平衡状态。如果能找到网络Lyapunov函数,则能保证网络从任意初始状态都能收敛于局部最小点,反馈神经网络中所有节点都是计算单元,同时也接收输入并向外输出。Hopfield神经网络网络如图3所示,每一个神经元都将自己的输出通过连接权传送给其他神经元,同时又接收其他神经元传来的信息,即网络中t时刻的输出状态实际上间接与自己的t-1时刻的输出状态有关。当网络达到稳定状态时,也就是它的能量函数达到最小的时候。图3H

17、opfield神经网络3.2Hopfield神经网络算法原理Hopfield神经网络有n个神经元,其中任意神经元的输入用u表示,输出用v表示,它们都是时间t的函数,v.(t)为神经元i在t时刻的状态。j(3-1)u(t)=wv(t)+biijjij=1j丰ib表示神经元i的偏差及阀值。相应神经元i的输出为i(3-2)v(t+1)=f(u(t)iiv(t+1)=0jiv(t)+b0Hopfield神经网络运行方式为从初始状态按能量减小的方向进行演化,直至稳定状态。达到稳定状态即为网络的输出。Lyapunov能量函数定义为(对于任一个神经元):(3-4)E=-工wvv+bvi2ijijiij=;从

18、t时刻到t+1时刻能量的变化为:AE=v(t+1)v(t)工wv+bi2iiijji(3-5)j=1j知可以看出AE0,由于网络中任意一个神经元都按同一规则进行变换,所以网络的i能量总变化量应不大于零,即AE0。记S=工wv+bjijji(3-6)j=1j丰i则有AE=AvS/2,有三种可能的情况,如下所示:TOC o 1-5 h ziij第i个神经元没有改变状态,即Av=0,能量改变量为AE=0。ii第i个神经元状态从1变为0,即Av=1,只有S0,满足AE0,满足AE0。iji计算神经网络时,当所有的神经元都被访问到,并且没有神经元改变状态,就达到全局稳定,也就可以认为网络已经收敛了。式(3-7)用来固定网络的权值,以达到这样一个目的:预存的状态矢量能够对

温馨提示

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

评论

0/150

提交评论