第05讲自适应线性元件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5 自适应线性元件 自适应线性元件 (Adaptive Linear Element ,简称 Adaline) 由威德罗( Widrow )和霍夫( Hoff )首先提出的 它与感知器的主要不同之处在于其神经元有一个线性激 活函数,这允许输出可以是任意值,而不仅仅只是像 感知器中那样只能取 0 或 1 。 它采用的是 W — H 学习法则,也称最小均方差 (LMS) 规则 对权值进行训练 自适应线性元件的主要用途是线性逼近一个函数式而进 行模式联想。 5.1 自适应线性神经元模型和结构 图 5. 1 自适应线性神经网络的结构 5 . 2 W - H 学习规则 W — H 学习规则是由威德罗和霍夫提出的 用来修正权矢量的学习规则 采用 W — H 学习规则可以用来训练一定网 络的权值和偏差使之线性地逼近一个函 数式而进行模式联想 (Pattern Association) 。 定义一个线性网络的输出误差函数为: 我们的目的是通过调节权矢量,使 E(W , B) 达到最小值。 所以在给定 E(W , B) 后,利用 W — H 学习规则修正权矢 量和偏差矢量,使 E(W , B) 从误差空间的某一点开始, 沿着 E(W , B) 的斜面向下滑行。 根据梯度下降法,权矢量的修正值正比于当前位置上 E(W , B) 的梯度,对于第 i 个输出节点有: 或表示为: ( 5. 3 ) η 为学习速率。在一般的实际运用中,实践表明, η 通常取一接近 1 的数,或取值为: ( 5.5 ) 学习速率的这一取法在神经网络工具箱中用函数 maxlinlr.m 来实现。 (5 . 5) 式可实现为: W — H 学习规则的函数为: learnwh.m 来实现,加上线 性自适应网络输出函数 purelin.m ,可以写出 W — H 学习规则的计算公式为: A = purelin(W*P) ; E = T — A ; [dW , dB] = learnwh(P , E , h) ; W = W 十 dW ; B = B 十 dB ; 采用 W — H 规则训练自适应线性元件使其能够得以收敛 的必要条件是被训练的输入矢量必须是线性独立的, 且应适当地选择学习速率以防止产生振荡现象。 5 . 3 网络训练 自适应线性元件的网络训练过程可以归纳为以下 三个步骤: 1) 表达:计算训练的输出矢量 A = W*P 十 B ,以 及与期望输出之间的误差 E = T — A ; 2) 检查:将网络输出误差的平方和与期望误差相 比较,如果其值小于期望误差,或训练已达到 事先设定的最大训练次数,则停止训练;否则 继续; 3) 学习:采用 W — H 学习规则计算新的权值和偏 差,并返回到 1) 。 采用 Matlab 进行自适应线性元件网络的训练过程如下: trainwh.m %表达式 A=purelin(W*P , B); E=T-A ; SSE = sumsqr(E); %求误差平方和 for epoch = 1: max_epoch %循环训练 if SSE < err_goal %比较误差 epoch = epoch — 1 ; break %若满足期望误差要求,结束训练 end [dW , dB] = 1earnwh(P , E , lr) ;%修正权值 W = W 十 dW ; B = B 十 dB; A = purelin(W*P , B) ; %网络输出 E = T-A ; SSE = sumsqr(E) ; %计算网络误差平方和 end 5 . 4 例题与分析 [ 例 5 . 1] 设计自适应线性网络实现从输入 矢量到输出矢量的变换关系。其输入矢 量和输出矢量分别为: P = [1.0 -1.2] T = [0.5 1.0] 见程序 wf1.m 在随机初始值为: W 0 = — 0.9309 ; B 0 = — 0.8931 的情况下,经过 12 次循环训练后,网 络的输出误差平方和达到 0.000949 ,网络的 最终权值为: W = -0.2354 ; B = 0.7066 实际上,对于 [ 例 5.1] 这个简单的例题,它存在 一个精确解,且可以用解二元一次方程的方式 将 P 和 T 值分别对应地代入方程 T = W*P 十 B 得: 可解出 e = T-A = 0 的解为: W = -0.2273 ; B = 0.7273 由此看出,对于特别简单的问题,采用自适应线 性网络的训练不一定能够得到足够精确的解。 因为当训练误差达到期望误差值后,训练即被 终止。 对于具有零误差的自适应线性网络,即输入 / 输 出矢量对存在着严格的线性关系,此时的自适 应线性网络的设计可以采用工具箱中另外一个 名为 solvelin.m 的函数。

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档