matlab辅助神经网络设计

上传人:积*** 文档编号:120207240 上传时间:2022-07-17 格式:DOC 页数:64 大小:314KB
返回 下载 相关 举报
matlab辅助神经网络设计_第1页
第1页 / 共64页
matlab辅助神经网络设计_第2页
第2页 / 共64页
matlab辅助神经网络设计_第3页
第3页 / 共64页
点击查看更多>>
资源描述
目 录第一节 神经网络基本理论一、人工神经网络概论二、生物神经元模型三、Matlab的神经网络工具包第二节 感知器一、感知器神经元模型二、感知器的网络构造三、感知器神经网络的学习规则四、感知器神经网络的训练五、重要的感知器神经网络函数的使用措施六、感知器神经网络应用举例第三节 线性神经网络一、线性神经元模型二、线性神经网络构造三、线性神经学习网络的学习规则四、线性神经网络训练五、重要线性神经网络函数的使用措施六、线性神经网络的应用举例第四节 BP网络一、BP网络的网络构造二、BP网络学习规则三、BP网络的训练四、重要BP神经网络函数的使用措施五、BP网络的应用举例第五节 径向基函数网络一、径向基函数神经网络构造二、径向基函数的学习算法三、重要径向基函数的函数使用措施第六节 反馈网络一、Hopfield网络的构造与算法二、Hopfield网络运营规则三、重要的反馈网络函数四、重要的自组织网络函数五、反馈网络应用举例第七节 自组织网络一、自组织特性映射的网络构造二、自组织特性映射网络的学习三、自组织特性映射网络的训练四、重要的自组织网络函数五、自组织网络应用举例第一节 神经网络基本理论一、人工神经网络概论近代神经生理学和神经解剖学的研究成果表白,人脑是由约一千多亿个神经元(大脑皮层约140多亿,小脑皮层约1000多亿)交错在一起的、极其复杂的网状构造,能完毕智能、思维、情绪等高档精神活动,无论是脑科学还是智能科学的发展都促使人们对人脑(神经网络)的模拟展开了大量的工作,从而产生了人工神经网络这个全新的研究领域。人工神经网络(ANNS)常常简称为神经网络(NNS),是以计算机网络系统模拟生物神经网络的智能计算系统, 是对人脑或自然神经网络的若干基本特性的抽象和模拟。网络上的每个结点相称于一种神经元,可以记忆(存储)、解决一定的信息,并与其他结点并行工作。神经网络的研究最早要追述到40年代心理学家Mcculloch和数学家Pitts合伙提出的兴奋与克制型神经元模型和Hebb提出的神经元连接强度的修改规则,其成果至今仍是许多神经网络模型研究的基本。5060年代的代表性工作重要有Rosenblatt的感知器模型、Widrow的自适应网络元件Adaline。然而在1969年Minsky和Papert合伙刊登的Perceptron一书中论述了一种悲观悲观的论点,在当时产生了极大的悲观影响,加之数字计算机正处在全盛时期并在人工智能领域获得明显成就,这导致了70年代人工神经网络的研究处在空前的低潮阶段。80年代后来,老式的Von Neumann数字计算机在模拟视听觉的人工智能方面遇到了物理上不可逾越的障碍。与此同步Rumelhart、Mcclelland和Hopfield等人在神经网络领域获得了突破性进展,神经网络的热潮再次掀起。目前较为流行的研究工作重要有:前馈网络模型、反馈网络模型、自组织网络模型等方面的理论。人工神经网络是在现代神经科学的基本上提出来的。它虽然反映了人脑功能的基本特性,但远不是自然神经网络的逼真描写,而只是它的某种简化抽象和模拟。求解一种问题是向人工神网络的某些结点输入信息,各结点解决后向其他结点输出,其他结点接受并解决后再输出,直到整个神经网工作完毕,输出最后成果。犹如生物的神经网络,并非所有神经元每次都同样地工作。如视、听、摸、想不同的事件(输入不同),各神经元参与工作的限度不同。当有声音时,解决声音的听觉神经元就要全力工作,视觉、触觉神经元基本不工作,主管思维的神经元部分参与工作;阅读时,听觉神经元基本不工作。在人工神经网络中以加权值控制结点参与工作的限度。正权值相称于神经元突触受到刺激而兴奋,负权值相称于受到克制而使神经元麻痹直到完全不工作。如果通过一种样板问题“教会”人工神经网络解决这个问题,即通过“学习”而使各结点的加权值得到肯定,那么,这一类的问题它都可以解。好的学习算法会使它不断积累知识,根据不同的问题自动调节一组加权值,使它具有良好的自适应性。此外,它本来就是一部分结点参与工作。当某结点出故障时,它就让功能相近的其他结点顶替有故障结点参与工作,使系统不致中断。因此,它有很强的容错能力。人工神经网络通过样板的“学习和培训”,可记忆客观事物在空间、时间方面比较复杂的关系,适合于解决各类预测、分类、评估匹配、辨认等问题。例如,将人工神经网络上的各个结点模拟各地气象站,根据某一时刻的采样参数(压强、湿度、风速、温度),同步计算后将成果输出到下一种气象站,则可模拟出将来气候参数的变化,作出精确预报。虽然有突变参数(如风暴,寒流)也能对的计算。因此,人工神经网络在经济分析、市场预测、金融趋势、化工最优过程、航空航天器的飞行控制、医学、环保等领域均有应用的前景。人工神经网络的特点和优越性使它近年来引起人们的极大关注,重要表目前三个方面:第一,具有自学习功能。例如实现图像辨认时,只需把许多不同的图像样板和相应的应辨认的成果输入人工神经网络,网络就会通过自学习功能,慢慢学会辨认类似的图像。自学习功能对于预测有特别重要的意义。人工神经网络计算机将为人类提供经济预测、市场预测、效益预测,其前程是很远大的。第二,具有联想存储功能。人的大脑是具有联想功能的。如果有人和你提起你幼年的同窗张某某,你就会联想起张某某的许多事情。用人工神经网络的反馈网络就可以实现这种联想。第三,具有高速寻找最优解的能力。寻找一种复杂问题的最优解,往往需要很大的计算量,运用一种针对某问题而设计的人工神经网络,发挥计算机的高速运算能力,也许不久找到最优解。人工神经网络是将来微电子技术应用的新领域,智能计算机的构成就是作为主机的冯诺依曼计算机与作为智能外围机的人工神经网络的结合。二、生物神经元模型神经元是脑组织的基本单元,其构造如图1所示,神经元由三部分构成:细胞体,树突和轴突;每一部分虽具有各自的功能,但互相之间是互补的。树突是细胞的输入端,通过细胞体间联结的节点“突触”接受四周细胞传出的神经冲动;轴突相称于细胞的输出端,其端部的众多神经未梢为信号的输出端子,用于传出神经冲动。神经元具有兴奋和克制的两种工作状态。当传入的神经冲动,使细胞膜电位升高到阀值(约为40mV)时,细胞进入兴奋状态,产生神经冲动,由轴突输出。相反,若传入的神经冲动,使细胞膜电位下降到低于阀值时,细胞进入克制状态,没有神经冲动输出。图1 生物神经元构造二、人工神经元模型人工神经元模型是以大脑神经细胞的活动规律为原理的,反映了大脑神经细胞的某些基本特性,但不是也不也许是人脑细胞的真实再现,从数学的角度而言,它是对人脑细胞的高度抽象和简化的构造模型。虽然人工神经网络有许多种类型,但其基本单元人工神经元是基本相似的。如图2是一种典型的人工神经元模型:图2 人工神经元模型神经元模型相称于一种多输入单输出的非线性阀值元件,X1,X2,Xn表达神经元的n个输入,W1,W2,Wn表达神经元之间的连接强度,称为连接权,称为神经元的激活值,O表达这个神经元的输出,每个神经元有一种阀值,如果神经元输入信号的加权和超过,神经元就处在兴奋状态。以数学体现式描述为:O=f(-)三、Matlab的神经网络工具包由于神经网络自身的特点,计算中常常波及到大量的训练样本数据、复杂的运算操作、繁琐的程序设计等问题。对此,具有强大功能的数学软件Matlab,为我们提供了神经网络工具箱Neural Netwoks Toolbox (NNT)及丰富的函数命令。NNT是进行神经网络训练和仿真的优良平台。常用来对网络进行初始化、仿真、设计、调节、优化。集成化的解决方式、和谐的界面、形象的演示过程、简易的操作,为神经网络应用者节省了大量的不必要的编程时间,使得非专业人士应用神经网络成为了也许。Matlab是Mathworks公司开发的工程计算软件包,其中有一种神经网络工具包,可以用来以便地创立多种神经网络,对数据进行学习和模拟输出。Matlab中普遍采用的是物理和工程学中强有力的矩阵描述的语言,简洁优美。第二节 感知器感知器(Pereceptron)是一种特殊的神经网络模型,是由美国心理学家F.Rosenblatt于1958年提出的,一层为输入层,另一层具有计算单元,感知器特别适合于简朴的模式分类问题,也可用于基于模式分类的学习控制和多模态控制中。一、感知器神经元模型感知器神经元通过对权值的训练,可以使感知器神经元的输出能代表对输入模式进行的分类,图2.1为感知器神经元模型。x1x2xRoooiwi1wi2wiR1o图2.1 感知器神经元模型感知器神经元的每一种输入都相应于一种合适的权值,所有的输入与其相应权值的加权和作为阀值函数的输入。由于阀值函数的引入,从而使得感知器可以将输入向量分为两个区域,一般阀函数采用双极阶跃函数,如: (2.1)而感知器神经元模型的实际输出为 (2.2)其中b为阀值二、感知器的网络构造图2.2所描述的是一种简朴的感知器网络构造,输入层有R个输入,Q个输出,通过权值wij与s个感知器神经元连接构成的感知器神经网络。P oN1 obRQSRS1SQnSQa图2.2 感知器神经网络构造 根据网络构造,可以写出感知器解决单元对其输入的加权和操作,即: (2.3)而其输出ai为ai=f (ni+bi) (2.4)由式2.1易知 (2.5)则当输入ni+bi不小于等于0,即有nibi时,感知器的输出为1;否则输出为0。上面所述的单层感知器神经网络是不也许解决线性不可分的输入向量分类问题,也不能推广到一般的前向网络中去。为解决这一问题,我们可以设计多层感知器神经网络以实现任意形状的划分。图2.3描述了一种双层感知器神经网络。其工作方式与单层感知器网络同样,只但是是增长了一层而已,具体的内容这里不做讨论。P ow11 obRQSRS1a1W2a2图2.3 感知器神经网络构造 ob三、感知器神经网络的学习规则感知器的学习规则重要是通过调节网络层的权值和阀值以便可以地网络的输入向量进行对的的分类。如图2.2所示的输入向量P、输出和量a和目的向量为t的感知器神经网络,感知器的学习规则是根据如下输出矢量a也许浮现的几种状况未进行参与调节的:1)如果第i个神经元的输出是对的的,即有ait1,则与第i个神经元联接的权值和阀值保持不变。2)如果第i个神经元的输出是不对的,应当有两种状况。i)实际输出为0,而抱负输出为1,即有ai=0,而ti1,则所有的输入j对权值和阀值进行调节,修正值w1j=pj,bj=1。ii)实际输出为1,而盼望输出为0,即有ai=1,而ti=0,则对所有的输入j进行权值和阀值调节,w1j=pj,bi=1。基于感知器误差e=ta,感知器学习规则可望写为:w1j=eipj可以证明目前输入样本来自线性可分的模式时,上述学习算法在有限步同收敛,这时所得的权值能对所有样本对的分类,这一结论被称为感知器收敛定理。四、感知器神经网络的训练要使前向神经网络模型实现某种功能,必须对它进行训练,让它逐渐学会要做的事情,并把所学到的知识记忆在网络的权值中。感知器神经网络的训练是采用由一组样本构成的集合来进行。在训练期间,将这些样本反复输入,通过调节权值使感知器的输出达到所规定的抱负输出。感知器的训练重要是反复对感知器神经网络进行仿真和学习,最后得到最优的网络阀值和权值。我们可以用如下措施训练网络:1) 拟定我们所解决的问题的输入向量P、目的向量t,并拟定各向量的维数,以及网络构造大小、神经元数目。假定我们采用图2.2的网络构造。2)初始化:权值向量w和阀值向量b分别赋予1,+1之间的随机值,并且给出训练的最大次数。3)根据输入向量P、最新权值向量w和阀值向量b,计算网络输出向量a。4)检查感知器输出向量与目的向量与否一致,或者与否达到了最大的训练次数,如果是则结束训练,否则转入(5)。5)根据感知器学习规则调查权向量,并返回3)。五、重要的感知器神经网络函数的使用措施对于感知器的初始化、训练、仿真,在MATLABP神经网络工具箱中分别提供了init( ), trainp( )和sim( )函数。1初始化函数init( )感知器初始化函数init( )可得到R个输入,S个神经元数的感知器层的权值和阀值,其调用格式为:w,b=init(R,S)此外,也可以运用输入向量P和目的向量t来初始化。w,b=init(p,t)在简介trainp( )函数前,让我们先简介一下训练的控制参数tp。tp=disp_freq max_epoch其中disp_freq指定两次显示间训练次数,缺省值为1;map_epoch指定训练的最大次数,缺省值为100。调用训练函数trainp( )函数后又得到新的权值矩阵,阀值向量以及误差te。trainp( )函数所需要的输入变量为:输入向量P、目的向量t以及网络的初始权值和阀值,训练的控制参数tp。调用格式为:w,b,te=trainp(w,b,p,t,tp)由于函数trainp( )并不能保证感知器网络所得到的网络权值和阀值达到规定。因此,在训练完后,要用下列验证语句验证一下。a=sim(p, w, b);if all(a= =t),disp( It works!),end如果网络不能成功运营,就可以继续运用trainp( )函数对网络进行训练。经足够的训练后,网络仍达不到规定,那么就应当认真分析一下,感知器网络与否适合于这个问题。3仿真函数sim( )sim( )函数重要用于计算网络输出。它的调用比较简朴。a=sim(p,w,b)六、感知器神经网络应用举例为了便于消化与理解感知器神经网络的四只问题,下面将给出一种具体的问题进行分析,问题的描述如下:两种蠓虫Af和Apf已由生物学家W.L.Grogan与w. w. Wirth(1981)根据它们触角长度和翼长中以辨别。见表2.1中9Af蠓和6只Apf蠓的数据。根据给出的触角长度和翼长可辨认出一只标本是Af还是Apf。1给定一只Af或者Apf族的蒙,你如何对的地辨别它属于哪一族?2将你的措施用于触角长和翼中分别为(1.24,1.80)、(1.28,1.84)、(1.40,2.04)的三个标本表2.1Af触重长1.241.361.381.3781.381.401.481.541.56翼 长1.721.741.641.821.901.701.701.822.08Apf触角长1.141.181.201.261.281.30翼 长1.781.961.862.002.001.96输入向量为:p=1.24 1.36 1.38 1.378 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30;1.72 1.74 1.64 1.82 1.90 1.70 1.70 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96 目的向量为:图2.4 样本图形显示t=1 1 1 1 1 1 1 1 1 0 0 0 0 0 0图形显示,目的值1相应的用“+”、目的值0相应的用“o”来表达:plotpv(p,t)为解决该问题,运用函数newp构造输入量在0,2.5之间的感知器神经网络模型:net=newp(0 2.5;0 2.5,1)初始化网络:net=init(net)运用函数adapt调节网络的权值和阀值,直到误差为0时训练结束:net, y, e=adapt(net, p, t)训练结束后可得如图2.5的分类方式,可见感知器网络将样本对的地提成两类:图2.5 网络训练成果感知器网络训练结束后,可以运用函数sim进行仿真,解决实际的分类问题:p1=1.24;1.80a1=sim(net,p1)p2=1.28;1.84a2=sim(net,p2)p3=1.40;2.04a3=sim(net,p3)网络仿真成果为:a1=0 a2=0 a3=0第三节 线性神经网络线性神经网络是最简朴的一种神经元网络,由一种或多种线性神经元构成。1959年,美国工程师B.widrow和M.Hoft提出自适应线性元件(Adaptive linear element,简称Adaline)是线性神经网络的最早典型代表。它是感知器的变化形式,特别在修正权矢量的措施上进行了改善,不仅提高了训练收敛速度,并且提高了训练精度。线性神经网络与感知器神经网络的重要不同之处在于其每个神经元的传递函数为线性函数,它容许输出任意值,而不是象感知器中只能输出0或1。此外,线性神经网络一般采用WidrowHoff(简称WH)学习规则或者最小场方差(Least mean Square,简称LMS)规则来调节网络的权值和阀值。线性神经网络的重要用途是线性逼近一种函数体现式,具有联想功能。此外,它还合用于信号解决滤波、预测、模式辨认和控制等方面。一、线性神经元模型线性神经元可以训练学习一种与之相应的输入输出函数关系,或线性逼近任意一种非线性函数,但它不能产生任何非线性的计算特性。图3.1描述了一种具有R个输入的由纯线性函数构成的线性神经元。P1P2PRooow1w2wRb1a图3.1 线性神经元模型由于线性神经网络中神经元的传递函数为线性函数,其输入与输出之间是简朴的比例关系:a=g(w*p,b)其中函数g(x)为线性函数。二、线性神经网络构造如图3.2描述了一种由S个神经元相并联形成一层网络,这种网络也称为Madaline网络。P oN1 obR1SRS1S1nS1a图3.2 线性神经元网络WH学习规则只能训练单层的线性神经网络,但这并不是什么严重问题。由于对线性神经网络而言,完全可以设计出一种性能完全相称的单层线性神经网络。三、线性神经学习网络的学习规则前面我们提到过,线性神经网络采用WH学习规则。WH学习规则是Widrow是Hoft提出的用来求得权值和阀值的修正值的学习规则。一方面要定义一种线性网络的输出误差函数:E(w,b)=(ta)2=(tw*p)2 3.1由式3.1可看出,线性网络具有抛物线型误差函数所形成的误差表面。因此只有一种误差最小值。通过WH学习规则来计算权值和偏差的变化,并使网络的误差平方和最小化,总可以训练一种网络的误差趋于最小值。这可通过沿着相对于误差平方和最速下降方向持续调节网络的权值和阀值来实现。根据梯度下降法,权矢量的修正值正比于目前位置上E(w,b)的梯度,对于第i输出节点为: 3.2或表达为: 3.3 3.4这里i定义为第i个输出节点的误差:i=tiai 3.5式3.3称为WH学习规则。WH学习规则的权值变化量正比于网络的输出误差及网络的输入向量。它不需求导数,因此算法简朴,又具有收敛速度快和精度高的长处。式3.3中的称为学习率,学习率的选用可以合适避免学习过程中产生振荡,提高收敛速度和精度。四、线性神经网络训练一方面给线性神经网络提供输入向量P,计算线性网络层的输出向量a,并求得误差e=ta;然后比较输出的误差平方和与否不不小于盼望的误差平方和,如果是,则停止训练;否则,采用WH规则调节权值和阀值,反复进行。如果通过训练网络不能达到盼望目的,可以继续对网络进行训练。通过足够的训练后,网络还是达不到规定。那么就仔细地分析一下, 所要解决的问题,与否适合于线性神经网络。五、重要线性神经网络函数的使用措施在MATLAB神经网络工具箱中提供了基于线性神经网络的初始化函数initlin( )、设计函数solvelin( )、仿真函数simulin( )以及训练函数trainwh和adaptwh。下面我们将分别简介多种函数的使用措施。1初始化函数initlin( )函数initlin( )对线性神经网络初始化时,将权值和阀值取为绝对值很小的数。其使用格式w,b=initlin(R,S)R为输入数,S为神经元数。此外,R和S也可用输入向量P和目的向量t来替代,即w,b=initlin(p,t)2设计函数solvelin( )与大多数其他神经网络不同,只要已知其输入向量P和目的向量t,就可以直接设计出线性神经网络使得线性神经网络的权值矩阵误差最小。其调用命令如下:w,b=solve lin(p,t);3仿真函数simulin( )函数simulin( )可得到线性网络层的输出a=simulin(p,w,b)其中a为输出向量,b为阀值向量4训练函数trainwh 和adaptwh( )线性神经网络的训练函数有两种:trainwh( )和adaptwh( )。其中函数trainwh可以对线性神经网络进行离线训练;而函数adaptwh( ) 可以对线性神经网络进行在线自适应训练。运用trainwh( )函数可以得到网络的权矩阵w,阀值向量b,实际训练次数te 以及训练过程中网络的误差平方和lr。w,b,te,lr=trainwh(w,b,p,t,tp)输入变量中训练参数tp为:tp(1)指定两次更新显示间的训练次数,其缺省值为25;tp(2)指定训练的最大次数,其缺省值为100;tp(3)指定误差平方和指标,其缺省值为0.02;tp(4)指定学习速率,其缺省值可由maxlinlr( )函数(此函数重要用于计算采用WH规则训练线性网络的最大的稳定的辨别率)得到。而运用函数adaptwh( )可以得到网络的输出a、误差e、权值矩阵w和阀值向量b。a,e,w,b=adaptwh(w,b,p,t,lr)输入变量lr为学习速率,学习速率lr 为可选参数,其缺省值为10。此外,函数maxlinlr( )的调用格式为:lr=maxlinlr(p);六、线性神经网络的应用举例为了理解线性神经网络的理论及其应用问题,下面给出一种实际问题进行分析,设计一种线性神经网络,用于信号仿真及信号预测。一方面输入信号样本为:time=1:0.0025:5;p=sin(sin(time)*time*10);目的信号为:t=p*2+2;图形显示样本信号的规律为:plot(time, p, time, t, -)title(Input and Target Signals)xlabel(Time)ylabel(Input_ Target_)图3.3 样本信号运用输入样本信号和抱负输出进行线性神经网络初始化:w,b=initlin(p,t)然后运用函数adaptwh对构造的网络进行训练,lr=0.01; a, e, w, b=adaptwh(w, b, p, t, lr)其中lr为学习率,a为网络的输出,e为误差。仿真成果与目的信号对比分析:plot(time, a, time, t, -)title(Output and Target Signals)xlabel(Time); ylabel(Output_ Target_)图3.4 仿真成果与目的信号对比分析误差分析:plot(time,e)hold on; plot(min(time) max(time),0 0,:r)xlabel(Time); ylabel(Error)图3.5 误差分析第四节 BP网络感知器神经网络模型和线性神经网络模型虽然对人工神经网络的发展起了很大的作用,它们的浮现也曾掀起了人们研究神经网络的热潮。但它们有许多局限性之处。人们也曾因此失去了对神经网络研究的信心,但rumelhart、mcclellard和她们的同事洞悉到网络信息解决的重要性,并致力于研究并行分布信息解决措施,摸索人类认知的微构造,于1985年发展了BP网络的学习算法。从而给人工神经网络增添了活力,使其得以全面迅速地恢复发展起来。BP网络是一种多层前馈神经网络,其神经元的鼓励函数为S型函数,因此输出量为0到1之间的持续量,它可以实现从输入到输出的任意的非线性映射。由于其权值的调节是运用实际输出与盼望输出之差,对网络的各层连接权由后向前逐级进行校正的计算措施,故而称为反向传播(Back-Propogation)学习算法,简称为BP算法。BP算法重要是运用输入、输出样本集进行相应训练,使网络达到给定的输入输出映射函数关系。算法常分为两个阶段:第一阶段(正向计算过程)由样本选用信息从输入层经隐含层逐级计算各单元的输出值;第二阶段(误差反向传播过程)由输出层计算误差并逐级向前算出隐含层各单元的误差,并以此修正前一层权值。BP网络重要用于函数逼近、模式辨认、分类以及数据压缩等方面。一、BP网络的网络构造P oW11 oB1RQS1RS11a2a1f11 ow2S2S1b2S1qf2S2q隐含层输出层BP网络一般至少有一种隐含层,如图4.1所示的是一种具有R个输入和一种隐含层的神经网络模型。图4.1 具有一种隐含层的BP网络构造感知器与线性神经元的重要差别在于鼓励函数上:前者是二值型的,而后者是线性的。BP网络除了在多层网络上与已简介过的模型有不同外,其重要差别也表目前鼓励函数上。图4.2所示的两种S型鼓励函数的图形,可以看到f( )是持续可微的单调递增函数,这种鼓励函数的输出特性比较软,其输出状态的取值范畴为0,1或者-1,+1,其硬度可以由参数来调节。函数的输入输出关系体现式如下所示:双极型的S型鼓励函数:, f(net)(-1,1)单极型的S型鼓励函数:, f(net)(0,1)图4.2 sigmoid型函数图形对于多层网络,这种鼓励函数所划分的区域不再是线性划分,而是由一种非线性的超平面构成的区域。由于S型函数具有非线性的大系数功能。它可以把输入从负无穷到正无穷大的信号变换成1到1之间输出,因此采用S型函数可以实现从输入到输出的非线性映射。二、BP网络学习规则BP网络最为核心的部分便是网络的学习规则。用BP算法训练网络时有两种方式:一种是每输入同样本修改一次权值;另一种是批解决方式,虽然构成一种训练周期的所有样本都依次输入后计算总的平均误差。这里我们重要探讨的是后一种方式。下面我们给出两层网络构造示意简图4.3,并以此探讨BP算法。BP网络的学习过程重要由如下四部分构成: 1)输入样本顺传播 输入样本传播也就是样本由输入层经中间层向输出层传播计算。这一过程重要是输入样本求出它所相应的实际输出。 隐含层中第i个神经元的输出为 (4.1) 输出层中第k个神经元的输出为: (4.2)其中f1(), f2 ()分别为隐含层的鼓励函数。2)输出误差逆传播在第一步的样本顺传播计算中我们得到了网络的实际输出值,当这些实际的输出值与盼望输出值不同样时,或者说其误差不小于所限定的数值时,就要对网络进行校正。一方面,定义误差函数E(w,b)= (4.3)另一方面,给出权值的变化 输出层的权值变化从第i个输入到第k个输出的权值为: (4.4)其中: (4.5) (4.6) 隐含层的权值变化从第j个输入到第i个输出的权值为: (为学习系数) (4.7)其中: (4.8) (4.9)由此可以看出:调节是与误差成正比,即误差越大调节的幅度就越大。调节量与输入值大小成比例,在这次学习过程中就显得越活跃,因此与其相连的权值的调节幅度就应当越大,调节是与学习系数成正比。一般学习系数在0.10.8之间,为使整个学习过程加快,又不会引起振荡,可采用变学习率的措施,即在学习初期取较大的学习系数随着学习过程的进行逐渐减小其值。最后,将输出误差由输出层经中间层传向输入层,逐级进行校正。3)循环记忆训练为使网络的输出误差尽量的小,对于BP网络输入的每一组训练样本,一般要通过数百次甚至上万次的反复循环记忆训练,才干使网络记住这同样本模式。这种循环记忆训练事实上就是反复反复上面简介的输入模式正向传播和输出误差逆传播过程。4)学习结束的检查当每次循环记忆结束后,都要进行学习与否结束的检查。检查的目的重要是检查输出误差与否已经符合规定。如果小到了容许的限度,就可以结束整个学习过程,否则还要进行循环训练。三、BP网络的训练对BP网络进行训练时,一方面要提供一组训练样本,其中每个样本由输入样本和输出对构成。当网络的所有实际输出与其抱负输出一致时,表白训练结束。否则,通过修正权值,使网络的实际输出与抱负输出一致。事实上针对不同具体状况,BP网络的训练有相应的学习规则,即不同的最优化算法,沿减少抱负输出与实际输出之间误差的原则,实现BP网络的函数逼近、向量分类和模式辨认。以图4.3为例来阐明BP网络训练的重要过程。图4.3 含一种隐含层的BP网络构造一方面:网络初始化,构造合理的网络构造(这里我们采用图4.3的网络构造),取可调参数(权和阀值)为-1,1上服从均匀分布随机数,并取定盼望误差、最大循环次数和修正权值的学习率的初始值。另一方面,运用相应的BP网络学习规则对网络进行训练,求得权值修正后的误差平方和。最后,检查网络误差平方和与否减少到盼望误差之下,若是,训练结束,否则继续。四、重要BP神经网络函数的使用措施函数initff( )和simuff可以用来初始化和仿真不超过三层的前馈型网络。函数trainbp( )、trainbpx( )、trainlm( )可用来训练BP网络。其中trainlm( )的训练速度最快,但它需要更大的存储空间,也就是说它是以空间换取了时间;trainbpx( )的训练速度次之;trainlm( )最慢。1初始化函数initff( )函数initff( )的重要功能就是对至多三层的BP网络初始化。其使用格式有多种,现列如下:w,b=initff(p, s, f)w1, b1, w2, b2=initff(p, s1, f1, s2, f2)w1, b1, w2, b2, w3, b3=initff(p, s1, f1, f2, s3, f3)w, b=initff(p, s, t)w1,b1,w2,b2=initff(p, s1, f1, s2, t)w1, b1, w2, b2, w3, b3=initff(p, s1, f1, s2, f2, s3, t)w, b=initff(p, s, f)可得到s个神经元的单层神经网络的权值和阀值,其中p为输入向量,f为神经元的鼓励函数。BP网络有一种特点很重要,即p中的每一行中必须涉及网络盼望输入的最大值和最小值,这样才干合理地初始化权值和阀值。2仿真函数simuff( )BP网络是由一系列网络层构成,每一层都从前一层得到输入数据,函数simuff( )可仿真至多三层前馈型网络。对于不同的网络层数,其使用格式为:a=simuff(p, w1, b1, f1)a=simuff(p, w1, b1, f1, w2, b2, f2)a=simuff(p, w1, b1, f1, w2, b2, f2, w3, b3, f3)以上三式分别为单层、双层和三层网络构造的仿真输出。3训练函数有关前面所提到的几种BP网络训练函数,在这里只简介其中之一:trainbp( )。函数trainbp( )运用BP算法训练前馈型网络。trainbp( )函数可以训练单层、双层和三层的前馈型网络,其调用格式分别为:w, b, te, tr=trainbp(w, b, f,p, t, tp)w1, b1, w2, b2, te, tr=trainbp(w1,b1, f1,w2, b2, f2,p, t, tp)w1,b1,w2,b2,w3,b3,te,tr=trainbp(w1, b1, f1,w2, b2, f2,w3, b3, f3,p, t, tp)可选训练参数tp内的四个参数依次为:tp(1)指定两次显示间的训练次数,其缺省值25;tp(2)指定训练的最大次数,其缺省值100;tp(3)指定误差平方和指标,其缺省值0.02;tp(4)指定学习速率,其缺省值0.01;只有网络误差平方和减少到盼望误差之下,或者达到了最大训练次数,网络才停止学习。学习速率指定了权值与阀值的更新比例,较小学习速率会导致学习时间较长,但可提高网络权值收敛效果。五、BP网络的应用举例BP网络的函数逼近举例:设计一种BP网络,其隐含层神经元的鼓励函数为双曲正切函数,输出层神经元的鼓励函数为线性函数,学习样本为21组单输入矢量,抱负输出为相应的单输出矢量。输入矢量为:p=-1:0.1:1;抱负输出矢量为:t=-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201;输入输出的函数关系曲线:plot(p,t)xlabel(Input)ylabel(Output)图4.4 输入输出关系运用输入和抱负输出进行BP神经网络初始化:w1,b1,w2,b2=initff(p,5,tansig,t,purelin)运用函数trainbp对构造的BP网络进行训练:df=10me=8000eg=0.02lr=0.01tp=df me eg lrw1,b1,w2,b2,ep,tr=trainbp(w1,b1,tansig,w2,b2,purelin,p,t,tp)其中df指定两次显示间的训练次数,其缺省值25;me指定训练的最大次数,其缺省值100;eg指定误差平方和指标,其缺省值0.02;lr指定学习速率,其缺省值0.01;训练成果与抱负输出对比分析:图4.5 训练成果与抱负输出对比分析网络的训练过程中,网络收敛效果一定限度上要受网络初始化的初始值的影响,实际输出和抱负输出的误差的变化状况可以反映网络学习的效果,这一点可以通过如图4.6反映:ploterr(tr, eg)其中tr为网络学习的循环次数。图4.6 误差曲线第五节 径向基函数网络我们前面所学习的多层前馈型网络模型对于每个输入输出数据对,网络的每一种权值均需要调节,这样的神经网络称之为全局逼近神经网络。全局逼近神经网络学习速度很慢,这对于控制来说常常是不可忽视的。下面我们将简介一种新的网络:径向基函数(Radial basis Fanction简记为RBF)网络。径向基函数网络属于局部逼近网络,所谓局部逼近网络就是对于每个输入输出数据对,只有少量的权值需要进行调节,也正是基于这一点才使得局部逼近网络具有学习速度快的长处。此外,BP网络用于函数逼近时,权值的调节是同梯度下降法,存在局部极小和收敛速度慢等缺陷。而RBF网络在逼近能力、分类能力和学习速度等方面均优于BP网络。一、径向基函数神经网络构造如图5.1所示为径向基函数神经网络构造图。径向基函数网络输出单元是线性求和单元,因此输出是各隐单元输出的加权和。隐单元的作用函数用径向基函数,输入到隐单元间的权值固定为1,只有隐单元到输出单元的权值可调。输入层隐含层输出层pjSiwkiak图5.1 RBF网络构造图二、径向基函数的学习算法径向基函数网络的学习算法常用的有两种:一种是无导师学习,另一种便是有导师学习。这里我们只简介无导师学习。无导师学习也称非监督学习,地所有样本的输入进行聚类,求得各隐层节点的RBF的中心Ci。具体的算法环节如下:1给定各隐节点的初始中心Ci( );2计算距离(欧氏距离)并求出最小距离的节点;di (t) = p (t) Ci(t1), 1imdmin(t)=mindi(t)=dr(t) (5.1)式中,Ci第i个隐节点的中心, i=1,2,m; 一般为欧氏范数。3调节中心Ci(t)=Ci(t1), 1im, irCr(t)=Ci(t1)+(p(t)-Cr(t1)式中,学习速率,01。4计算节点r的距离dr(t)=p(t)-Cr(t) (5.3)三、重要径向基函数的函数使用措施径向基函数网络的仿真是用函数simurb( )来实现的,传递函数是radbas( ),而它的训练可以用两个函数来实现,solverb或solverbe。1仿真函数simurb ( )径向基函数网络只有一种隐含层,隐含层单元采用径向基函数作为其输出特性,输入层到输出层之间的权值均固定为1,输出节点为线性求和单元,隐含层到输出层节点之间的权值可以调节。径向基函数网络能在有限步内以任意精度拟合函数,并且训练时间比较短。仿真函数simurb( )可得网络层的输出a=simurb(p,w1,b1,w2,b2)式中,p为输入矢量,w1,b1为径向基神经元层的权值和阀值,w2,b2为线性神经元的权值和阀值。2径向基传递函数rodbas( )径向基传递函数用于径向基网络中,其使用方式多种:radbas(n)radbas(z,b)其中radbas(n)函数可对网络输入矩阵n中的所有元素犹如径向基函数。radbas(z,b)函数提供成批解决矢量,并且提供阀值的状况,这时阀值b与加权输入矩阵z是分开的,阀值b乘以z 中的每个矢量,以形成网络的输入矢量,然后运用径向基函数网络输入转换成输出。对于径向基函数的训练可用两个函数来实现。目前我们简介如下:1)solverb ( )径向基函数网络能较好地拟合任意有限值函数,并且可以通过迅速的设计来取代漫长的训练。运用solverb ( )函数可得到径向基函数隐层的权值w1和阀值b1,还得到了线性输出层的权值w2和阀值b2。w1, b1, w2, b2=solverb(p, t, tp)其中设计参数tp批示如何进行训练。tp(1)指定更新显示之间的迭代次数,其缺省值25;tp(2)指定最多的神经元数,其缺省值100;tp(3)误差平方和门限,缺省值为0.02;tp(4)指定径向基层的宽度,缺省值1.0。2)函数solverbe( )函数solverbe( )的订功能是精确径向基函数求解。运用solverbe( )也可得到径向基网络隐层的权值w1和阀值b1,以及线性输出层的权值w2和阀值b2。其调用格式如下w1, b1, w2, b2=solverbe(p, t, sc)式中的可逆变量sc为径向基函数的宽度,即从函数值为1到其值为0.5之间的距离,其缺省值为1。第六节 反馈网络 按照人工神经元网络运营过程中信息的流向分类。既有网络可分为前馈型和反馈型以及它们的结合。从计算的观点看,前馈型神经元网络大部分是学习网络而不具有的力学行为。在反馈式神经网络中,所有单元都是同样的,它们之间可以互相连接,因此反馈式神经网络可以用一种无向完备图来表达。从系统的观点看,反馈网络是一种非线性动力学系统。它必然具有一般非线性动力学系统的许多性质,如网络系统具有若干个稳定状态,当网络从某一初始状态开始运动,网络系统总可以收敛到某一种稳定的平衡状态;尚有系统稳定的平衡状态可以通过设计网络的权值而被存储到网络中。在某些状况下,尚有随机性和不可预测性等,因此,比前馈网络的内容要广阔和丰富得多。 反馈式的单层网络有多种,本节重要讨论的是美国加洲工学院物理学家J.Hopfield于1982年提出的一种网络,称为Hopfield网络。这种网络分为离散和持续型两种。Hopfield是从物理学磁场理论中受到启发,结合生物神经网络的思维机理而提出的这一网络模型的。并且引用了物理学中有关能量的概念。 Hopfield将“能量函数”的概念引入到对称Hopfield网络的研究中,给出了网络的稳定性判据,并用来进行约束优先问题(如旅行商(简称TSP)问题)的求解,实现A/D转换等。此外,Hopfield网络与电子模拟线路之间存在着明显的相应关系,使得该网络易于理解且便于实现。一、Hopfield网络的构造与算法由于Hopfield网络模型是从物理学磁场理论受到启发而提出的,因此我们可以模拟磁场的构造画出图6.1所示的有四个神经元的Hopfield网络模型。 Hopfield网络中的各个神经元是彼此连接的,即每个神经元都将自己的输出通过连接权传送给其他神经元,同步每个神经元又都接受其他神经元传来的信息对于离散型Hopfield网络中每个神经元的输出只能取“1”或“0”(或“1”)两种状态。图6.1 Hopfield网络模型对于有几种神经元的网络构造,其各个神经元的状态,可用向量P表达p=p1, p2, , pn 这里p取pi=1或0 (i=1,2,n) 对于Hopfield网络已有定理证明,当网络满足如下两个条件时,Hopfield学习算法总是收敛的。 网络的连接权矩阵元自连接且具有对称性,即wii=0 (i=1,2,n)wij=wji (i,j=1,2,n) 这一假设条件虽然与生物神经网络的实际状况不相符合(生物神经元之间连接强度不对称),但是却与磁场中各磁旋的互相作用状况相一致。 网络中各神经元以同步或异步方式,根据运营规则变化其状态,即各神经元按随机选用方式,根据运营规则变化状态,且当某个神经元变化状态时,其他所有神经元保持原状态不变。这一点符合生物神经网络的状况。二、Hopfield网络运营规则 Hopfield网络运营规则中的神经元模型与前面讲过的神经元基本是相似的,如图6.2所示。设Hopfield网络由S个这样的神经元构成。时刻t第i个神经元的输出为 ai(t+1)=sign(Hi) 6.1 Hi=wij aj(t)-bi 6.2式中sign(x)为符号函数 7.3P1P2PRoooi biwi1wi2wiRai图6.2 Hopfield网络神经元构造简图式6.1表白,当所有其他神经元输出的加权总和超过第i神经元的阀值时,此神经元将处在兴奋状态,否则将处在克制状态。这里应特别注意的是,按式6.1变化状态的神经元ai,并不是按顺序进行的,而是按随机的方式选用的。下面将Hopfield工作运营规则总结如下: 从网络中随机选用一种神经元pi; 按式6.2求所选中的神经元ai的所有输入的加权总和: 按式6.1计算pi的第t+1时刻的输出值,即:如果Hi(t)不不不小于零,那么ai(t+1)=1;否则置ai(t+1)=0。 ai以外的所有神经元输出保持不变。aj(t+1)=aj(t) j=1,2,n且ji 返回。直至网络进入稳定状态,此外值得一提的是,反馈网络的具有一种重要特点具有稳定状态,也称为吸引子。三、重要的反馈网络函数 在MATLAB神经网络工具箱中对Hopfield网络的设计和仿真分别提供了函数solvehop( )和函数simuhop( )。 1设计函数solvehop( ) Hopfield网络神经元的输出通过权值矩阵反馈到神经元的输入,从任何初始输出向量开始,网络不断更新,直至达到稳定的输出向量。Hopfield网络的设计涉及权值及对称饱和线性层的阀值,以便使目的向量成为网络的稳定输出向量。调用格式为:w,b=solverhop(t) 通过对solverhop( )函数的调用可迅速得到一种权值矩阵和阀值向量。2仿真函数simuhop( )调用仿真函数simuhop( )又同步得到最后的输出矢量和仿真过程中产生的所有输入向量矩阵X,即a,x=simuhop(a,w,b,t)上式中输入变量a为初始输出向量w为权值矩阵,b为阀值向量,t为步数。四、反馈网络应用举例下面给出一种具有两个神经元的Hopfield网络实例:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!