神经网络-(5)自适应线性元件大全教学资料_第1页
神经网络-(5)自适应线性元件大全教学资料_第2页
神经网络-(5)自适应线性元件大全教学资料_第3页
神经网络-(5)自适应线性元件大全教学资料_第4页
神经网络-(5)自适应线性元件大全教学资料_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、 52 WH学习规则 WH学习规则是由威德罗和霍夫提出的用 来修正权矢量的学习规则 采用WH学习规则可以用来训练一定网络 的权值和偏差使之线性地逼近一个函数 式而进行模式联想(Pattern Association)。 定义一个线性网络的输出误差函数为: 我们的目的是通过调节权矢量,使E(W,B)达到最小值。 所以在给定E(W,B)后,利用WH学习规则修正权矢量 和偏差矢量,使E(W,B)从误差空间的某一点开始,沿 着E(W,B)的斜面向下滑行。 ftp:/M Zed_0203_ex1.m 根据梯度下降法,权矢量的修正值正比于当前位 置上E(W,B)的梯度,对于第i个输出节点有: 或表示为:

2、(5. 3) 为学习速率。在一般的实际运用中,实践表明, 通常取一接近1的数,或取值为: (5.5) 学习速率的这一取法在神经网络工具箱中用函数 maxlinlr.m来实现。(55)式可实现为: WH学习规则的函数为:learnwh.m来实现,加上线性 自适应网络输出函数purelin.m,可以写出WH学习规 则的计算公式为: Apurelin(W*P); ETA; dW,dBlearnwh(P,E,h); WW十dW; BB十dB; 采用WH规则训练自适应线性元件使其能够得以收敛 的必要条件是被训练的输入矢量必须是线性独立的, 且应适当地选择学习速率以防止产生振荡现象。 53 网络训练 自适

3、应线性元件的网络训练过程可以归纳为以下 三个步骤: 1)表达:计算训练的输出矢量AW*P十B,以及 与期望输出之间的误差ETA; 2)检查:将网络输出误差的平方和与期望误差相 比较,如果其值小于期望误差,或训练已达到 事先设定的最大训练次数,则停止训练;否则 继续; 3)学习:采用WH学习规则计算新的权值和偏 差,并返回到1)。 采用Matlab进行自适应线性元件网络的训练过程如下: trainwh.m 表达式 A=purelin(W*P,B); E=T-A; SSEsumsqr(E);求误差平方和 for epoch1: max_epoch 循环训练 if SSEerr_goal比较误差 e

4、pochepoch1; break若满足期望误差要求,结束训练 end dW,dB1earnwh(P,E,lr);修正权值 WW十dW; BB十dB; Apurelin(W*P,B);网络输出 ET-A; SSEsumsqr(E);计算网络误差平方和 end 54例题与分析 例51设计自适应线性网络实现从输入矢 量到输出矢量的变换关系。其输入矢量 和输出矢量分别为: P1.0 -1.2 T0.5 1.0 wf1.m P1 -1.2; T0.5 1; R,Qsize(P); S,Qsize(T); W,Brands(S,R); max_epoch20;最大循环次数 err_goal0.001;期

5、望误差 1r0.4*maxlinlr(P);最佳学习速率 disp_freq1;设置显示频率 TPdisp_freq max_epoch err_goal lr;设置参数变量TP W,B,epochs,errortrainwh(W,B,P,T,TP) 进行线性网 络权值训练 在随机初始值为:W00.9309;B00.8931 的情况下,经过12次循环训练后,网络的输出 误差平方和达到0.000949,网络的最终权值为: W-0.2354;B0.7066 实际上,对于例5.1这个简单的例题,它存在一 个精确解,且可以用解二元一次方程的方式将 P和T值分别对应地代入方程TW*P十B得: 可解出eT

6、-A0的解为: W-0.2273;B0.7273 由此看出,对于特别简单的问题,采用自适应线 性网络的训练不一定能够得到足够精确的解。 因为当训练误差达到期望误差值后,训练即被 终止。 对于具有零误差的自适应线性网络,即输入/输出 矢量对存在着严格的线性关系,此时的自适应 线性网络的设计可以采用工具箱中另外一个名 为solvelin.m的函数。 W,Bsolvelin(P,T) 然后可用simulin.m函数来检测所设计的网络: A simulin(P,W,B) 还可以用sumsqr.m函数来求出误差平方和: SSEsumsqr(T-A) 例52现在来考虑一个较大的多神经元网络的 模式联想的设

7、计问题。输入矢量和目标矢量分 别为: 解: 由输入矢量和目标输出矢量可得:r3,s4,q 4。所以网络的结构如图52所示。 这个问题的求解同样可以采用线性方程组求出,即对每 一个输出节点写出输入和输出之间的关系等式。 实际上要求出这16个方程的解是需要花费一定的 时间的,甚至是不太容易的。 对于一些实际问题,常常并不需要求出其完美的 零误差时的解。也就是说允许存在一定的误差。 在这种情况下,采用自适应线性网络求解就显示 出它的优越性:因为它可以很快地训练出满足 一定要求的网络权值。 wf2.m P=1 1.5 1.2 0.3; -1 2 3 0.5; 2 1 1.6 0.9; T=0.5 3

8、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.7747 1.3839 0.3384; B=0.0746; -0.0642; -0.4256; -0.6433; SSEsumsqr(T-purelin(W*P,B); %未训练前误

9、差 fprintf(Before trainihg, sum squared error=g. n, SSE) 训练网络 flops(0) tpdisp_freq max_epoch err_goal lr;%设置参数变量tp W, B, epochs,errorstrainwh(W, B, P, T, tp); %进行线性网络权值训 练 W显示最终训练权矢量 B显示最终训练偏差矢量 SSEsumsqr(T-purelin(W*P, B);最终误差 显示结果并给出结论 ploterr(errors), fprintf (n After.0f epochs,sum squared e error

10、g. nn, SSE), fprintf (Training took .0f flops. n, flops), fprintf ( Trained network operates:); if SSEerr_goal disp(Adequately.) else disp(Inadequately.) end end 训练后的网络权值为: 网络训练过程中的误差记录 对于存在零误差的精确权值网络,若用函数solvelin.m来 求解,则更加简单如下: wf3.m P1 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

11、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) W B end 由此可得零误差的唯一精确解为: 例53设计训练一个线性网络实现下列从 输人矢量到目标矢量的变换: 所给出的输入矢量元素之间是线性相关的:第三组元 素等于第二组元素的两倍减去第一组:P32P2P1。 由于输入矢量的奇异性,用函数solvelin.m来设计时 网络会产生问题。只有在能够线性地解出问题的情 况下,用函数solvelin.m才比较准确。 只要将前面已编写的wf2.m程序中的输入与目标

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

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

14、分析 感知器和自适应线性网络 (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.8 T=1 6 -4.4 2.8; 2.2-2.4 3.4-0.8; 60.

温馨提示

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

评论

0/150

提交评论