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

下载本文档

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

文档简介

1、1 感知机感知机 人工神经网络模型人工神经网络模型 大脑是由生物神经元构成大脑是由生物神经元构成 的巨型网络,它在本质上不同的巨型网络,它在本质上不同 于计算机,是一种大规模的并于计算机,是一种大规模的并 行处理系统,它具有学习、联行处理系统,它具有学习、联 想记忆、综合等能力,并有巧想记忆、综合等能力,并有巧 妙的信息处理方法。妙的信息处理方法。 3 人工神经网络是模拟人脑思维方式人工神经网络是模拟人脑思维方式 的数学模型,从微观结构和功能上对的数学模型,从微观结构和功能上对 人脑进行抽象和简化,模拟人类智能。人脑进行抽象和简化,模拟人类智能。 人工神经网络人工神经网络( (简称神经网络简称

2、神经网络) )也是由也是由 大量的、功能比较简单的形式神经元大量的、功能比较简单的形式神经元 互相连接而构成的复杂网络系统,用互相连接而构成的复杂网络系统,用 它可以模拟大脑的许多基本功能和简它可以模拟大脑的许多基本功能和简 单的思维方式。单的思维方式。 4 我们不可能对生物学上的我们不可能对生物学上的 神经网络作完全的了解,只可神经网络作完全的了解,只可 能在某种成度上描述我们所了能在某种成度上描述我们所了 解的情况。同样,人工神经网解的情况。同样,人工神经网 络也只可能是在某种程度上对络也只可能是在某种程度上对 真实的神经网络的一种模拟和真实的神经网络的一种模拟和 逼近。逼近。 5 神经元

3、模型神经元模型 n生物神经元模型生物神经元模型 神经元神经元neuron,neural cellneuron,neural cell也就是神经细也就是神经细 胞。人脑就是由大量神经元组合而成的。胞。人脑就是由大量神经元组合而成的。 神经元由神经元由 细胞体、树突和轴突组成。细胞体、树突和轴突组成。 a)a) 中心中心 接受器接受器 传导信息传导信息 人工神经元模型,如图所示人工神经元模型,如图所示 感知机是最早被设计并被实现的人工神网络。感知机是最早被设计并被实现的人工神网络。感知感知 器是一种非常特殊的神经网络,它在人工神经网络器是一种非常特殊的神经网络,它在人工神经网络 的发展历史上有着非

4、常重要的地位,尽管它的能力的发展历史上有着非常重要的地位,尽管它的能力 非常有限,主要用于线性分类。非常有限,主要用于线性分类。 y j 1 n x1 xn 或或 y j 某个神经元某个神经元 j 的输入的输入输出关系为输出关系为 其中,其中, 为阀值,为阀值, 为连接权,为连接权,f()为变换为变换 函数,也称活化函数函数,也称活化函数(activation function)。 S y j j f 1, 0 0 jij n i ijixx j n i ijijxs 1 j ji 9 感知机的结构感知机的结构 10 我们以单层感知器来说明:我们以单层感知器来说明: 两个输入两个输入 x x1

5、 1 和和 x x2 2 。 一个阀值一个阀值 两个待调整的权值两个待调整的权值W1W1和和W2W2 决策函数为决策函数为 样本集分别属于样本集分别属于2 2类。类。 xx Xd 2211 y x1 1 2 x2 x Xd 1Xd 1Xd 11 1 特点:特点: )多输入,单输出)多输入,单输出 )激活函数传递函数为二值,一般为阶跃函)激活函数传递函数为二值,一般为阶跃函 数或符号函数数或符号函数 )输出为二值:或)输出为二值:或 ) n i ii n i ii xfxfy 01 uf 1 u0 -1 u 0 或或 1 u0 u 0 12 2 感知机的工作方式:感知机的工作方式: 学习阶段学习

6、阶段修改权值修改权值 (根据(根据“已知的样本已知的样本”对权值不断修改;对权值不断修改; 有导师学习)有导师学习) 工作阶段工作阶段 计算单元变化,由响应函计算单元变化,由响应函 数给出新输入下的输出。数给出新输入下的输出。 13 样本:样本:pp1, p2 pp Yy1, y2 yp p Y W 学习机 W 学习算法 学习的过程,主要是修正权值,阈值学习的过程,主要是修正权值,阈值 感知机的学习阶段: 14 n设有设有N个训练样本个训练样本 n当给定某个样本当给定某个样本p的输入的输入/输出输出 模式对时,感知机输出单元会模式对时,感知机输出单元会 产生一个实际输出向量,用期产生一个实际输

7、出向量,用期 望输出(样本输出)与实际输望输出(样本输出)与实际输 出之差来修正网络连接权值。出之差来修正网络连接权值。 15 n权值修改采用简单的误差学习规则权值修改采用简单的误差学习规则 n基本思想:基本思想: 利用某个神经单元的期望输出与实际输利用某个神经单元的期望输出与实际输 出之间的差来调整该神经单元与上一层出之间的差来调整该神经单元与上一层 中相应神经单元的的连接权值,最终减中相应神经单元的的连接权值,最终减 小这种偏差。小这种偏差。 即:神经单元之间连接权的变化正比于即:神经单元之间连接权的变化正比于 输出单元期望输出与实际的输出之差输出单元期望输出与实际的输出之差 16 对于所

8、有的i和j,il,2,s;j1,2, r,感知器修正权值公式为: 上述用来修正感知器权值的学习算法在上述用来修正感知器权值的学习算法在MATLAB神神 经网络工具箱中已编成了子程序,成为一个名为经网络工具箱中已编成了子程序,成为一个名为 1earnp.m的函数。只要直接调用此函数,即可立即获的函数。只要直接调用此函数,即可立即获 得权值的修正量。此函数所需要的输入变量为:输入、得权值的修正量。此函数所需要的输入变量为:输入、 输出矢量和目标矢量:输出矢量和目标矢量:P、A和和T。调用命令为:。调用命令为: dW,dBlearnp(P,A,T); (4-5) 17 输入矢量输入矢量P,输出矢量,

9、输出矢量Y,目标矢量为,目标矢量为 T的感知器网络,其学习规则为:的感知器网络,其学习规则为: n如果第如果第i个神经元的输出是正确的,个神经元的输出是正确的, 即有:即有:yiti,那么与第,那么与第i个神经元个神经元 联接的权值联接的权值wij和偏差值和偏差值bi保持不变;保持不变; 18 n如果第如果第i个神经元的输出是个神经元的输出是0,但,但 期望输出为期望输出为1,即有,即有yi0,而,而ti 1,此时权值修正算法为:新,此时权值修正算法为:新 的权值的权值wij为旧的权值为旧的权值wij加上输加上输 入矢量入矢量pj;类似的,新的偏差;类似的,新的偏差bi 为旧偏差为旧偏差bi加

10、上它的输入加上它的输入1; 19 n如果第如果第i个神经元的输出为个神经元的输出为1,但期,但期 望输出为望输出为0,即有,即有yi1,而,而ti0, 此时权值修正算法为:新的权值此时权值修正算法为:新的权值wij 等于旧的权值等于旧的权值wij减去输入矢量减去输入矢量pj; 类似的,新的偏差类似的,新的偏差bi为旧偏差为旧偏差bi减减 去去1。 20 n感知器学习规则的实质为:感知器学习规则的实质为: 权值的变化量等于正负输入权值的变化量等于正负输入 矢量。矢量。 21 举例:用感知器实现举例:用感知器实现“与与”的功能的功能 1)设)设w1=0;w2=0; =0; 2 ) 输入输入x=x1

11、,x2 输出输出y 样本:样本:x1=0 0 1 1 x2=0 1 0 1 y=0 0 0 1 要求:确定此感知器中的要求:确定此感知器中的3个参数个参数“w1,w2,”。 22 2 1 x x u , 1 1 4, 0 1 3, 1 0 2, 0 0 1 uuuu 即即 , 时时 y1=0, y2=0, y3=0, y4=1; 23 计算感知机在计算感知机在ui作用下的输出作用下的输出yi 由模型可描述为:由模型可描述为: n j jjixs 1 j=1,2 n=2 i=1,2,3,4, 用矩阵表示为用矩阵表示为 s1=(w1,w2)u1=(0,0) 0 0 00; s3=(w1,w2)u3

12、=(0,0) 0 1 00; s2=(w1,w2)u2=(0,0) 1 0 00; s4=(w1,w2)u4=(0,0) 1 1 00; 24 由响应函数由响应函数 0,0 0,1 )( s s sf y p Y=1 1 1 1, 即即y1=y2=y3=y4=1; 25 n调整权值和阈值调整权值和阈值 n由由ei(t)=|di-yi(t)| ne(t)=(1,1,1,0) n求求E(t)=3 ,设设0.5 nw1(t+1)=w1(t)+(|di-yi(t)|x1) n=0+0.5(1,1,1,0)(0,0,1,1)=0.5; nw2(t+1)=w2(t)+(|di-yi(t)|x2) n=0+

13、0.5(1,1,1,0)(0,1,0,1)=0.5; n(t+1)= (t)+( E(t)2=0+9=9; n由此由此w1=0.5,w2=0.5, =9; n返回重新计算,直到返回重新计算,直到E满足要求。满足要求。 26 nerr_goal=0.001;lr=0.9; nmax_expoch=10000; nX=0 0 1 1;0 1 0 1;T=0 0 0 1; nM,N=size(X);L,N=size (T); nWij=rand(L,M);y=0;b=ran d(L); nfor epoch=1:max_expoch n NETi=Wij*X; n for j=1:N n for i

14、=1:L n if(NETi(i,j)=b(i) n y(i,j)=1; n else n y(i,j)=0; n end n end n end n nE=(T-y);EE=0; nfor j=1:N n EE=EE+abs(E(j); nend n if(EEerr_goal) n break n end n Wij=Wij+lr*E*X; %调整权值调整权值 n b=b+sqrt(EE); %调整阈值调整阈值 nend n epoch,Wij,b n 27 算法步骤:算法步骤: )设输入变量为)设输入变量为x1,x2,xm;(j=1 ,2,m),设置,设置 权系数初值权系数初值wj(wj

15、一般取一般取-1,1之间的随机小数之间的随机小数); )确定学习样本,即给定输入输出样本对,)确定学习样本,即给定输入输出样本对, 输入:输入:u=u1,u2un, ,(i=1,2,n) 输出:输出:d=d1,d2dn, (i=1,2,n) xmi ix ix ui 2 1 28 )分别计算感知机在)分别计算感知机在ui作用下的输出作用下的输出yi; t指第指第t次计算并调整权值。次计算并调整权值。 n i ii n i iii utfutfty 01 )()()( ii n i iuu s,1, 0 0 设设 0,0 0,1 )( s s sf y p 29 n)调整权值和阈值)调整权值和阈

16、值 n(1)求)求ei(t)=di-yi(t) n(2)求)求E(t)若若E(t) 0,调整权值,调整权值; nwj(t+1)=wj(t)+(di-yi(t)xji),写出矩,写出矩 阵为阵为W(t+1)=W(t)+ (di-yi(t)ui); n(t+1)= (t)+( E(t)2 返回返回3 n若若E(t)满足要求则结束。满足要求则结束。 n :训练步长,一般:训练步长,一般00 30*0.7+ 90*0.3-60 =-120 60*0.7+ 59*0.3-60 =-0.30 y1001 i n 1j jijixnet Net 32 n%沿用例沿用例“求与求与”第二阶段工作期,验证网第二阶

17、段工作期,验证网 络络 n X1=X; n NETi=Wij*X1;M,N=size(X1); n for j=1:N n for i=1:L n if(NETi(i,j)=b(i) n y(i,j)=1; n else n y(i,j)=0; n end n end n end n y 33 n初始化:初始化:initp n训练:训练:trainp n仿真:仿真: simup 初始化:初始化:initp 可自动产生可自动产生-1,1 区间中的随机初始权值和阈值区间中的随机初始权值和阈值, 例例: n w,b=initp(2,8) 或或 w,b=initp(p,t) 34 n训练:训练: nt

18、rainp 感知器网络学习和仿真的感知器网络学习和仿真的 过程过程 ntp=disp_freq max_epoch; n(显示频率和训练的最大步数显示频率和训练的最大步数) nw,b,te=trainpw,b,p,t,tp; nTrain函数完成每一步训练后函数完成每一步训练后,返回返回 新的网络权值和阈值新的网络权值和阈值,并显示已完并显示已完 成的训练步数成的训练步数ep及误差及误差te 35 n仿真:仿真: simup n注意注意:使用使用trainp函数并不能保证感函数并不能保证感 知器网络在取训练所得到的权值和知器网络在取训练所得到的权值和 阈值时就可以顺利达到要求阈值时就可以顺利达

19、到要求,因此因此,训训 练完成后,最好要验证一下练完成后,最好要验证一下: n a=simupp,w,b; n if all(a=t); n disp(Itworks!); n end 36 n%直接利用直接利用mat 工具箱(工具箱(initp trainp simup) nclear all nNNTWARN OFF np=0 0 1 1 ; n 0 1 0 1 nt=0 0 0 1 nw1,b1=initp(p,t) %初始化初始化 nw1,b1,epoches,errors=trainp(w1,b1,p,t,-1);%训练训练 n%计算完毕计算完毕 nfigure(2); nplote

20、rr(errors) na1=simup(p,w1,b1);%仿真仿真 na1 nif all(a=t),disp(It works!); ne=t-a1; nk=1:1:4; nfigure(3); nplot(k,e) 37 感知器的图形解释感知器的图形解释 由感知器的网络结构,我们可以看出感由感知器的网络结构,我们可以看出感 知器的基本功能是将输入矢量转化成知器的基本功能是将输入矢量转化成0或或1 的输出。这一功能可以通过在输人矢量空的输出。这一功能可以通过在输人矢量空 间里的作图来加以解释。间里的作图来加以解释。 感知器权值参数的设计目的,就是根据学习法感知器权值参数的设计目的,就是根

21、据学习法 则设计一条则设计一条W*P+b0的轨迹,使其对输入矢量的轨迹,使其对输入矢量 能够达到期望位置的划分。能够达到期望位置的划分。 38 以输入矢量以输入矢量r2为例,对于选定的为例,对于选定的 权值权值w1、w2和和b,可以在以,可以在以p1和和p2分别分别 作为横、纵坐标的输入平面内画出作为横、纵坐标的输入平面内画出 W*P+bw1 p1十十w2 p2十十b0的轨迹,的轨迹, 它是一条直线,此直线上的及其线以上它是一条直线,此直线上的及其线以上 部分的所有部分的所有p1、p2值均使值均使w1 p1十十w2 p2 十十b0,这些点若通过由,这些点若通过由w1、w2和和b构构 成的感知器

22、则使其输出为成的感知器则使其输出为1;该直线以;该直线以 下部分的点则使感知器的输出为下部分的点则使感知器的输出为0。 39 所以当采用感知器对不同的输入矢所以当采用感知器对不同的输入矢 量进行期望输出为量进行期望输出为0或或1的分类时,其的分类时,其 问题可转化为:对于已知输入矢量在输问题可转化为:对于已知输入矢量在输 入空间形成的不同点的位置,设计感知入空间形成的不同点的位置,设计感知 器的权值器的权值W和和b,将由,将由W*P+b0的直的直 线放置在适当的位置上使输入矢量按期线放置在适当的位置上使输入矢量按期 望输出值进行上下分类。望输出值进行上下分类。 40 输入矢量平面图输入矢量平面

23、图 w的解并不唯一,能把两类分开即可的解并不唯一,能把两类分开即可 由于网络是以由于网络是以w1x1+w2x2+=0为分界线的,为分界线的, 这可以看成一直线或一超平面。这可以看成一直线或一超平面。 所以,感知机具有线性分类能力,可用于两类模所以,感知机具有线性分类能力,可用于两类模 式分类,得到的式分类,得到的w1,w2,不唯一,但只限于线不唯一,但只限于线 性分类。性分类。 举例:用感知机实现举例:用感知机实现“与与”的功能的功能 感知机只能对线性可分离的模式进行正确感知机只能对线性可分离的模式进行正确 的分类。当输入模式是线性不可分时,则的分类。当输入模式是线性不可分时,则 无论怎样调节

24、突触的结合强度和阈值的大无论怎样调节突触的结合强度和阈值的大 小也不可能对输入进行正确的分类。小也不可能对输入进行正确的分类。 局限:局限: 所以在所以在1969年,年,Minsky和和Papert发表发表 了名为了名为Perceptron的专著的专著, 书中指出书中指出,这这 样的简单的线性感知器的功能非常有限,样的简单的线性感知器的功能非常有限, 使得随后的研究处于低潮。使得随后的研究处于低潮。 “或或”运运 算算 “异或异或”运运 算算 可实现分类可实现分类 无法用一条直线划无法用一条直线划 分,对于异或,不分,对于异或,不 能实现正确分类能实现正确分类 16个布尔代数表个布尔代数表 x1x2y0y1y2y3

温馨提示

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

评论

0/150

提交评论