神经网络自适应线性元件_第1页
神经网络自适应线性元件_第2页
神经网络自适应线性元件_第3页
神经网络自适应线性元件_第4页
神经网络自适应线性元件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、第05章 自适应线性元件 自适应线性元件(Adaptive Linear Element,简称Adaline) 由威德罗(Widrow)和霍夫(Hoff)首先提出的 它与感知器的主要不同之处在于其神经元有一个线性激活函数,这允许输出可以是任意值,而不仅仅只是像感知器中那样只能取0或1。 它采用的是WH学习法则,也称最小均方差(LMS)规则对权值进行训练自适应线性元件的主要用途是线性逼近一个函数式而进行模式联想。 51自适应线性神经元模型和结构 图5. 1 自适应线性神经网络的结构 52 WH学习规则 WH学习规则是由威德罗和霍夫提出的用来修正权矢量的学习规则 采用WH学习规则可以用来训练一定网

2、络的权值和偏差使之线性地逼近一个函数式而进行模式联想(Pattern Association)。 定义一个线性网络的输出误差函数为: 我们的目的是通过调节权矢量,使E(W,B)达到最小值。所以在给定E(W,B)后,利用WH学习规则修正权矢量和偏差矢量,使E(W,B)从误差空间的某一点开始,沿着E(W,B)的斜面向下滑行。 ftp:/M 或表示为: (5. 3) 为学习速率。在一般的实际运用中,实践表明,通常取一接近1的数,或取值为:(5.5) 学习速率的这一取法在神经网络工具箱中用函数maxlinlr.m来实现。(55)式可实现为: WH学习规则的函数为:learnwh.m来实现,加上线性自适

3、应网络输出函数purelin.m,可以写出WH学习规则的计算公式为: Apurelin(W*P);ETA;dW,dBlearnwh(P,E,h);WW十dW;BB十dB; 采用WH规则训练自适应线性元件使其能够得以收敛的必要条件是被训练的输入矢量必须是线性独立的,且应适当地选择学习速率以防止产生振荡现象。 53 网络训练 自适应线性元件的网络训练过程可以归纳为以下三个步骤: 1)表达:计算训练的输出矢量AW*P十B,以及与期望输出之间的误差ETA; 2)检查:将网络输出误差的平方和与期望误差相比较,如果其值小于期望误差,或训练已达到事先设定的最大训练次数,则停止训练;否则继续; 3)学习:采用

4、WH学习规则计算新的权值和偏差,并返回到1)。 采用Matlab进行自适应线性元件网络的训练过程如下:trainwh.m 表达式A=purelin(W*P,B);E=T-A;SSEsumsqr(E);求误差平方和for epoch1: max_epoch 循环训练if SSEerr_goal比较误差epochepoch1;break若满足期望误差要求,结束训练enddW,dB1earnwh(P,E,lr);修正权值WW十dW;BB十dB;Apurelin(W*P,B);网络输出ET-A;SSEsumsqr(E);计算网络误差平方和end 54例题与分析 例51设计自适应线性网络实现从输入矢量到

5、输出矢量的变换关系。其输入矢量和输出矢量分别为: P1.0 -1.2 T0.5 1.0wf1.mP1 -1.2;T0.5 1;R,Qsize(P);S,Qsize(T);W,Brands(S,R);max_epoch20;最大循环次数err_goal0.001;期望误差1r0.4*maxlinlr(P);最佳学习速率disp_freq1;设置显示频率TPdisp_freq max_epoch err_goal lr;设置参数变量TPW,B,epochs,errortrainwh(W,B,P,T,TP) 进行线性网络权值训练在随机初始值为:W00.9309;B00.8931的情况下,经过12次循

6、环训练后,网络的输出误差平方和达到0.000949,网络的最终权值为:W-0.2354;B0.7066实际上,对于例5.1这个简单的例题,它存在一个精确解,且可以用解二元一次方程的方式将P和T值分别对应地代入方程TW*P十B得: 可解出eT-A0的解为:W-0.2273;B0.7273由此看出,对于特别简单的问题,采用自适应线性网络的训练不一定能够得到足够精确的解。因为当训练误差达到期望误差值后,训练即被终止。 对于具有零误差的自适应线性网络,即输入/输出矢量对存在着严格的线性关系,此时的自适应线性网络的设计可以采用工具箱中另外一个名为solvelin.m的函数。W,Bsolvelin(P,T

7、) 然后可用simulin.m函数来检测所设计的网络: Asimulin(P,W,B) 还可以用sumsqr.m函数来求出误差平方和: SSEsumsqr(T-A) 例52现在来考虑一个较大的多神经元网络的模式联想的设计问题。输入矢量和目标矢量分别为: 解:由输入矢量和目标输出矢量可得:r3,s4,q4。所以网络的结构如图52所示。 这个问题的求解同样可以采用线性方程组求出,即对每一个输出节点写出输入和输出之间的关系等式。 实际上要求出这16个方程的解是需要花费一定的时间的,甚至是不太容易的。对于一些实际问题,常常并不需要求出其完美的零误差时的解。也就是说允许存在一定的误差。在这种情况下,采用

8、自适应线性网络求解就显示出它的优越性:因为它可以很快地训练出满足一定要求的网络权值。 wf2.mP=1 1.5 1.2 0.3; -1 2 3 0.5; 2 1 1.6 0.9;T=0.5 3 2.2 1.4; 1.1 1.2 1.7 0.4; 3 0.2 1.8 0.4; -1 0.1 1.0 0.6;disp_freq=400;中间不显示结果max_epoch=400;err_goal=0.001;lr=0.9*maxlinlr(P);W=1.9978 0.5959 0.3517; 1.5543 0.05331 1.3660;%初始权值1.0672 0.3645 0.9227; -0.77

9、47 1.3839 0.3384;B=0.0746; -0.0642; -0.4256; -0.6433;SSEsumsqr(T-purelin(W*P,B);%未训练前误差fprintf(Before trainihg, sum squared error=g. n, SSE)训练网络flops(0)tpdisp_freq max_epoch err_goal lr;%设置参数变量tpW, B, epochs,errorstrainwh(W, B, P, T, tp); %进行线性网络权值训练W显示最终训练权矢量B显示最终训练偏差矢量SSEsumsqr(T-purelin(W*P, B);最

10、终误差显示结果并给出结论ploterr(errors), fprintf (n After.0f epochs,sum squared e errorg. nn, SSE),fprintf (Training took .0f flops. n, flops),fprintf ( Trained network operates:); if SSEerr_goal disp(Adequately.) elsedisp(Inadequately.) endend训练后的网络权值为: 网络训练过程中的误差记录 对于存在零误差的精确权值网络,若用函数solvelin.m来求解,则更加简单如下:wf3

11、.mP1 1.5 1.2 0.3; -1 2 3 0.5; 2 1 1.6 0.9;T0.5 3 2.2 1.4; 1.1 1.2 1.7 0.4; 3 0.2 1.8 -0.4; -1 0.1 1.0 0.6;W,Bsolvelin(P,T);Asimulin (P, W, B);SSEsumsqr (T-A)WBend由此可得零误差的唯一精确解为: 例53设计训练一个线性网络实现下列从输人矢量到目标矢量的变换: 所给出的输入矢量元素之间是线性相关的:第三组元素等于第二组元素的两倍减去第一组:P32P2P1。 由于输入矢量的奇异性,用函数solvelin.m来设计时网络会产生问题。只有在能够

12、线性地解出问题的情况下,用函数solvelin.m才比较准确。 只要将前面已编写的wf2.m程序中的输入与目标矢量改变一下,并给出(l,1)之间的随机初始值,即可运行看到本例的结果。其最终误差在1.04左右,这就是本例题下的最小误差平方和,而当采用完全线性函数的设计solvelin.m去求解网络权值时,所得到的误差是4.25。采用WH算法训练出的误差是它的14,由此可见其算法的优越性。 例54现在假定在例51的输入输出矢量中增加两组元素,使其变为P1.0 1.5 3.0 -1.2T0.5 1.1 3.0 -1.0本例题的目的是在于了解自适应线性网络的线性逼近求解的能力。 图54给出了输入输出对

13、的位置以及网络求解的结果。对于所设置的err_goal0.001, 在循环训练了50次后所得的误差平方和仍然为:SSE0.289。这个值即是本题所能达到的最小误差平方和的值。当采用线性自适应线性网络求解问题所得到的误差特别大时,可以认为此问题不适宜用线性网络来解决。 图5. 4网络训练结果图 自适应线性网络还有另一个潜在的困难,当学习速率取得较大时,可导致训练过程的不稳定。 例55输入/目标矢量与例51相同。我们将以不同的学习速率训练两次网络以展现两种不希望的学习速率带来的影响。以例5.1 为样本,1)对于第一个尝试,学习速率lr取:1r1.7*maxlinlr(P); 2)第二个尝试是选用更

14、大学习速率:1r2.5*maxlinlr(P); 55对比与分析 感知器和自适应线性网络 (1)网络模型结构上网络模型结构上 感知器和自适应线性网络而言,结构上的主要区别在于激活函数:一个是二值型的,一个线性的。 当把偏差与权值考虑成一体时,自适应线性网络的输入与输出之间的关系可以写成AW*P。如果P是满秩的话,则可以写成AP-1W,或W=A/P。 (2)学习算法学习算法 感知器的算法是最早提出的可收敛的算法,它的自适应思想被威德罗和霍夫发展成使其误差最小的梯度下降法。最后又在BP算法中得到进一步的推广,它们属于同一类算法。 (3)适用性与局限性适用性与局限性 感知器仅能够进行简单的分类。从前面的例题中已经看出,感知器可以将输入分成两类或四类等。它的局限性是仅能对线性可分的输入进行分类。 自适应线性网络除了像感知器一样可以进行线性分类外,又多了线性逼近,这仅是由于其激活函数可以连续取值而不同于感知器的仅能取0或1的缘故。 作业 设计一个有三个输入的单层线性网络:P=2 3 2.4 -0.6; -2 4 6 -1; 4 2 -3.2 1.8T=1 6 -4.4 2.8; 2.2-2.4 3.

温馨提示

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

评论

0/150

提交评论