




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章单层前向网络及LMS算法1、单层感知器2、单层感知器的学习算法3、自适应线性神经元4、LMS学习算法5、仿真实例神经网络原理1第二章单层前向网络及LMS算法1、单层感知器神经网络原理1感知器是由美国学者F.Rosenblatt在1957年首次提出的神经网络模型。LMS算法是由Widrow和Hoff在1960年提出的高效率易实现的自适应滤波算法。LMS(Least-Mean-Square)算法,可称为最小均方误差算法或梯度算法,也称为Delta规则。本章首先介绍单层感知器及其学习算法,然后介绍自适应线性元件及LMS算法,最后给出典型算法的仿真实例。感知器是由美国学者F.Rosenblatt在1957年首次提22.1单层感知器*感知器是神经网络用来进行模式识别的一种最简单模型。*单层感知器只能用来实现线性可分的两类模式的识别。*单层感知器模型与MP模型的不同之处是其神经元的突触权值是可调的,这样就可以进行学习。*感知器模型在神经网络研究中具有重要的意义和地位。2.1单层感知器*感知器是神经网络用来进行模式识别的一种最32.1.1单层感知器模型感知器神经元模型如图2.1所示。I/O关系:
图2.1感知器模型2.1.1单层感知器模型感知器神经元模型如图图2.1感知器4单层感知器模型如图2.2定义加权系数wij为第i个神经元到第j个输入之间的连接值。
图2.2单层感知器单层感知器模型如图2.25[工学]神经网络第二章单层前向网络及LMS算法课件6感知器包括一个线性累加器和一个二值阈值元件,同时还有一个外部偏差b。线性累加器的输出作为二值阈值元件的输入。二值阈值元件的输入为正数时,神经元输出-1或0。单层感知器可实现两类目标的识别,当感知器输出为+1时,我们认为输入模式为一类;当感知器输出为-1时,我们认为输入模式为另一类。感知器包括一个线性累加器和一个二值阈值元件,同时还有一个外部7在m维信号空间,单层感知器进行模式识别的判决超平面由下式决定:图2.3给出了一种只有两个输入和的判决超平面的情况,它的判决边界是直线
图2.3两类模式识别的判定在m维信号空间,单层感知器进行模式识别的判决超平面由下式决定8
决定判决边界直线的主要参数是权向量W通过合适的学习算法可以训练出满意的权向量
92.1.2单层感知器的学习算法单层感知器的学习算法是基于叠代的思想,通常是采用纠错学习规则的学习算法。为方便,将偏差b作为权向量的一个分量加到权值向量中去,对应的输入向量也增加一项,可设输入向量的第一个分量固定为+1,则输入向量和权值向量可写成如下形式:2.1.2单层感知器的学习算法单层感知器的学习算法是基于叠代10
其中,变量n为叠代次数,b(n)可用表示,则二值阈值元件的输入(激活值)可重新写为:
令上式等于零,即可得在m信号空间的单层感知器的判决超平面。
[工学]神经网络第二章单层前向网络及LMS算法课件11
学习算法如下:第一步设置变量和参量:b(n)为偏差。y(n)为实际输出。d(n)为期望输出。为学习速率。n为迭代次数。学习算法如下:12第二步初始化,赋给[-1,1]区间内的随机非零值,n=0。第三步对于一组输入样本指定它的期望输出d。第四步计算实际输出:第五步调整权向量:第二步初始化,赋给[-1,1]区间内的随机13第六步判断是否满足条件,若满足算法结束,若不满足则n值增加1,转到第三步重新执行。注意:在第六步判断的条件可以是:误差小于设定值,即;权值的变化量已很小,即
迭代次数大于N第六步判断是否满足条件,若满足算法结束,若不14在感知器学习算法中,重要的是引入了一个量化的期望输出d(n),其定义为:
采用纠错学习规则对权向量进行逐步修正,对于线性可分的两类模式,可以证明单层感知器的学习算法是收敛的。2.1.3matlab工具箱应用在感知器学习算法中,重要的是引入了一个量化的期望输出d(n)151.Newp感知器生成函数感知器生成函数newp用于创建一个感知器网络,调用格式为:net=newp(pr,s,tf,lf)其中net:函数返回参数,表示生成的感知器网络;net=newp:表示在一个对话框中定义感知器的属性;pr:一个R×2的矩阵,由R组输入向量的最大值和最小值组成;s:神经元的个数;tf:感知器的传递函数,可选参数为hardlim和hardlims,默认为hardlim;lf:感知器的学习函数,可选参数为learnp和learnpn,默认为learnp.1.Newp感知器生成函数16该函数返回一个新的感知器网络。2.Sim神经网络仿真函数sim用于仿真一个神经网络,调用格式为:[Y,Pf,Af]=sim(net,P,Pi,Ai)其中:net神经网络;P网络的输入;Pi初始输入延迟,缺省值为0;Ai初始的层延迟,缺省值为0。该函数返回Y网络的输出;Pf最终输出延迟;Af最终的层延迟。该函数返回一个新的感知器网络。173.init神经网络初始化调用格式为:net=init(net)init函数调用NET.initFcn函数,根据NET,initParam设定的参数对网络的权值和阈值进行初始化。4.adapt神经网络的自适应格式:[net,Y,E,Pf,Af]=adapt(NET,P,T,Pi,Ai)其中:NET一个神经网络;P网络的输入;Pi初始输入延迟,缺省值为0;Ai初始的层延迟,缺省值为0。3.init神经网络初始化18返回一个具有适应功能NET.adaptFcn及适应参数NET.adaptParam的结果:net 修正后的网络;Y 网络的输出;E 网络的误差;Pf 最终输出延迟;Af 最终的层延迟。而参数T仅对需要目标的网络是必须的,而且是可任选的。5.train神经网络的训练函数格式:[net,tr]=train(NET,P,T,Pi,Ai)返回一个具有适应功能NET.adaptFcn及适应参数NET19train函数是按照NET.trainFcn和NET.trainParam训练网络NET的。其中:NET 神经网络;P 网络的输入;T 网络的目标,默认值为0;Pi 初始输入延迟,默认值为0;Ai 初始的层延迟,默认值为0。返回:net 修正后的网络;TR 训练的纪录(训练步数和性能epochand perf).而参数T仅对需要目标的网络是必须的,而且是可任选的。Pi和Ai仅用于具有输入或层间的延迟的网络,而且也是可以任选的。train函数是按照NET.trainFcn和NET.tra206.learnp感知器的权值/阈值学习函数格式:[dW,LS]=learnp(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)[db,LS]=learnp(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learnp(code)W S×R维的权值矩阵(或S×1维的阈值向量);P Q组R维的输入向量(或Q组单个输入);Z Q组R维的权值输入向量;N Q组R维的网络输入向量;A Q组R维的输出向量;T Q组R维的目标向量;E Q组R维的误差向量;6.learnp感知器的权值/阈值学习函数21gW S×R维的性能参数的梯度;gA Q组R维的性能参数的输出梯度;LP 学习参数,若没有学习参数,LP=[];LS 学习状态,初始值为[]。函数返回以下参数:dW S×R维的权值(或阈值)变化阵;LS 新的学习状态;learnp(code)对于每一个code代码返回相应的有用的信息:'pnames' 返回学习参数的名称;'pdefaults' 返回默认的学习参数;‘needg’ 如果该函数使用gW或gA,则返回值为1。gW S×R维的性能参数的梯度;227.感知器网络的应用简单分类问题设计单一感知器神经元来解决一个简单的分类问题:将4个输入向量分为两类,其中两个输入向量对应的目标值为1,另两个向量对应的目标值为0。对于这个简单的分类问题,所采用的是两个输入的单个感知器,是采用硬限幅阈值函数hardlim的神经元。7.感知器网络的应用23即:输入矢量:P=[-0.5–0.50.30.0;-0.50.5-0.51.0]目标矢量:T=[1.01.00.00.0]输入矢量可以用图来描述,对应于目标值0.0的输入矢量用符号‘○’表示,对应于目标值1.0的输入矢量符号‘+’表示。输入矢量图即:输入矢量图24为解决这个问题,首先用函数newp构造一个输入向量均在[-1,1]之间的单个神经元感知器:net=newp([-11;-11],1);用init对网络进行初始化:net=init(net);利用函数adapt调整网络的权值和阈值,直到误差为0时结束训练:[net,Y,E]=adapt(net,P,T);
训练结束后可得到下图所示的分类曲线,由图可见分类线将两类输入向量正确地分类:为解决这个问题,首先用函数newp构造一个25其相应的训练误差的变化如图所示。这说明经过4步训练后,就达到了误差指标的要求。
1.分类结果2.误差变化曲线其相应的训练误差的变化如图所示。这说26感知器神经网络在取不同的初始条件时,其训练的结果不同,即用感知器求解分类问题可得到多个解。当网络训练完成之后,其权值和阈值就不再改变,这是就可利用训练好的感知器神经网络来解决实际的分类问题,对任意的输入矢量进行分类。例如:p=[0.7;1.2];a=sim(net,p);得到的分类结果如图所示:感知器神经网络在取不同的初始条件时,其训练的结果不同,即用感27可见感知器网络能对输入向量进行正确的分类,同时验证了网络的正确性。(源程序见附录1中的例2.1)感知器应用结果感知器应用结果28讨论局限性1)由于激活函数为阈值函数,输出矢量只能取0、1,所以仅可以解决简单的分类问题;2)输入矢量线性可分时,学习在有限次数内收敛;3)输入矢量的奇异性导致较慢的收敛。比如当输入/输出矢量分别为:
P=[-0.5–0.5+0.3–0.1–80-0.5+0.5–0.5+1.0100];T=[11001];时,必然导致训练的困难;4)异或问题不可解。讨论局限性1)由于激活函数为阈值函数,输出矢量只能取0、1,292.2自适应线性神经元自适应线性神经元Adaline模型如图2.4所示:
图2.4自适应线性神经元模型
LMS算法模拟输出二值输出·2.2自适应线性神经元自适应线性神经元Adaline模型如图30它实际上是一个连续时间线性阀值逻辑器件。神经元的输入向量的各分量被权向量加权(连接单位输入,来控制阀值电平),得到模拟输出和二值输出。模拟输出为:二值输出为:其中:为符号函数,当它实际上是一个连续时间线性阀值逻辑器件。31单个神经元具有n个二进制输入,共有个可能的输入模式,具有一个模拟输出和一个二值输出。单个神经元只能实现线性可分函数。自适应线性神经元采用LMS学习算法。
假定只有两个输入和,则自适应线性神经元的模拟输出为:调整临界阀值条件,可令y输出为零,有单个神经元具有n个二进制输入,共有个可能的输入模式32该直线方程为自适应线性神经元实现线性可分函数。如图2.5所示,通过学习总是可以得到一条直线将空心小园和实心小园分开。
图2.5线性可分模式空间该直线方程为自适应线性神经元实现线性可分函33用自适应线性神经元实现非线性可分函数的方法有两种,一是对神经元施加非线性输入函数,如图2.6所示。
图2.6两个非线性输入的Adaline神经元用自适应线性神经元实现非线性可分函数的方法有34若令Y=0,上式为曲线方程,通过选择W,可实现非线性函数,使得自适应线性神经元具有非线性可分性。如图2.7所示:
图2.7自适应线性元件的非线性可分性[工学]神经网络第二章单层前向网络及LMS算法课件35另一种实现非线性函数可分的方法是由多个自适应线性神经元和AND逻辑器件构成的,所谓Madalines网络,如图2.8所示。
图2.8两输入Madalines模型AND另一种实现非线性函数可分的方法是由多个自适应AN36其原理是实现多个线性函数,对线性不可非区域进行划分。如图2.9所示:图2.9Madalines的非线性划分其原理是实现多个线性函数,对线性不可非区域372.3LMS学习算法LMS算法也称为Widrow-Hoff算法或Delta算法,由于容易实现而很快得到了广泛的应用,成为自适应滤波的标准算法。Adaline和Madalines模型所采用的就是LMS算法。该方法通过调整单个神经元的权值,使神经元的实际输出与理想输出之差为最小。LMS算法采用了误差最速下降准则,使用的误差测度函数为均方误差MSE。即权值的调整是按均方误差函数负梯度变化。即有2.3LMS学习算法38其中是当前权值,是下一步权值,是学习率,是MES曲面上对应于的梯度值。设MSE测度函数(误差平方和)为其中,为在j输出单元的期望输出;第j单元的实际输出为[工学]神经网络第二章单层前向网络及LMS算法课件39改写上式为:其中,为当前模式输入向量。定义瞬时梯度为:则有注意,上式采用的是瞬时梯度下降来训练网络的权值,因此,LMS算法实际上偏离了E真正的梯度下降方向,是一种近似的梯度下降。但当学习率很小时,这种偏离是可以忽略的。改写上式为:40当学习率比较小时,LMS算法自适应过程较慢,但这时可记忆更多的过去数据,从而结果更精确。也可以说,学习率的倒数表示了LMS算法的记忆容量。若要实现全局误差函数E上的梯度下降,则的变化应正比于负平均梯度,即:当学习率比较小时,LMS算法自适应过程较慢,但这时41之所以采用瞬时梯度,是因为它可以直接从单个样本数据求得。此外,要计算所有训练模式的平均梯度是很费时的,因而在实际中很少用。当用式(2.2)来训练网络,为获得全局误差最小的最优权值,需要无限次的迭代运算。有限次迭代得到的解只是近似解,这是LMS学习算法的一个不足之处。可以看出,LMS算法与感知器的误差修正算法在形式上是一样的,但他们有本质上的差别。差别在于:感知器学习的数学基础是模式空间超平面位置的调整;LMS算法学习的数学基础是误差曲面上的梯度下降。之所以采用瞬时梯度,是因为它可以直接从单个42LMS算法步骤初始化。选择一输入样本。计算实际输出。如果误差则结束训练。计算,更新。返回2LMS算法步骤43网络应用设计举例
对线性神经元进行训练设计一个简单的单层线性神经元,使其实现从输入到输出的变换关系。
P=[+1.0–1.2]T=[+0.5+1.0]给出权值和阈值的范围并绘制误差曲面及误差等高线,w_range=-1:0.1:1;b_range=-1:0.1:1;ES=errsurf(P,T,w_range,'purelin');plotes(w_range,b_range,ES);网络应用设计44误差曲面及误差等高线误差曲面及误差等高线如下图所示。误差曲面及误差等高线误差曲面及误差等高线如下图所示。45学习速率问题在网络设计中,学习速率的选取是影响收敛速度以及训练结果的一个很重要的因素。只要学习速率足够小,采用Widrow-Hoff学习规则的线性网络总可以训练出一个最小的输出误差。但是当学习速率较大时,可导致训练过程的不稳定。Matlab工具箱给出了一个正确求解学习率的函数maxlinlr。下面我们用maxlinlr求得的学习率大的值训练网络。学习速率问题46举例学习速率过大输入和目标与上例相同,但学习率是原来的1.5倍。本例选取的学习率为
maxlr=maxlinlr(P,'bias');训练次数为net.trainParam.epochs=20;建立一个学习率为原来的1.5倍的线性网络:net=newlin([-22],1,[0],maxlr*2.25)该程序的仿真结果为:a=66.2114举例学习速率过大47
1.误差曲面及误差等高线2.训练过程的误差曲线当学习率选取较大时,误差越来越大,网络不收敛。如图所示。1.误差曲面及误差等高线2.训练48举例
自适应噪声消除设计一个自适应线性网络,使其对输入信号进行预测。程序如下:time=1:0.01:2.5;X=sin(sin(time).*time*10);P=con2seq(X);T=con2seq(2*[0X(1:(end-1))]+X);plot(time,cat(2,P{:}),time,cat(2,T{:}),'--');title('InputandTargetSignals');xlabel('Time');legend({'Input','Target'})举例自适应噪声消除49net=newlin([-33],1,[01],0.1);[net,Y,E,Pf]=adapt(net,P,T);plot(time,cat(2,Y{:}),'b',...time,cat(2,T{:}),'r',...time,cat(2,E{:}),'g',[12.5],[00],'k')legend({'Output','Target','Error'})net=newlin([-33],1,[01],0.50如图所示,在2秒时,网络输出与目之间的误差接近于零,因此该线性网络可以对输入信号(噪声)进行对消。
1输入信号和目标函数2网络输出、目标函数及误差如图所示,在2秒时,网络输出与目之间的误差接近于零,因此该线51第二章单层前向网络及LMS算法1、单层感知器2、单层感知器的学习算法3、自适应线性神经元4、LMS学习算法5、仿真实例神经网络原理52第二章单层前向网络及LMS算法1、单层感知器神经网络原理1感知器是由美国学者F.Rosenblatt在1957年首次提出的神经网络模型。LMS算法是由Widrow和Hoff在1960年提出的高效率易实现的自适应滤波算法。LMS(Least-Mean-Square)算法,可称为最小均方误差算法或梯度算法,也称为Delta规则。本章首先介绍单层感知器及其学习算法,然后介绍自适应线性元件及LMS算法,最后给出典型算法的仿真实例。感知器是由美国学者F.Rosenblatt在1957年首次提532.1单层感知器*感知器是神经网络用来进行模式识别的一种最简单模型。*单层感知器只能用来实现线性可分的两类模式的识别。*单层感知器模型与MP模型的不同之处是其神经元的突触权值是可调的,这样就可以进行学习。*感知器模型在神经网络研究中具有重要的意义和地位。2.1单层感知器*感知器是神经网络用来进行模式识别的一种最542.1.1单层感知器模型感知器神经元模型如图2.1所示。I/O关系:
图2.1感知器模型2.1.1单层感知器模型感知器神经元模型如图图2.1感知器55单层感知器模型如图2.2定义加权系数wij为第i个神经元到第j个输入之间的连接值。
图2.2单层感知器单层感知器模型如图2.256[工学]神经网络第二章单层前向网络及LMS算法课件57感知器包括一个线性累加器和一个二值阈值元件,同时还有一个外部偏差b。线性累加器的输出作为二值阈值元件的输入。二值阈值元件的输入为正数时,神经元输出-1或0。单层感知器可实现两类目标的识别,当感知器输出为+1时,我们认为输入模式为一类;当感知器输出为-1时,我们认为输入模式为另一类。感知器包括一个线性累加器和一个二值阈值元件,同时还有一个外部58在m维信号空间,单层感知器进行模式识别的判决超平面由下式决定:图2.3给出了一种只有两个输入和的判决超平面的情况,它的判决边界是直线
图2.3两类模式识别的判定在m维信号空间,单层感知器进行模式识别的判决超平面由下式决定59
决定判决边界直线的主要参数是权向量W通过合适的学习算法可以训练出满意的权向量
602.1.2单层感知器的学习算法单层感知器的学习算法是基于叠代的思想,通常是采用纠错学习规则的学习算法。为方便,将偏差b作为权向量的一个分量加到权值向量中去,对应的输入向量也增加一项,可设输入向量的第一个分量固定为+1,则输入向量和权值向量可写成如下形式:2.1.2单层感知器的学习算法单层感知器的学习算法是基于叠代61
其中,变量n为叠代次数,b(n)可用表示,则二值阈值元件的输入(激活值)可重新写为:
令上式等于零,即可得在m信号空间的单层感知器的判决超平面。
[工学]神经网络第二章单层前向网络及LMS算法课件62
学习算法如下:第一步设置变量和参量:b(n)为偏差。y(n)为实际输出。d(n)为期望输出。为学习速率。n为迭代次数。学习算法如下:63第二步初始化,赋给[-1,1]区间内的随机非零值,n=0。第三步对于一组输入样本指定它的期望输出d。第四步计算实际输出:第五步调整权向量:第二步初始化,赋给[-1,1]区间内的随机64第六步判断是否满足条件,若满足算法结束,若不满足则n值增加1,转到第三步重新执行。注意:在第六步判断的条件可以是:误差小于设定值,即;权值的变化量已很小,即
迭代次数大于N第六步判断是否满足条件,若满足算法结束,若不65在感知器学习算法中,重要的是引入了一个量化的期望输出d(n),其定义为:
采用纠错学习规则对权向量进行逐步修正,对于线性可分的两类模式,可以证明单层感知器的学习算法是收敛的。2.1.3matlab工具箱应用在感知器学习算法中,重要的是引入了一个量化的期望输出d(n)661.Newp感知器生成函数感知器生成函数newp用于创建一个感知器网络,调用格式为:net=newp(pr,s,tf,lf)其中net:函数返回参数,表示生成的感知器网络;net=newp:表示在一个对话框中定义感知器的属性;pr:一个R×2的矩阵,由R组输入向量的最大值和最小值组成;s:神经元的个数;tf:感知器的传递函数,可选参数为hardlim和hardlims,默认为hardlim;lf:感知器的学习函数,可选参数为learnp和learnpn,默认为learnp.1.Newp感知器生成函数67该函数返回一个新的感知器网络。2.Sim神经网络仿真函数sim用于仿真一个神经网络,调用格式为:[Y,Pf,Af]=sim(net,P,Pi,Ai)其中:net神经网络;P网络的输入;Pi初始输入延迟,缺省值为0;Ai初始的层延迟,缺省值为0。该函数返回Y网络的输出;Pf最终输出延迟;Af最终的层延迟。该函数返回一个新的感知器网络。683.init神经网络初始化调用格式为:net=init(net)init函数调用NET.initFcn函数,根据NET,initParam设定的参数对网络的权值和阈值进行初始化。4.adapt神经网络的自适应格式:[net,Y,E,Pf,Af]=adapt(NET,P,T,Pi,Ai)其中:NET一个神经网络;P网络的输入;Pi初始输入延迟,缺省值为0;Ai初始的层延迟,缺省值为0。3.init神经网络初始化69返回一个具有适应功能NET.adaptFcn及适应参数NET.adaptParam的结果:net 修正后的网络;Y 网络的输出;E 网络的误差;Pf 最终输出延迟;Af 最终的层延迟。而参数T仅对需要目标的网络是必须的,而且是可任选的。5.train神经网络的训练函数格式:[net,tr]=train(NET,P,T,Pi,Ai)返回一个具有适应功能NET.adaptFcn及适应参数NET70train函数是按照NET.trainFcn和NET.trainParam训练网络NET的。其中:NET 神经网络;P 网络的输入;T 网络的目标,默认值为0;Pi 初始输入延迟,默认值为0;Ai 初始的层延迟,默认值为0。返回:net 修正后的网络;TR 训练的纪录(训练步数和性能epochand perf).而参数T仅对需要目标的网络是必须的,而且是可任选的。Pi和Ai仅用于具有输入或层间的延迟的网络,而且也是可以任选的。train函数是按照NET.trainFcn和NET.tra716.learnp感知器的权值/阈值学习函数格式:[dW,LS]=learnp(W,P,Z,N,A,T,E,gW,gA,D,LP,LS)[db,LS]=learnp(b,ones(1,Q),Z,N,A,T,E,gW,gA,D,LP,LS)info=learnp(code)W S×R维的权值矩阵(或S×1维的阈值向量);P Q组R维的输入向量(或Q组单个输入);Z Q组R维的权值输入向量;N Q组R维的网络输入向量;A Q组R维的输出向量;T Q组R维的目标向量;E Q组R维的误差向量;6.learnp感知器的权值/阈值学习函数72gW S×R维的性能参数的梯度;gA Q组R维的性能参数的输出梯度;LP 学习参数,若没有学习参数,LP=[];LS 学习状态,初始值为[]。函数返回以下参数:dW S×R维的权值(或阈值)变化阵;LS 新的学习状态;learnp(code)对于每一个code代码返回相应的有用的信息:'pnames' 返回学习参数的名称;'pdefaults' 返回默认的学习参数;‘needg’ 如果该函数使用gW或gA,则返回值为1。gW S×R维的性能参数的梯度;737.感知器网络的应用简单分类问题设计单一感知器神经元来解决一个简单的分类问题:将4个输入向量分为两类,其中两个输入向量对应的目标值为1,另两个向量对应的目标值为0。对于这个简单的分类问题,所采用的是两个输入的单个感知器,是采用硬限幅阈值函数hardlim的神经元。7.感知器网络的应用74即:输入矢量:P=[-0.5–0.50.30.0;-0.50.5-0.51.0]目标矢量:T=[1.01.00.00.0]输入矢量可以用图来描述,对应于目标值0.0的输入矢量用符号‘○’表示,对应于目标值1.0的输入矢量符号‘+’表示。输入矢量图即:输入矢量图75为解决这个问题,首先用函数newp构造一个输入向量均在[-1,1]之间的单个神经元感知器:net=newp([-11;-11],1);用init对网络进行初始化:net=init(net);利用函数adapt调整网络的权值和阈值,直到误差为0时结束训练:[net,Y,E]=adapt(net,P,T);
训练结束后可得到下图所示的分类曲线,由图可见分类线将两类输入向量正确地分类:为解决这个问题,首先用函数newp构造一个76其相应的训练误差的变化如图所示。这说明经过4步训练后,就达到了误差指标的要求。
1.分类结果2.误差变化曲线其相应的训练误差的变化如图所示。这说77感知器神经网络在取不同的初始条件时,其训练的结果不同,即用感知器求解分类问题可得到多个解。当网络训练完成之后,其权值和阈值就不再改变,这是就可利用训练好的感知器神经网络来解决实际的分类问题,对任意的输入矢量进行分类。例如:p=[0.7;1.2];a=sim(net,p);得到的分类结果如图所示:感知器神经网络在取不同的初始条件时,其训练的结果不同,即用感78可见感知器网络能对输入向量进行正确的分类,同时验证了网络的正确性。(源程序见附录1中的例2.1)感知器应用结果感知器应用结果79讨论局限性1)由于激活函数为阈值函数,输出矢量只能取0、1,所以仅可以解决简单的分类问题;2)输入矢量线性可分时,学习在有限次数内收敛;3)输入矢量的奇异性导致较慢的收敛。比如当输入/输出矢量分别为:
P=[-0.5–0.5+0.3–0.1–80-0.5+0.5–0.5+1.0100];T=[11001];时,必然导致训练的困难;4)异或问题不可解。讨论局限性1)由于激活函数为阈值函数,输出矢量只能取0、1,802.2自适应线性神经元自适应线性神经元Adaline模型如图2.4所示:
图2.4自适应线性神经元模型
LMS算法模拟输出二值输出·2.2自适应线性神经元自适应线性神经元Adaline模型如图81它实际上是一个连续时间线性阀值逻辑器件。神经元的输入向量的各分量被权向量加权(连接单位输入,来控制阀值电平),得到模拟输出和二值输出。模拟输出为:二值输出为:其中:为符号函数,当它实际上是一个连续时间线性阀值逻辑器件。82单个神经元具有n个二进制输入,共有个可能的输入模式,具有一个模拟输出和一个二值输出。单个神经元只能实现线性可分函数。自适应线性神经元采用LMS学习算法。
假定只有两个输入和,则自适应线性神经元的模拟输出为:调整临界阀值条件,可令y输出为零,有单个神经元具有n个二进制输入,共有个可能的输入模式83该直线方程为自适应线性神经元实现线性可分函数。如图2.5所示,通过学习总是可以得到一条直线将空心小园和实心小园分开。
图2.5线性可分模式空间该直线方程为自适应线性神经元实现线性可分函84用自适应线性神经元实现非线性可分函数的方法有两种,一是对神经元施加非线性输入函数,如图2.6所示。
图2.6两个非线性输入的Adaline神经元用自适应线性神经元实现非线性可分函数的方法有85若令Y=0,上式为曲线方程,通过选择W,可实现非线性函数,使得自适应线性神经元具有非线性可分性。如图2.7所示:
图2.7自适应线性元件的非线性可分性[工学]神经网络第二章单层前向网络及LMS算法课件86另一种实现非线性函数可分的方法是由多个自适应线性神经元和AND逻辑器件构成的,所谓Madalines网络,如图2.8所示。
图2.8两输入Madalines模型AND另一种实现非线性函数可分的方法是由多个自适应AN87其原理是实现多个线性函数,对线性不可非区域进行划分。如图2.9所示:图2.9Madalines的非线性划分其原理是实现多个线性函数,对线性不可非区域882.3LMS学习算法LMS算法也称为Widrow-Hoff算法或Delta算法,由于容易实现而很快得到了广泛的应用,成为自适应滤波的标准算法。Adaline和Madalines模型所采用的就是LMS算法。该方法通过调整单个神经元的权值,使神经元的实际输出与理想输出之差为最小。LMS算法采用了误差最速下降准则,使用的误差测度函数为均方误差MSE。即权值的调整是按均方误差函数负梯度变化。即有2.3LMS学习算法89其中是当前权值,是下一步权值,是学习率,是MES曲面上对应于的梯度值。设MSE测度函数(误差平方和)为其中,为在j输出单元的期望输出;第j单元的实际输出为[工学]神经网络第二章单层前向网络及LMS算法课件90改写上式为:其中,为当前模式输入向量。定义瞬时梯度为:则有注意,上式采用的是瞬时梯度下降来训练网络的权值,因此,LMS算法实际上偏离了E真正的梯度下降方向,是一种近似的梯度下降。但当学习率很小时,这种偏离是可以忽略的。改写上式为:91当学习率比较小时,LMS算法自适应过程较慢,但这时可记忆更多的过去数据,从而结果更精确。也可以说,学习率的倒数表示了LMS算法的记忆容量。若要实现全局误差函数E上的梯度下降,则的变化应正比于负平均梯度,即:当学习率比较小时,LMS算法自适应过程较慢,但这时92
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 细胞融合技术分类图解
- 肺癌晚期气促治疗
- 北京2025年民族团结杂志社公开招聘9人笔试历年参考题库附带答案详解
- 其他地区2025年西藏山南市事业单位招聘220名高校毕业生笔试历年参考题库附带答案详解
- 2025至2031年中国水松纸机行业投资前景及策略咨询研究报告
- 2025至2031年中国梅毒试纸行业投资前景及策略咨询研究报告
- 消费习俗保护在线平台行业跨境出海项目商业计划书
- 潜水挑战赛企业制定与实施新质生产力项目商业计划书
- 教育培训AI应用行业跨境出海项目商业计划书
- 2025至2031年中国单晶炉具行业投资前景及策略咨询研究报告
- 医院处方笺-模板
- 【渝人发〔2008〕2号】重庆市事业单位岗位设置管理实施办法(试行)
- 物流信息技术课程
- Q∕GDW 10354-2020 智能电能表功能规范
- 公安局冻结解除冻结存款汇款通知书
- (高清正版)JJF 1908-2021 双金属温度计校准规范
- 硬式内窥镜项目计划书_模板范本
- 最新防雷设施检测报告范本
- 上海初中科学会考知识点汇总——七年级第一学期牛津
- 计算机办公软件应用培训教学计划
- 专业技术人员年度情况考核登记表
评论
0/150
提交评论