您好,欢迎访问三七文档
1§1.基本的神经元及其学习规则1.1神经元模型1.MP模型人工神经网络的第一个数学模型是由McCulloch和Pitts建立的。该模型是基于这样一种思想:神经细胞的工作方式是或者兴奋,或者抑制。基于这个思想,McCulloch和Pitts在神经元模型中引入了硬极限函数,该函数形式后来被其他神经网络(如多层感知器、离散Hopfield网络)采用。由于神经元之间的信号连接强度取决于突触状态,因此在MP模型中,神经元的每个突触的活动强度用一个固定的实数即权值模拟。于是每个神经元模型都可以从数十个甚至数百个其他神经元接受信息,产生神经兴奋和冲动;同时,在其他条件不变的情况下,不论何种刺激,只要达到阈值以上,就能产生一个动作电位。但如果输入总和低于阈值,则不能引起任何可见的反应。图1所示为MP模型示意图。T12(,,,)nxxxx为神经元的输入,T12(,,,)n为相应的连接权值,T为神经元的兴奋阈值,y为神经元的输出,y取二值函数,即111,0,niiiniiiwxTywxT图1MP模型单个MP模型可以实现与、或、与非、或非等二值逻辑运算(但不能实现异或运算),该模型曾因说明了人工神经网络可通过简单的计算产生相当复杂的行为,从而引起极大的轰动,但它是一种静态神经元,即结构固定,权值无法调节,因此,缺乏一个关键性的要素,即学习能力。2.一般神经元模型图2所示为一个具有n个输入的通用的神经元模型。图2通用神经元模型2T12(,,,)nxxxx为神经元的输入,T12(,,,)n为可调的输入权值,Ө为偏移信号,用于建模神经元的兴奋阈值,u(*)为神经元的基函数,是一个多输入单输出函数u=u(x,w;Ө)。f(*)为神经元的激活函数(也称神经元函数、挤压函数或活化函数),f(*)的一般作用是对基函数输出u进行“挤压”:y=f(u),即通过非线性函数f(*)将u变换到指定范围内。1.2基函数u(*)的类型1.线性函数:常用于多层感知器(MLP)、Hophield网络等。T1njjjuxwxw2.距离函数:常用于径向基函数神经(RBF)网络等。21()njjjuxwxw式中,w常被称为基函数的中心,u表示输入矢量x与权矢量w之间的欧氏距离。在多维空间中,该基函数的形状是一个以w为球心的超球。3.椭圆基函数21()njjjjucxw1.3激活函数f(*)的类型1.硬极限函数:常用于分类。1,01,0()()sgn()0,01,0uuyfuyfuuuu或其中sgn(*)为符号函数。2.线性函数:常用于实现函数逼近的网络。y=f(u)=u3.饱和线性函数:常用于分类。1()|1||1|2yfuuu34.Sigmoidal函数,也称S函数:常用于分类、函数逼近或优化。1111()()uuueyfuyfuee或5.高斯函数:常用于RBF网络。22()uyfue1.4神经学习算法神经网络的学习有两种形式:有导学习和无导学习。有导学习也称监督学习(SupervisedLearning)。一般情况下,有导学习的训练样本是输入输出对(,iipd),1,2,,in,其中ip为输入样本,id为输出样本(期望输出,或教师信号)。神经网络训练的目的是:通过调节各神经元的自由参数,是网络产生期望的行为,即当输入样本ip时,网络输出尽可能接近id。无导学习也称无监督学习(UnsupervisedLearning)或自组织学习(Self-OrganizedLearning)。无导学习不提供教师信号,只规定学习方式或某些规则,具体的学习内容随系统所处环境(即输入信号情况)而异,系统可以自动发现环境特征和规律。不管是有导学习还是无导学习,都要通过调整神经元的自由参数(权值或阈值)实现。输入样本:T121(,,,,)nxxxx当前权值:T12()(,,,,)nwt期望输出:T12(,,,)ndddd权值调节公式:1()()()wtwtwt,其中为学习率,一般取较小的值,权值调整量()wt一般与x,d及当前权值w(t)有关。41.Hebb学习规则输入样本:T121(,,,,)nxxxx当前权值:T12()(,,,,)nwt实际输出:(())Tyfwtx权值调节公式:1()()()wtwtwt,其中权值调整量()wtyx。2.离散感知器学习规则如果神经元的基函数取线性函数,激或函数取硬极限函数,则神经元就成了单神经元感知器,其学习规则称离散感知器学习规则,是一种有导学习算法。常用于单层及多层离散感知器网络。输入样本:T12(,,,)nxxxx当前权值:T12()(,,,)nwt期望输出:T12(,,,)ndddd当前输出:()sgn(())Tyfuwtx当前误差信号:()sgn(())Tetdydwtx当前权值调节量:()()wtetx权值修正公式:1()()()wtwtwt。3.学习规则1986年,认知心理学家McClelland和RumeChart在神经网络训练中引入了(Delta)规则,该规则也称连续感知器学习规则。输入样本:T12(,,,)nxxxx当前权值:T12()(,,,)nwt期望输出:T12(,,,)ndddd基函数:T1niiiuwxwx实际输出:11()uyfue(激活函数)输出误差:2211()[()]22Edydfu5神经元权值调节学习规则的目的是:通过训练权值w,使得对于训练样本对(x,d),神经元的输出误差2211()[()]22Edydfu达最小,误差E是权向量w的函数,欲使误差E最小,w应与误差的负梯度成正比,即wE,其中,比例系数是一个常数,误差梯度:'()()Edfufux得权值调整公式:TT1()()[()]()wtwtdfwxfwxx常用于:单层、多层神经网络、BP网。4.LMS学习规则1962年,BernardWidrow和MarcianHoff提出了Widrow-Hoff学习规则,因为它能使神经元实际输出与期望输出之间的平方差最小,故又称最小均方规则(LMS)。在学习规则中,若激活函数f(u)取:TT()yfwxwx,则学习规则就成为LMS学习规则:输入样本:T12(,,,)nxxxx当前权值:T12()(,,,)nwt期望输出:T12(,,,)ndddd基函数:T1niiiuwxwx实际输出:T()yfuwx(激活函数)输出误差:2211()[]22TEdydwxTEdwxx权值调整公式:T1()()()wtwtdwxx常用于自适应线性单元。5.竞争学习规则也称Winner-Take-All(胜者为王)学习规则,用与无导师学习。一般将网络的某一层确定为竞争层,对于一个特定的输入x,竞争层的所有神经元均有输出响应,其中响应值最大的神经元m为在竞争中获胜的神经元,即:T1,2,,max()Tmiipwxwx只有获胜神经元才有权调整其权向量mw,调整量为:()mmwxw,式中(0,1],是6一个小的学习常数,一般其值随着学习大进展而减少。由于两个向量的点积越大,表明两者越近似,所以调整获胜神经元权值的是使mw进一步接近当前输入x。显然,当下次出现与x相像的输入模式时,上次获胜的神经元更容易获胜,在反复的竞争学习过程中,竞争层的各神经元所对应的权向量被逐渐调整为样本空间的聚类中心。1.5神经网络的拓扑结构主要有前向神经网络和反馈神经网络。§2.多层感知器网络(MLP)2.1单层(两层)感知器模型图3两层感知器模型输入样本:T12(,,,)nxxxx当前权值:111212122212mmnmnnnm期望输出:T12(,,,)mdddd基函数:T1niiiuwxwx实际输出(激活函数):()sgn()yfuu由于对不同的输出单元,其连接权是相互独立的,因而可将一个多输出两层感知器分解成多个u(*)u(*)u(*)......f(u)f(u)f(u)...x1xnx2y1y2ymw11w12w1mwnm7单输出两层感知器。图4两层感知器模型学习算法如下:第一步,设置变量和参量12()1,(),(),,()Tmxnxnxnxn为输入向量,或训练样本。12()(),(),(),,()Tmwnbnwnwnwn为权值向量,b(n)为偏差。y(n)为实际输出,d(n)为期望输出,为学习速率,n为迭代次数。第二步,初始化,赋给(0)jw各一个较小的随机非零值,n=0。第三步,对于一组输入样本12()1,(),(),,()Tmxnxnxnxn,指定它的期望输出d,ifX1d=1,ifX2d=-1第四步,计算实际输出()sgn(()())Tynwnxn第五步,调整权值向量1()()(()())()wtwtdnynxn第六步,若()()()endnyn,或(1)()wnwn,算法结束,否则,n=n+1,转到第二步。例`1用单层感知器解决一个简单的分类问题。设计一个感知器,将二维的四组输入矢量分成两类:输入矢量:P=[-0.5-0.50.30;-0.50.5–0.51]目标矢量:T=[1100]解:对感知器的图解分析可知,感知器对输入矢量的分类实际是在输入矢量空间,用W*X+b=0的分割线对输入矢量进行切割而达到分类目的。根据这个原理,对此例中二维四组输入矢量的分类u(*)...x1xnx2f(u)yjw1jw2jwnjujb(n)8问题,可以用下述不等式组来等价的表达出:12121220.50.500.50.500.30.500wwbwwbwwbwb实际上,可以用代数求解法来求出上面不等式中的参数,其解的范围为:112111200.813一组可能解为:12100.1wwb本题所要设计的单层感知器的网络结构图为:图5其中,T,sgn()uwxbyuMatlab源代码:(MLP_class.m)%单层感知器:分类P=[-0.5-0.50.30;-0.50.5-0.51];%输入矢量T=[1100];%目标矢量net=newp([-11;-11],1);%返回画线句柄,下一次绘制分类线时将旧的删除handle=plotpc(net.iw{1},net.b{1});%设置训练次数:最大为10次net.trainParam.epochs=10;net=train(net,P,T);Y=sim(net,P);figure;plotpv(P,Y);handle=plotpc(net.iw{1},net.b{1},handle)图6..++u(*)x1x2f(u)yw1w2ub9例2某单层计算节点感知器有3个输入,给定3对训练样本如下:11(1,1,2,0),1TXd;22(1,0,1.5,0.5),1TXd;33(1,1,1,0.5),1TXd设初始权向量(0)(0.5,1,1,0),0.1Tw,注意:输入向量中第一个分量0x恒等于-1,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。解:目的是求0123(,,,)T,使|sgn()|Tdwx,其中0123(,,,)Txxxxx为训练样本,0w为阈值。Matlab源代码:(MLP_my.m)%某单层感知器有3个输入,对给定的3个输入样本和目标矢量,训练该感知器X=[-1,1,-2,0;-1,0,1.5,-0.5;-
本文标题:神经网络与数模讲义
链接地址:https://www.777doc.com/doc-4258134 .html