欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第 3 章 神经计算基础(3.2 感知器)MATLAB仿真程序设计概要课件.ppt

    • 资源ID:1824744       资源大小:702.50KB        全文页数:39页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第 3 章 神经计算基础(3.2 感知器)MATLAB仿真程序设计概要课件.ppt

    School of Information Science & Technology Dalian Maritime University,3 神经计算基础3.2 感知器(补充材料),1943年,W.McCulloCh和W.Pitts就提出了第一个人工神经元模型,称之为MP模型缺乏与生物神经元类似的学习能力美国学者罗森布拉持(F.Rosenblatt)于1958年提出了感知器(perceptron)神经网络模型提出了一种感知器的训练算法成功应用于模式分类问题解决线性可分的问题时,运算速度快,性能可靠为更好地理解其他复杂的神经网络模型奠定基础,感知器及其MATLAB仿真程序设计,3.1 感知器神经元及感知器神经网络模型3.2 感知器的学习3.3 感知器的局限性3.4 单层感知器神经网络的MATLAB仿真程序设计1 感知器神经网络设计的基本方法2 单层感知器神经网络的设计例程3.5 多层感知器神经网络及其MATLAB仿真 1多层感知器神经网络的设计方法2多层感知器神经网络的设计例程3.6 感知器应用于线性分类问题的进一步讨论,感知器及其MATLAB仿真程序设计,3.1 感知器神经元及感知器神经网络模型,感知器神经元模型:将人工神经元的一般模型中传输函数取为阈值型传输函数,人工神经元的一般模型,图3.1 感知器神经元的一般模型,3.1 感知器神经元及感知器神经网络模型,单层和多层感知器神经网络模型,图3.2 单层感知器神经网络模型,图3.3 多层感知器神经网络模型,3.2 感知器的学习,如何找到合适的权值和阈值?“训练”:不断地调整权值和阈值的调整过程 神经网络的“学习”:训练过程中把输入空间映射到输出空间的能力 学习规则或训练算法:调整权值和阈值的算法 感知器的学习是一种有教师学习方式 学习规则称之为规则,t表示目标输出, a表示实际输出,则 e=t-a (3.1)网络训练的目的就是要使ta当e=0时,得到最优的网络权值和阈值;当e 0时,说明得到的实际输出小于目标输出,应增加网络权值和阈值;当e0时,说明得到的实际输出大于目标输出,应减小网络权值和阈值。一般感知器的传输函数为阈值型函数,网络的输出a只可能为0或1,3.2 感知器的学习,训练样本集 p1, t1,p2, t2,pn, tn (3.2)权值阈值调整算法 W( k+1 ) = W( k ) + epT (3.3) b( k+1 )=b( k ) +e (3.4)式中:e误差向量,e=t-a; W权值向量; b阈值向量; p输入向量; k表示第k步学习过程。,3.2 感知器的学习,输入向量的取值范围很大,一些输入的值太大,而一些输入的值太小解决办法:阈值调整仍然按式(3.4)进行,而权值的调整可以采用归一化算法,即,3.2 感知器的学习,(3.5),(3.6),单层感知器网络只能解决线性可分的分类问题网络的实际输出与期望输出的误差减小到零时完成训练过程训练的结果使网络的训练样本模式分布记忆在权值和阈值中,单层感知器的学习过程,例3.1 试用单个感知器神经元完成下列分类,写出其训练的迭代过程,画出最终的分类示意图。已知:p1=2 2T,t1=0p2=1 -2T,t2=1 p3=-2 2T,t3=0p4=-1 0T,t4=1解:据题意,神经元有两个输入量,传输函数为阈值型函数。于是以图3.4所示感知器神经元完成分类,图3.4 例3.1中的感知器神经元,单层感知器的学习过程,(1)初始化:W(0)=0 0,b(0)=0(2)第一次迭代:a=f (n)=f W(0)p1+b(0)=f (0 02 2T +0)=f (0)=1e=t1-a=0-1=-1因为输出a不等于目标值t1,所以按照相应式调整权值和阈值W(1)=W(0)+ epT = 0 0+(-1)2 2=-2 -2b(1)=b(0)+e=0+(-1)=-1(3)第二次迭代:以第二个输入样本作为输入向量,以调整后的权值和阈值进行计算a=f (n)=f W(1)p2+b(1)=f (-2 -21 -2 +(-1)=f (1)=1e=t2-a=1-1=0,因为输出a等于目标值t2,所以无需调整权值和阈值:W(2)=W(1)=-2 -2b(2)=b(1)=-1(4)第三次迭代:以第三个输入样本作为输入向量,以w(2),b(2)进行计算:a=f (n)=f W(2) p3+b(2)=f (-2 -2-2 -2 +(-1)=f (-1)=0e= t3 -a=0-0=0因为输出a等于目标值t3 ,所以无需调整权值和阈值:W(3)=W(2)=-2 -2b(3)=b(2)=-1,单层感知器的学习过程,(5)第四次迭代:以第四个输入样本作为输入向量,以W(3),b(3)进行计算:a=f (n)=f W(3)p4+b(3)=f (-2 -2-1 0 +(-1)=f (11)=1e=t4-a=1-1=0因为输出a等于目标值t4,所以无需调整权值和阈值:W(4)=W(3)=-2 -2b(4)=b(3)=-1(6)以后各次迭代又从以第一个输入样本开始,作为输入向量,以前一次的权值和阈值进行计算,直到调整后的权值和阈值对所有的输入样本,其输出的误差为零为止。进行第五次迭代:a=f (n)=f W(4)p1+b(4)=f (-2 -22 2 +(-1)=f (-9)=0e=t1-a=0-0=0,单层感知器的学习过程,因为输出a等于目标值t4,所以无需调整权值和阈值:W(5)=W(4)=-2 -2b(5)=b(4)=-1可以看出W=-2 -2,b=-1对所有的输入样本,其输出误差为零,所以为最终调整后的权值和阈值。(7)因为n0时,a=1;n0时,a=0,所以以n=0作为边界, 根据训练后的结果画出分类示意图,如图所示。,单层感知器的学习过程,图3.5 例3.1分类示意图,3.3 感知器的局限性,感知器神经网络的输出值只有两种(0或1,-1或1)单层感知器网络只能用于解决线性可分的分类问题,而对线性不可分的分类问题无能为力感知器学习算法只适于单层感知器网络,3.4 MATLAB仿真程序设计,感知器神经网络设计的基本方法以newp创建感知器神经网络首先根据所要解决的问题,确定输入向量的取值范围和维数、网络层的神经元数目、传输函数和学习函数等;然后用创建函数newp创建网络以train训练创建网络构造训练样本集,确定每个样本的输入向量和目标向量,调用函数train对网络进行训练,根据训练的情况决定是否调整训练参数,以得到满足误差性能指标的神经网络,然后进行存储以sim对训练后的网络进行仿真构造测试样本集,加载训练后的网络,调用函数sim,以测试样本集进行仿真,查验网络的性能,单层感知器神经网络的设计例程,例3.2 设计一单层单输出感知器神经网络,进行二值化图像卡片上数字的奇偶分类解(1)问题分析数字1和0的二值化图像卡片分成5*3的矩形方块,每个小方块有数字的笔画划过记为1,否则记为0图像卡片上所有小方块表达了有0,1二值组成的一个模式(或向量),该模式可以作为感知器神经网络的输入向量,图3.6 图像数字卡片构成模式(向量)示意图,由数字0-9构成的输入向量见表3.1,图像卡片上的数字为奇数时感知器神经网络输出为0图像卡片上的数字为偶数时感知器神经网络输出为1,单层感知器神经网络的设计例程,单层感知器神经网络的设计例程,(2)设计感知器神经网络根据以上分析,按本题要求设计的感知器神经网络的基本结构如下:网络有1个输入向量,输入元素的取值范围为0 1;为单层、单神经元感知器神经网络;输出是一个二值向量0或1,传输函数可以取为logsig函数。设计的感知器神经网络结构示意图如图3.7所示,图3.7 单层感知器神经网络结构示意图,(3)感知器神经网络的MATLAB程序实现%创建感知器神经网络%设置输入向量每个元素的值域(最小值和最大值),因为有15个输入,所以为15*2矩阵向量pr=0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;net=newp(pr,1); %创建感知器神经网络,有15个输入元素,1个神经元%训练感知器神经网络P=;%定义15*10的训练样本集输入向量t=1 0 1 0 1 0 1 0 1 0; %定义1*10的目标向量net,tr=train(net,p,t); %训练单层感知器神经网络iw1=net.IW1 %输出训练后的权值b1=net.b1 %输出训练后的阈值epoch1=tr.epoch %输出训练过程经过的每一步长perf1=tr.perf %输出每一步训练结果的误差%存储训练后的神经网络save net32 net,单层感知器神经网络的设计例程,单层感知器神经网络的设计例程,从运行结果中可以看出,经过4步训练后,达到误差为0的性能指标进行仿真实验加载训练后的神经网络 load net32 net 对训练后的神经网络进行仿真 ptest=1 1 1 1 0 1 1 0 1 1 0 1 1 0 1;数字0,因某种原因,与训练样本不一致 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1;数字1,与训练样本一致 a=sim(net,ptest)输出仿真结果,运行结果:a1 0经过训练的网络,对于训练样本及训练样本以外的输入模式可以得到正确的分类结果,具有一定的容错能力,图3.8 例3.2的训练误差性能曲线,例3.3 设计一单层双输出感知器神经网络,进行二值化图像卡片上数字的奇偶分类。解(1)问题分析和神经网络设计设a1a2=10,表示偶数;a1a2=01,表示奇数;则a1a2=00为拒识状态;a1a2=11为错识状态。而其他分析同例3.2,设计的感知器神经网络结构示意图如图3.9所示,单层感知器神经网络的设计例程,图3.9 例3.3单层感知器神经网络模型,单层感知器神经网络的设计例程,(2)感知器神经网络的MATLAB程序实现本例的MATLAB程序只要修改例3.2中的以下两句即可,即net=newp(pr, 2); %初始化单层感知器神经网络,输人有 15个元素,2个神经元t=1 0 1 0 1 0 1 0 1 0; 0 1 0 1 0 1 0 1 0 1; %定义 2*10的目标向量矩阵,运行结果显示,经过4步训练后达到误差为0的性能指标,图3.8 例3.3的训练误差性能曲线,单层感知器神经网络的设计例程,仿真试验程序%加载训练后的神经网络load net33 net%对训练后的神经网络进行仿真ptest=1 1 1 1 0 1 1 0 1 1 0 1 1 0 1; %数字0与训练样本不一致 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1; %数字1与训练样本一致 1 1 1 0 1 1 0 1 0 1 1 1 0 0 0; %非数字 1 1 1 1 1 0 1 0 1 0 0 0 1 1 1; %非数字 %进行仿真并输出结果 a=sim(net,ptest)进行仿真的结果a=1 0 1 0; 0 1 1 0对于训练样本及训练样本以外的输入模式可以得到正确的分类结果,具有一定的容错能力,3.5 多层感知器神经网络及其MATLAB仿真,多层感知器神经网络的设计方法把神经网络的第一层设计为随机感知器层,且不对它进行训练,而是随机初始化它的权值和阈值以第一层的输出作为第二感知器层的输入,并确定第二感知器层的目标向量,然后对第二感知器层进行训练。在训练过程中,整个网络可能达到训练误差性能指标,也可能达不到训练误差性能指标。程序一次运行的结果往往达不到设计要求,需要反复运行,直至达到要求为止。,多层感知器神经网络的设计例程,例3.4 单层感知器网络不能模拟异或函数的问题,这里用二层感知器神经网络来实现。解(1)问题分析异或问题真值表见表3.2,表3.2 异或问题真值表,多层感知器神经网络的设计例程,图 3.11 异或问题的图形表示,若把异或问题看成p1-p2平面上的点,则点A0(0, 0),A1(1, 1)表示输出为0的两个点,B0(1, 0),B1(0, 1)表示输出为1的两个点,如图3.11所示,多层感知器神经网络的设计例程,图 3.12 例3.14的二层感知器神经网络模型,(2)神经网络设计以图3.12所示二层神经网络来实现,其中隐层为随机感知器层(net1),神经元数目设计为3,其权值和阈值是随机的,它的输出作为输出层(分类层)的输入;输出层为感知器层(net2),其神经元数为1,仅对该层进行训练。,多层感知器神经网络的设计例程,(3)多层感知器神经网络的MATLAB程序实现%初始化随机感知器层pr1=0 1;0 1; %设置随机感知器层输入向量每个元素的值域net1=newp(pr1,3); %定义随机感知器层net1.inputweights1.initFcn=rands; %指定随机感知器层权值初始化函数为随机函数net1.biases1.initFcn=rands; %指定随机感知器层阈值初始化函数为随机函数net1=init(net1); %初始化随机感知器层iw1=net1.IW1 %随机感知器层的权值向量b1=net1.b1 %随机感知器层的阈值向量%随机感知器层仿真p1=0 0; 0 1; 1 0; 1 1; %随机感知器层输人向量(训练样本值)a1,pf=sim(net1,p1); %随机感知器层仿真,%初始化第二感知器层pr2=0 1;0 1;0 1; %设置第二感知器层输入向量每个元素的值域net2=newp(pr2,1); %定义第二感知器层%训练第二感知器层net2.trainParam.epochs=1000;net2.trainParam.show=1;p2=ones(3,4); %初始化第二感知器层的输入向量p2=p2.*a1; %随机感知器层的仿真输出结果作为第二感知器层的输入向量t2=0 1 1 0; %第二感知器层的目标向量net2,tr2=train(net2,p2,t2); %训练第二感知器层epoch2=tr2.epoch %输出训练过程经过的每一步长perf2=tr2.perf %输出每一步训练结果的误差iw2=net2.IW1 %第二感知器层的权值向量b2=net2.b1 %第二感知器层的阈值向量%存储训练后的网络save net34 net1 net2,多层感知器神经网络的设计例程,%初始化第二感知器层pr2=0 1;0 1;0 1; %设置第二感知器层输入向量每个元素的值域net2=newp(pr2,1); %定义第二感知器层%训练第二感知器层net2.trainParam.epochs=1000;net2.trainParam.show=1;p2=ones(3,4); %初始化第二感知器层的输入向量p2=p2.*a1; %随机感知器层的仿真输出结果作为第二感知器层的输入向量t2=0 1 1 0; %第二感知器层的目标向量net2,tr2=train(net2,p2,t2); %训练第二感知器层epoch2=tr2.epoch %输出训练过程经过的每一步长perf2=tr2.perf %输出每一步训练结果的误差iw2=net2.IW1 %第二感知器层的权值向量b2=net2.b1 %第二感知器层的阈值向量%存储训练后的网络save net34 net1 net2,多层感知器神经网络的设计例程,多层感知器神经网络的设计例程,仿真程序代码: %加载训练后的网络load net34 net1 net2%随机感知器层仿真p1=0 0;0 1;1 0;1 1; %随机感知器层输人向量a1=sim(net1,p1); %随机感知器层仿真结果%输出感知器层仿真,并输出仿真结果p2=ones(3,4); %初始化第二感知器层的输入向量p2=p2.*a1; %随机感知器层的仿真输出结果作为第二感知器层的输入向量a2=sim(net2,p2),3.6 应用于线性分类问题的进一步讨论,神经网络的实现功能可看成是输入到输出的映射把每一种不同的输入看成是一种输入模式,将其到输出的映射看成是输出响应模式,则输入到输出的映射就变成输入模式空间到输出响应模式空间的映射模式分类问题:输入模式到输出模式的映射决策函数与决策边界模式分类的基本内容:确定判决函数与决策边界对于C类分类问题,按照判决规则可以把特征向量空间(或称模式空间)分成C个决策域决策边界(决策边界方程):将划分决策域的边界称判决函数:用于表达决策规则的某些函数,神经网络用于模式分类的决策函数,神经网络用于模式分类,其决策函数为 f(n) = f(Wp + b) (3.7) 决策边界由相应的决策函数和决策规则所确定一般地说,当模式p为一维时,决策边界为一分界点;当p为二维时,决策边界为一直线;当p为三维时,决策边界为一平面;当p为n(n3)维时,决策边界为一超平面。图3.14画出了n=1,2,3维的情况,图 3.14 输入维数不同时的决策边界,感知器的决策函数与决策边界,感知器神经元的传输函数为阈值型函数,若传输函数为hardlim函数,则其决策函数为,(3.8),决策边界由下列边界方程决定 Wp + b = 0 (3.9)单层感知器只有一个边界方程,且为线性方程,所以它只能进行线性分类,感知器分类MATLAB仿真,例3.5 设计一感知器神经网络,完成下列分类,以MATLAB编写仿真程序,并画出分类线。已知: p1=0.5 -1, t1=0; p2=1 0.5, t2=0; p3= -1 0.5, t3=1; p4=-1 -1, t4=0解(1)问题分析输入向量有 2个元素,取值范围为-1,1;输出向量有 1个元素,是一个二值元素,取值为0或1。由此可以确定单层感知器神经网络的结构:1个输入向量,包括2个元素、1个神经元,神经元的传输函数为hardlim。 (2)MATLAB程序设计,感知器分类MATLAB程序设计,初始化、训练和存储%初始化感知器网络pr=-1 1;-1 1; %设置感知器网络输入向量每个元素的值域net=newp(pr,1); %定义感知器网络%net.layers1.transferFcn=hardlims; %指定感知器层神经元的传输函数 %训练感知器网络p=0.5 -1;1 0.5; -1 0.5;-1 -1; %输入向量(训练样本值)t=0 1 1 0; %目标向量net,tr=train(net,p,t); %训练感知器网络%存储训练后的网络save net35 net,感知器分类MATLAB程序设计,仿真实验程序%加载训练后的网络load net35 net%网络仿真p=0.5 -1;1 0.5; -1 0.5;-1 -1 %输人向量(测试样本)a=sim(net,p) %仿真结果%绘制网络的分类结果及分类线v=-2 2 -2 2; %设置坐标的范围plotpv(p,a,v); %绘制分类结果plotpc(net.iw1,net.b1); %绘制分类线,感知器分类MATLAB程序设计,仿真结果p = 0.5000 1.0000 -1.0000 -1.0000 -1.0000 0.5000 0.5000 -1.0000a = 0 1 1 0分类结果及分类线如图3.15所示,图 3.15 例3.5分类结果及分类线,

    注意事项

    本文(第 3 章 神经计算基础(3.2 感知器)MATLAB仿真程序设计概要课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开