计算智能与深度学习 课件 2神经网络-2感知器_第1页
计算智能与深度学习 课件 2神经网络-2感知器_第2页
计算智能与深度学习 课件 2神经网络-2感知器_第3页
计算智能与深度学习 课件 2神经网络-2感知器_第4页
计算智能与深度学习 课件 2神经网络-2感知器_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第4章感知器(Perceptron)1感知器是由美国计算机科学家罗森布拉特(F.Rosenblatt)于1957年提出的。单层感知器神经元模型图:图4.1感知器神经元模型2到第1个神经元的权值3F.Rosenblatt已经证明,如果两类模式是线性可分的(指存在一个超平面将它们分开),则算法一定收敛。用监督学习(supervisedlearning)的方法建立模式识别的能力感知器特别适用于简单的模式分类问题,也可用于基于模式分类的学习控制中。本节中所说的感知器是指单层的感知器。多层网络因为要用到后面将要介绍的反向传播法进行权值修正,所以把它们均归类为反向传播网络之中。44.1感知器的网络结构根据网络结构,可以写出第i个输出神经元(i=1,2,…,s)的加权输入和ni及其输出ai为:ni5感知器的输出值是通过测试加权输入和值落在阈值函数的左右来进行分类的,即有:阈值激活函数如图4.3所示。64.2感知器的图形解释由感知器的网络结构,我们可以看出感知器的基本功能是将输入矢量转化成0或1的输出。这一功能可以通过在输人矢量空间里的作图来加以解释。感知器权值参数的设计目的,就是根据学习法则设计一条W*P+b=0的轨迹,使其对输入矢量能够达到期望位置的划分。7

以输入矢量r=2(2维)为例,对于选定的权值w1、w2和b,可以在以p1和p2分别作为横、纵坐标的输入平面内画出W*P+b=w1p1十w2p2十b=0的轨迹,它是一条直线此直线上的及其线以上部分的所有p1、p2值均使w1p1十w2p2十b>=0,这些点若通过由w1、w2和b构成的感知器则使其输出为1;该直线以下部分的点则使感知器的输出为0。

所以当采用感知器对不同的输入矢量进行期望输出为0或1的分类时,其问题可转化为:对于已知输入矢量在输入空间形成的不同点的位置,设计感知器的权值W和b,将由W*P+b=0的直线放置在适当的位置上使输入矢量按期望输出值进行上下分类。8图4.4输入矢量平面图(此图横坐标有问题)+-94.3感知器的学习规则学习规则是用来计算新的权值矩阵W及新的偏差B的算法。感知器利用其学习规则来调整网络的权值,以便使该网络对输人矢量的响应达到数值为0或1的目标输出。输入矢量P,输出矢量A,目标矢量为T的感知器网络,其学习规则为:10如果第i个神经元的输出是正确的,即有:ai=ti,那么与第i个神经元联接的权值wij和偏差值bi保持不变;如果第i个神经元的输出是0,但期望输出为1,即有ai=0,而ti=1,此时权值修正算法为:新的权值wij为旧的权值wij加上输人矢量pj;类似的,新的偏差bi为旧偏差bi加上它的输入1;如果第i个神经元的输出为1,但期望输出为0,即有ai=1,而ti=0,此时权值修正算法为:新的权值wij等于旧的权值wij减去输入矢量pj;类似的,新的偏差bi为旧偏差bi减去1。感知器学习规则的实质为:权值的变化量等于正负输入矢量。11

对于所有的i和j,i=l,2,…,s(神经元数);j=1,2,…,r(输入向量维),感知器修正权值公式为:上述用来修正感知器权值的学习算法在MATLAB神经网络工具箱中已编成了子程序,成为一个名为1earnp.m的函数。只要直接调用此函数,即可立即获得权值的修正量。此函数所需要的输人变量为:输入矢量P、输出矢量A和目标矢量T。调用命令为:[dW,dB]=learnp(P,A,T);(4-5)124.4网络的训练感知器的训练过程如下: 在输入矢量P的作用下,计算网络的实际输出A,并与相应的目标矢量T进行比较,检查A是否等于T,然后用比较后的误差量,根据学习规则进行权值和偏差的调整; 重新计算网络在新权值作用下的输入,重复权值调整过程,直到网络的输出A等于目标矢量T或训练次数达到事先设置的最大值时训练结束。13感知器设计训练的步骤可总结如下:1)对于所要解决的问题,确定输入矢量P,目标矢量T,并由此确定各矢量的维数以及确定网络结构大小的神经元数目:r,s和q(q-样本分量的维度);2)参数初始化:

a)赋给权矢量w在(-l,1)的随机非零初始值;

b)给出最大训练循环次数max_epoch;3)网络表达式:根据输人矢量P以及最新权矢量W,计算网络输出矢量A;4)检查:检查输出矢量A与目标矢量T是否相同,如果是,或已达最大循环次数,训练结束,否则转入5);5)学习:根据式(4.5)给出的感知器学习规则,调整权矢量,并返回3)。144.5感知器神经网络应用的局限性

首先,感知器的输出只能取0或1。其次,单层感知器只能对线性可分的向量集合进行分类。154.6感知器神经网络设计实例

[例4.1]考虑一个简单的分类问题。设计一个感知器,将二维的四组输入矢量分成两类。输入矢量为:P=[-0.5-0.50.30;

-0.50.5-0.51];目标矢量为:T=[1l00],16代数求解法b=w317当采用感知器神经网络来对此题进行求解时,网络结构图如图所示。

由此可见,对于单层网络,网络的输入神经元数r和输出神经元数s分别由输入矢量P和目标矢量T唯一确定。网络的权矩阵的维数为:Ws×r,Bs×1权值总数为s×r个,偏差个数为s个。在确定了网络结构并设置了最大循环次数和赋予权值初始值后,设计者可方便地利用MATLAB,根据题意以及感知器的学习、训练过程来编写自己的程序。18Examples:Thiscodecreatesaperceptronlayerwithone2-elementinput(ranges[01]and[-22])andoneneuron.(Supplyingonlytwoargumentstonewp

resultsinthedefaultperceptronlearningfunctionLEARNPbeingused.)

net=newp([01;-22],1);

19Nowwedefineaproblem,anORgate,withasetoffour2-elementinputvectorsPandthecorrespondingfour1-elementtargetsT.

P=[0011;0101];

T=[0111];

20Herewesimulatethenetwork‘soutput,trainforamaximumof20epochs,andthensimulateitagain.Y=sim(net,P)

net.trainParam.epochs=20;

net=train(net,P,T);

Y=sim(net,P)%Y是网络的实际输出Notes:Perceptronscanclassifylinearlyseparableclassesinafiniteamountoftime.Ifinputvectorshavealargevarianceintheirlengths,theLEARNPNcanbefasterthanLEARNP.214.7作业1.熟悉net的属性及与感知器相关的函数。2设P=[-1,1,-1,1,-1,1,-1,1; -1,-1,1,1,-1,-1,1,1; -1,-1,-1,-1,1,1,1,1] T=[0,1,0,0,1,1,0,1]

请画出感知器网络结构图,并编写MATLAB程序解该分类问题。

如T=[0,0,0,0,1,1,1,1;

0,0,0,0,1,1,1,1]

请画出感知器网络结构图,并编写MATLAB程序解该分类问题。

22一个例子pr=[02;-22];net=newp(pr,1,‘’,‘’);%只有1个神经元,后面两个参数表示默认传递函数为hardlims,学习函数learnp%net=newp(pr,1,‘hardlims’,‘learnpn’);则不用传递函数、学习函数net.trainParam.epochs=10;net=train(net,P,T)23P=[-0.5-0.60.7;0.800.1];T=[110];net=newp([-11;-11],1);handle=plotpc(net.iw{1},net.b{1});net.trainParam.epochs=10;net=train(net,P,T);Q=[0.60.9-0.1;-0.1-0.

温馨提示

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

评论

0/150

提交评论