感知器神经网络_第1页
感知器神经网络_第2页
感知器神经网络_第3页
感知器神经网络_第4页
感知器神经网络_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

人工神经网络及应用,主讲何东健,第三章感知器神经网络,如第2章所述,生物神经元对信息的传递与处理是通过各神经元之间的兴奋或抑制作用来实现的。根据这一事实,美国学者F.Rosenblatt于1958年在M-P模型和Hebb学习规则的基础上提出了具有自学习能力的感知机(perceptron)模型。感知机模型结构如图3.1所示。,第三章感知机,感知机模型由感知层S(Sensory)、连接层A(Assocation)、反应层R(Response)三层构成。S层如同眼睛内的视网膜细胞,对应图形的黑、白圆点由0、1信号组成输入模式;S层至A层的连接权固定为1,输入信号由感知层S传递到连接层A的过程中始终保持不变;连接层A至反应层R的连接权,预先随机确定为-l,+1区间内的任意值,并根据学习规则在信号,连接权固定为1,连接权可调,的传递过程中不断调整,从而使网络具有自学习功能。A层至R层的输出由M-P模型算法决定。原始感知机模型只有一个输出节点,它相当于单个神经元。网络学习目的是对输入模式(如图所示的图象)进行正确的分类,即通过对模式样本的学习,能够对输入模式进行“0”、“1”分类。,3.1单层感知机感知器研究中,首次提出自组织、自学习思想,从数学上证明了收敛算法。感知器特别适用于简单的模式分类问题,当它用于两类模式分类时,相当于在高维样本空间中,用一个超平面将两类样本分开。但感知器的学习能力有很大的局限性。从结构上讲,感知器是研究其他网络的基础,较易学习理解。3.1感知机模型感知机是人们为了研究大脑的存贮、学习和认识过程而提出的一种神经网络模型。,单层感知机是只有一层处理单元的感知器,如果包括输入层,则为2层,分为输入层和输出层,每层可由多个处理单元构成,如图。输入层单元接收外部输入模式,并传递给相连的输出层单元,本身无信息处理能力,每个节点接收一个输入信号,n个输入信号构成输入列向量X,也称为感知层;,输出层也称为处理层,有m个单元,每个节点均有信息处理能力,m个节点对外输出处理信息,构成输出列向量O。两层之间的连接权值W表示。X=(x1,x2,.xi.xn)TO=(o1,o2,.ojom)TWj=(w1j,w2jwijwnj)净输入为:感知器采用符号变换函数,节点Oj的输出,3.1.2感知器的功能最简单的感知机相当于一个M-P模式神经元。又称为符号单元,Oj可表示为:(1)二个输入分量输入样本为二维平面上的点。确定的平面成为二维输入样本空间上的一个分界平面。平面上方的样本用表示,它们使netj0,从而使输出为1;平面下方的样本用表示,它们使netj0,从而使输出为1;平面下方的样本用表示,它们使netj0,从而使输出为1。,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,(3)输入为n,n个输入在几何上构成一个n维空间.由方程:可以定义一个超平面,该平面可以将输入样本分为2类。总结:简单单节点感知器具有分类功能分类原理:将分类知识存储于权向量,由权向量决定判决界面实现分类。,感知器实现逻辑“与”,真值表:x1x2y000010100111从真值表中可以看出,4个样本的输出有两种情况,一种使输出为0,另一种使输出为1,因此属于分类问题。用感知器学习规则进行训练,得到的连接权值标在图中。令净输入为零,可得到分类判决方程为:,该方程确定的直线将输出为1的样本点和输出为O的样本正确分开了。从图中还可以看出,该直线并不是唯一解。同样,可以用感知器实现逻辑“或”功能。,x1x2y000011101111,感知器的局限性:异或问题x1x2y000011101110任何直线都不可能将其分开。什么是线性可分?两类样本可用直线、平面、超平面分开。否则为线性不可分。显然:感知器只能解决线性可分问题。,3.1.4感知器的学习算法采用感知器学习规则。考虑到训练过程是感知器权值随每一步调整改变的过程,为此用t表示学习步的序号,权值看作t的函数。t=0对应于学习开始前的初始状态,此时对应的权值为初始化值。训练可按如下步骤进行:(1)对各权值赋予较小的非零随机数;(2)输入样本对为期望的输出信号(教师信号),p表示样本对的模式序号,p=1,2,P,反复以上步骤,直到所有样本的实际输出与期望输出相等。已经证明,如果输入样本线性可分,无论感知器的初始权向量如何取值,经过有限次调整后,总能够稳定到一个权向量,该权向量确定的超平面能将两类样本正确分开。注意:能将样本正确分类的权向量并不是唯一的,一般初始权向量不同,训练过程和所得到的结果也不同,但都能满足误差为0的要求。,深入理解模式样本对!2类水果,用4个特征分类,样本有100个。样本号重量直径颜色圆形度教师信号80750.20.951(苹果)65600.50.50(梨子)75650.220.971(苹果).100问题:P51,Xp(1,x1p.为什么会有“1”?,3.2多层感知器单计算层感知器只能解决线性可分问题,而大量问题是线性不可分的。解决办法:在输入层和输出层单元之间加入一层或多层(隐含层)处理单元,即可构成多层感知机,其中,新加入的各层单元称为隐单元。单层感知器多层感知器。,x1,x2,xn,y1,yn,输出层,隐层,权可调,输入层,一个三层感知机,权固定,多层感知机由输入层、隐层、输出层构成。隐单元的作用相当于特征检测器,提取输入模式中包含的有效特征信息,使输出单元所处理的模式是线性可分的。应注意:多层感知机模型只允许一层连接权值可调,因为无法给出一个有效的多层感知机的学习算法。图是一个三层感知机模型,有两层连接权。输入层与隐层之间的权值是固定值,不可调节;输出层与隐层单元之间的连接权值是可以调节的。,感知机的学习是典型的有导师学习,可以通过训练达到学习目的。训练要素有两个:训练集和训练规则。训练集是由若干个输入-输出模式对构成的一个集合,所谓输入-输出模式对是指一个输入模式及其期望输出模式所组成的向量对。,一个训练集,学习样本集示例,在训练期间,不断用训练集中的每个模式对训练进行网络。当给定某一训练模式时,感知机输出单元会输出一个实际输出向量,用期望输出与实际输出之差来修正网络连接权值。权值的更新采用最简单的学习规则,那么,感知机学习算法为:Wji(t+1)=Wji(t)+djoj(t)xi(t)j=1,2,m,x1,x2,x3,o1,o2,w11,w12,w32,w31,w22,w21,目标d1,d2,t=3时:W21(4)=W21(3)+d2o2(3)x1(3)W13(4)=W13(3)+d1o1(3)x3(3),b2,b1,一般,不画出b1、b2,i,j,bj(t+1)=bj(t)+(djoj(t)式中:为学习因子,用于控制每次误差修正量,取值在(0,1区间;期望输出与实际输出之差为:,权值变化与三个量有关:输入状态xi、输出误差i及学习因子。当且仅当输出单元j有输出误差,且相连输入状态xi为1时,修正权值增加或减小一个量。每次权值修正量由学习因子确定。的取值一般不能太大,也不能太小。值太大会影响权值W的收敛性;而太小又会使权值W的收敛速度太慢。通常感知机学习可以采用两种方式,即在线学习和批学习。,(1)在线学习对训练集内每个模式对逐一更新网络权值的一种学习方式,相当于“单兵操练”。特点:需要较少的存贮单元,但有时会增加网络的整体输出误差。因此,在线学习时一般使学习因子足够小,以保证用训练集内每个模式训练一次后,权值的总体变化充分接近于最速下降。(2)批学习是用训练集内所有模式依次训练网络,累加各权值修正量并统一修正网络权值的一种学习方式,它使权值下降沿最速下降方向进行。特点是需要较多的存贮单元,但学习快。应用中当训练样本很多时,可将训练模式分成若干组,采用分组批学习方式。,(3)分组批学习方式如有训练模式样本90个,可以分成3组,每组30个。每30个训练模式样本输入后,修改一次权值,90个样本,一次训练共需修改3次权值。训练误差如果要使神经网络的输出和目标输出完全一致而没有任何误差,是难以做到的,有时需训练次数增加很多。因此,一般均预先设置一个期望误差,当实际误差小于期望误差时,便可认为网络训练好了。,综合误差的定义:(1)平均平方(RMS)误差式中:P为样本模式对的个数,Q为输出单元的个数。,(2)误差平方和把所有实际输出与希望输出的误差平方和作为检验网络收敛的误差标准。式中:Ep为一对样本模式的所有输出单元的误差平方和,E为所有样本模式对的误差平方和,也就是检验网络收敛的误差标准。Q为输出单元个数;P为样本模式对数。,根据权向量分布,可以构造一个多维权空间,其中,每个权对应一个轴,另一个轴表示学习过程的误差度量。由于每个权向量都会有一定的输出误差,由权空间的某点的“高度”表示。学习过程所有这些点形成的一个空间表面成为误差表面。线性输出单元的感知器,其误差表面呈一碗形,其水平截面为椭圆,垂直截面为抛物线。显然,该碗形表面只有一个极小点,沿误差表面按梯度下降法就能达到该点。,感知器的学习过程又称为最小方差学习过程,几何解释如下图。,误差表面示意图,W1,W2,E,感知器收敛定理:【定理1】如果样本输入函数是线性可分的,那么感知器学习算法经过有限次迭代后可以收敛到正确的权值或权向量。【定理2】假定隐层单元可以根据需要自由设置,那么用双隐层感知器可以实现任意的二值逻辑函数。,l3,x1,0,0,1,0,1,1,0,1,l1,l2,l4,输入模式在二维样本空间的分布,感知器模型只能对线性可分输入模式进行分类,这是它的重要功能局限。异或问题的解决办法。,增加隐层解决异或问题,找到方法了!,输入层至中间层的连接权问题在介绍三层感知机模型网络时曾明确指出,只有中间层至输出层的连接权能够在学习过程按一定规则进行修正,而输入层至中间层的连接权在整个学习过程中是固定不变的。在上例中,初始时就将各个连接权的正确方案设定下来,所以能够得出正确的分类结果,但在实际问题中往往不可能不经过学习而事先完全确定正确的连接权值。一旦输出存在误差时如何判断是哪一个连接权的过错,并按什么规则对其进行调整,这些都还是没有解决的问题。,可以证明:只要隐层单元数足够多,用多层感知器网络可以实现任何模式分类。但是隐单元的状态不受外界直接控制,给学习带来极大困难。80年代研究表明,多层网络是可以学习和训练的,如误差后向传播(BP)算法,波尔茨曼机学习算法等。,隐层中的每个节点确定了一条分界直线,多条直线经输出节点组合后,就会形成各种形状的突域,可将线性不可分分为:域内、域外。多隐层时,每个隐层节点形成一个突域,突域组合又可提高分类能力。,增加隐层可以解决线性不可分问题。但学习规则对隐含层不适用。虽然感知机只能对线性输入模式进行正确分类,但它作为人工神经网络的初期模型,特别是其反映出的自学习、自组织思想,对整个人工神经网络理论的研究和发展产生了深远的影响。,3.3感知器网络设计一、MATLAB中感知器的工具函数MATLAB提供了许多进行神经网络设计和分析的工具函数,为我们带来了极大的方便。下面给出与感知器相关的神经网络重要工具函数,有关这些函数的使用,可以通过Help命令得到。,表3.3感知器网络的重要函数,感知器神经网络函数1、newp生成一个感知器神经网络格式:net=newp(PR,S)说明:输入参数为:PRR个输入矢量的最大和最小值的取值范围;S神经元的个数;例:net=newp01;-221);建立2个输入,范围在0,1、-22,只有一个神经元的感知器网络。用:inputweights=net.inputweights1,1biases=net.biases1查看建立网络的情况。,2、sim网络仿真函数格式:a=sim(net,p)说明:输入参数为:net感知器网络;p输入矢量;a输出矢量;例:net=newp(-22;-2+2,1);net.IW1,1=-11;%设置网络初始权值、阈值net.b1=1;p1=1;1;%输入矢量a1=sim(net,p1);%仿真a1p2=1;-1%输入矢量a2=sim(net,p2)%仿真a2,3、init初始化神经网络格式:net=init(net);说明:输入参数为:例:net=newp(-22;-2+2,1);wts=net.IW1,1wtsbias=net.b1biasnet.IW1,1=3,4;%设置权重net.b1=5;%设置阈值net=init(net);%初始化网络,%用随机函数产生权重和阈值net.inputweights1,1.initFcn=rands;net.biases1.initFcn=rands;net=init(net);,4、learnp学习函数格式:dW,LS=learnp(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)db,LS=learnp(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learnp(code)说明:输入参数为:W-SxR权值矩阵(或b,和Sx1阈值矢量).P-RxQ输入矢量(或ones(1,Q).Z-SxQ加权输入矢量.N-SxQ网络输入矢量.A-SxQ输出矢量.T-SxQ目标矢量.E-SxQ误差矢量.gW-SxR性能参数的梯度.,gA-SxQ性能参数的输出梯度.D-SxSneurondistances.LP学习参数,若没有,LP=.LS学习状态,初始值为.返回值:dW-SxR权值阈值变化矩阵.LS新的学习状态.learnp(code)对每一个code代码返回有用的信息:pnames学习参数名.pdefaults默认学习参数.needg如果该函数使用gW或gA,返回值为1.,例:p=rand(2,1);e=rand(3,1);dW=learnp(,p,e,)5、learnpn标准化感知器的权值、阈值学习函数格式:dW,LS=learnpn(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)info=learnpn(code)说明:当输入矢量中有奇异的向量时,产生较快的学习速度。例:p=rand(2,1);e=rand(3,1);dW=learnpn(,p,e,),6、adapt神经网络的自适应格式:net,Y,E,Pf,Af=adapt(net,P,T,Pi,Ai)net一个神经网络.P网络输入.T目标输出,缺省为0.Pi初始输入延迟,缺省为0.Ai-初始的层延迟,缺省为0.返回一个具有适应功能的net.adaptFcn及适应参数net.adaptParam的结果:net修正后的新网络.Y-网络输出.E网络误差.Pf-最终输出延迟.Af最终层延迟。,例:p1=-101011-10-1101;t1=-1-111120-1-1011;net=newlin(-11,1,01,0.5);net,y,e,pf=adapt(net,p1,t1);mse(e)perf=0.3347,误差较大,用另外12个数据调整,用上面的pf作为新的延迟。p2=1-1-111-10001-1-1;t2=20-2020-10010-1;net,y,e,pf=adapt(net,p2,t2,pf);mse(e),再用所有的数据调整网络100次。p3=p1p2;t3=t1t2;net.adaptParam.passes=100;net,y,e=adapt(net,p3,t3);mse(e)结果perf=0.1039,误差较小。,7、train训练一个网络语法:net,tr,Y,E,Pf,Af=train(net,P,T,Pi,Ai,VV,TV)net一个神经网络.P网络的输入.T目标输出,缺省为0.Pi初始输入延迟,缺省为0.Ai-初始的层延迟,缺省为0.VV/TV-给定/测试输入。返回:net修正后的新网络.tr-训练记录(次数、性能)Y网络输出.E网络误差.Pf-最终输出延迟.Af最终层延迟。,例:p=012345678;t=00.840.910.14-0.77-0.96-0.280.660.99;plot(p,t,o)net=newff(08,101,tansigpurelin,trainlm);y1=sim(net,p)plot(p,t,o,p,y1,x)%重新设置迭代次数、目标误差,训练net.trainParam.epochs=50;net.trainParam.goal=0.01;net=train(net

温馨提示

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

评论

0/150

提交评论