神经网络——感知机

上传人:mg****85 文档编号:49543075 上传时间:2018-07-30 格式:PPT 页数:49 大小:754KB
返回 下载 相关 举报
神经网络——感知机_第1页
第1页 / 共49页
神经网络——感知机_第2页
第2页 / 共49页
神经网络——感知机_第3页
第3页 / 共49页
神经网络——感知机_第4页
第4页 / 共49页
神经网络——感知机_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《神经网络——感知机》由会员分享,可在线阅读,更多相关《神经网络——感知机(49页珍藏版)》请在金锄头文库上搜索。

1、感知机人工神经网络模型1大脑是由生物神经元构成 的巨型网络,它在本质上不同 于计算机,是一种大规模的并 行处理系统,它具有学习、联 想记忆、综合等能力,并有巧 妙的信息处理方法。 2人工神经网络是模拟人脑思维方式 的数学模型,从微观结构和功能上对 人脑进行抽象和简化,模拟人类智能 。人工神经网络(简称神经网络)也是 由大量的、功能比较简单的形式神经 元互相连接而构成的复杂网络系统, 用它可以模拟大脑的许多基本功能和 简单的思维方式。3我们不可能对生物学上的 神经网络作完全的了解,只 可能在某种成度上描述我们 所了解的情况。同样,人工 神经网络也只可能是在某种 程度上对真实的神经网络的 一种模拟

2、和逼近。4神经元模型n生物神经元模型 神经元neuron,neural cell也就是神经细 胞。人脑就是由大量神经元组合而成的。 神经元由 细胞体、树突和轴突组成。 中心 接受器 传导信息5人工神经元模型,如图所示6感知机是最早被设计并被实现的人工神网络。感知 器是一种非常特殊的神经网络,它在人工神经网络 的发展历史上有着非常重要的地位,尽管它的能力 非常有限,主要用于线性分类。 或7某个神经元 j 的输入输出关系为其中, 为阀值, 为连接权,f()为变 换函数,也称活化函数(activation function)。8感知机的结构9我们以单层感知器来说明: 两个输入 x1 和 x2 。 一

3、个阀值 两个待调整的权值W1和W2 决策函数为样本集分别属于2类。101 特点:)多输入,单输出 )激活函数传递函数为二值,一般为阶跃函 数或符号函数 )输出为二值:或)1 u0-1 u 0或1 u0 u 0112 感知机的工作方式:学习阶段修改权值 (根据“已知的样本”对权值不断修改; 有导师学习) 工作阶段 计算单元变化,由响应函 数给出新输入下的输出。12样本:pp1, p2 ppYy1, y2 yppYW学习机W学习算法学习的过程,主要是修正权值,阈值感知机的学习阶段:13n设有N个训练样本n当给定某个样本p的输入/输出 模式对时,感知机输出单元会 产生一个实际输出向量,用期 望输出(

4、样本输出)与实际输 出之差来修正网络连接权值。14n权值修改采用简单的误差学习规则n基本思想: 利用某个神经单元的期望输出与实际输 出之间的差来调整该神经单元与上一层 中相应神经单元的的连接权值,最终减 小这种偏差。 即:神经单元之间连接权的变化正比于 输出单元期望输出与实际的输出之差15对于所有的i和j,il,2,s;j1,2, ,r,感知器修正权值公式为: 上述用来修正感知器权值的学习算法在MATLAB神 经网络工具箱中已编成了子程序,成为一个名为 1earnp.m的函数。只要直接调用此函数,即可立即获 得权值的修正量。此函数所需要的输入变量为:输入 、输出矢量和目标矢量:P、A和T。调用

5、命令为: dW,dBlearnp(P,A,T); (4-5)16输入矢量P,输出矢量Y,目标矢量为 T的感知器网络,其学习规则为:n如果第i个神经元的输出是正确的 ,即有:yiti,那么与第i个神经 元联接的权值wij和偏差值bi保持 不变;17n如果第i个神经元的输出是0, 但期望输出为1,即有yi0, 而ti1,此时权值修正算法为 :新的权值wij为旧的权值wij加 上输入矢量pj;类似的,新的 偏差bi为旧偏差bi加上它的输入 1; 18n如果第i个神经元的输出为1,但 期望输出为0,即有yi1,而ti 0,此时权值修正算法为:新的权 值wij等于旧的权值wij减去输入矢 量pj;类似的

6、,新的偏差bi为旧偏 差bi减去1。 19n感知器学习规则的实质为: 权值的变化量等于正负输入 矢量。20举例:用感知器实现“与”的功能1)设w1=0;w2=0; =0; 2 ) 输入x=x1,x2输出y 样本:x1=0 0 1 1x2=0 1 0 1y=0 0 0 1 要求:确定此感知器中的3个参数“w1,w2,”。 21即, 时 y1=0, y2=0, y3=0, y4=1;22计算感知机在ui作用下的输出yi 由模型可描述为:j=1,2 n=2 i=1,2,3,4, 用矩阵表示为s1=(w1,w2)u1=(0,0) 00;s3=(w1,w2)u3=(0,0) 00;s2=(w1,w2)u

7、2=(0,0) 00;s4=(w1,w2)u4=(0,0) 00; 23由响应函数Y=1 1 1 1, 即y1=y2=y3=y4=1;24n调整权值和阈值 n由ei(t)=|di-yi(t)|ne(t)=(1,1,1,0)n求E(t)=3 ,设0.5nw1(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+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返回重新计算,直到

8、E满足要求。 25nerr_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=si ze(T); nWij=rand(L,M);y=0;b=r and(L); nfor epoch=1:max_expoch n NETi=Wij*X; 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 nE=(T-y);EE=0; nfor j=1:N

9、 n EE=EE+abs(E(j); nend n if(EE030*0.7+ 90*0.3-60 =-120y1001Net31n%沿用例“求与”第二阶段工作期,验证网 络 n X1=X; n NETi=Wij*X1;M,N=size(X1); n for j=1:N n for i=1:Ln if(NETi(i,j)=b(i) n y(i,j)=1;n else n y(i,j)=0;n endn endn endn y32n初始化:initp n训练:trainp n仿真: simup初始化:initp 可自动产生-1,1 区间中的随机初始权值和阈值, 例:n w,b=initp(2,8

10、) 或 w,b=initp(p,t)33n训练:ntrainp 感知器网络学习和仿真的 过程ntp=disp_freq max_epoch;n(显示频率和训练的最大步数)nw,b,te=trainpw,b,p,t,tp;nTrain函数完成每一步训练后,返 回新的网络权值和阈值,并显示已 完成的训练步数ep及误差te34n仿真: simupn注意:使用trainp函数并不能保证感 知器网络在取训练所得到的权值和 阈值时就可以顺利达到要求,因此, 训练完成后,最好要验证一下:n a=simupp,w,b;n if all(a=t);n disp(Itworks!);n end35n%直接利用ma

11、t 工具箱(initp trainp simup)nclear allnNNTWARN OFFnp=0 0 1 1 ;n 0 1 0 1nt=0 0 0 1nw1,b1=initp(p,t) %初始化nw1,b1,epoches,errors=trainp(w1,b1,p,t,-1);%训练n%计算完毕nfigure(2);nploterr(errors)na1=simup(p,w1,b1);%仿真na1nif all(a=t),disp(It works!);ne=t-a1;nk=1:1:4;nfigure(3);nplot(k,e) 36感知器的图形解释 由感知器的网络结构,我们可以看出感

12、 知器的基本功能是将输入矢量转化成0或 1的输出。这一功能可以通过在输人矢量 空间里的作图来加以解释。 感知器权值参数的设计目的,就是根据学习法 则设计一条W*P+b0的轨迹,使其对输入矢量 能够达到期望位置的划分。 37以输入矢量r2为例,对于选定的 权值w1、w2和b,可以在以p1和p2分 别作为横、纵坐标的输入平面内画出 W*P+bw1 p1十w2 p2十b0的轨迹 ,它是一条直线,此直线上的及其线 以上部分的所有p1、p2值均使w1 p1十 w2 p2十b0,这些点若通过由w1、 w2和b构成的感知器则使其输出为1; 该直线以下部分的点则使感知器的输 出为0。38所以当采用感知器对不同

13、的输入矢 量进行期望输出为0或1的分类时,其问题可转化为:对于已知输入矢量在 输入空间形成的不同点的位置,设计 感知器的权值W和b,将由W*P+b0的直线放置在适当的位置上使输入矢 量按期望输出值进行上下分类。 39输入矢量平面图40w的解并不唯一,能把两类分开即可由于网络是以w1x1+w2x2+=0为分界线的, 这可以看成一直线或一超平面。所以,感知机具有线性分类能力,可用于两类模 式分类,得到的w1,w2,不唯一,但只限于线 性分类。举例:用感知机实现“与”的功能41感知机只能对线性可分离的模式进行正确 的分类。当输入模式是线性不可分时,则 无论怎样调节突触的结合强度和阈值的大 小也不可能

14、对输入进行正确的分类。 局限: 所以在1969年,Minsky和Papert发表 了名为Perceptron的专著, 书中指出,这 样的简单的线性感知器的功能非常有限 ,使得随后的研究处于低潮。4243“或”运算“异或”运算可实现分类无法用一条直线划 分,对于异或,不 能实现正确分类4416个布尔代数表x1x2y0y1y2y3y4y5y6y7y8y9y10y11y12y13y14y15000101010101010101010011001100110011100000111100001111110000000011111111对y6和y9的情况,找不到相应的直线,感知机 无法处理45(特征检测

15、器)解决方法:构造多层感知机网络,即含有隐层 的网络,但只能修改最后一层权值阈值46例:如图是一个含有两个输入,三个感知机隐层神经元和一 个输出神经元的三层感知机网络,若取y1 y2zx1x2y3y1=sgn(2x1+2x2+1)y2=sgn(-x1+0.25x2+0.8)y3=sgn(0.75x1-2x2+1.4)z = sgn(y1+y2+y3-3)实现了非线性分类y1y2y347感知机小结:1)训练时,逐个取样本进行计算,修改权值阈值2)对于线性可分问题,1层感知机网络可以实现;对于线性不可分问题,需2层或以上感知机网络3)感知机只能解决输出是两态(二值)的问题,输出是 0/14)单层感知机具有线性分类能力48Matlab的神经网络工具箱介绍“与”功能的matlab程序实现自己编程实现“与”功能“异或”功能的matlab程序实现49

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号