版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
神经网络自适应线性元件大全第1页/共35页自适应线性元件(AdaptiveLinearElement,简称Adaline)由威德罗(Widrow)和霍夫(Hoff)首先提出的它与感知器的主要不同之处在于其神经元有一个线性激活函数,这允许输出可以是任意值,而不仅仅只是像感知器中那样只能取0或1。它采用的是W—H学习法则,也称最小均方差(LMS)规则对权值进行训练自适应线性元件的主要用途是线性逼近一个函数式而进行模式联想。第2页/共35页5.1自适应线性神经元模型和结构图5.1自适应线性神经网络的结构第3页/共35页5.2W-H学习规则W—H学习规则是由威德罗和霍夫提出的用来修正权矢量的学习规则采用W—H学习规则可以用来训练一定网络的权值和偏差使之线性地逼近一个函数式而进行模式联想(PatternAssociation)。第4页/共35页定义一个线性网络的输出误差函数为:我们的目的是通过调节权矢量,使E(W,B)达到最小值。所以在给定E(W,B)后,利用W—H学习规则修正权矢量和偏差矢量,使E(W,B)从误差空间的某一点开始,沿着E(W,B)的斜面向下滑行。ftp://M/incomingZed_0203_ex1.m第5页/共35页根据梯度下降法,权矢量的修正值正比于当前位置上E(W,B)的梯度,对于第i个输出节点有:或表示为:(5.3)第6页/共35页η为学习速率。在一般的实际运用中,实践表明,η通常取一接近1的数,或取值为:(5.5)学习速率的这一取法在神经网络工具箱中用函数maxlinlr.m来实现。(5.5)式可实现为:第7页/共35页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规则训练自适应线性元件使其能够得以收敛的必要条件是被训练的输入矢量必须是线性独立的,且应适当地选择学习速率以防止产生振荡现象。第8页/共35页5.3网络训练自适应线性元件的网络训练过程可以归纳为以下三个步骤:1)表达:计算训练的输出矢量A=W*P十B,以及与期望输出之间的误差E=T—A;2)检查:将网络输出误差的平方和与期望误差相比较,如果其值小于期望误差,或训练已达到事先设定的最大训练次数,则停止训练;否则继续;3)学习:采用W—H学习规则计算新的权值和偏差,并返回到1)。第9页/共35页采用Matlab进行自适应线性元件网络的训练过程如下:trainwh.m%表达式A=purelin(W*P,B);E=T-A;SSE=sumsqr(E); %求误差平方和forepoch=1:max_epoch %循环训练ifSSE<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第10页/共35页5.4例题与分析
[例5.1]设计自适应线性网络实现从输入矢量到输出矢量的变换关系。其输入矢量和输出矢量分别为:
P=[1.0-1.2]T=[0.51.0]第11页/共35页%wf1.m%P=[1-1.2];T=[0.51];[R,Q]=size(P);[S,Q]=size(T);[W,B]=rands(S,R);max_epoch=20; %最大循环次数err_goal=0.001; %期望误差1r=0.4*maxlinlr(P); %最佳学习速率disp_freq=1; %设置显示频率TP=[disp_freqmax_epocherr_goallr]; %设置参数变量TP[W,B,epochs,error]=trainwh(W,B,P,T,TP)%进行线性网络权值训练第12页/共35页在随机初始值为:W0=—0.9309;B0=—0.8931的情况下,经过12次循环训练后,网络的输出误差平方和达到0.000949,网络的最终权值为:W=-0.2354;B=0.7066实际上,对于[例5.1]这个简单的例题,它存在一个精确解,且可以用解二元一次方程的方式将P和T值分别对应地代入方程T=W*P十B得:
第13页/共35页可解出e=T-A=0的解为:W=-0.2273;B=0.7273由此看出,对于特别简单的问题,采用自适应线性网络的训练不一定能够得到足够精确的解。因为当训练误差达到期望误差值后,训练即被终止。
第14页/共35页对于具有零误差的自适应线性网络,即输入/输出矢量对存在着严格的线性关系,此时的自适应线性网络的设计可以采用工具箱中另外一个名为solvelin.m的函数。[W,B]=solvelin(P,T)然后可用simulin.m函数来检测所设计的网络:
A=simulin(P,W,B)还可以用sumsqr.m函数来求出误差平方和:
SSE=sumsqr(T-A)第15页/共35页[例5.2]现在来考虑一个较大的多神经元网络的模式联想的设计问题。输入矢量和目标矢量分别为:
第16页/共35页解:由输入矢量和目标输出矢量可得:r=3,s=4,q=4。所以网络的结构如图5.2所示。
这个问题的求解同样可以采用线性方程组求出,即对每一个输出节点写出输入和输出之间的关系等式。
第17页/共35页实际上要求出这16个方程的解是需要花费一定的时间的,甚至是不太容易的。对于一些实际问题,常常并不需要求出其完美的零误差时的解。也就是说允许存在一定的误差。在这种情况下,采用自适应线性网络求解就显示出它的优越性:因为它可以很快地训练出满足一定要求的网络权值。
第18页/共35页%wf2.m%P=[11.51.2–0.3;-123–0.5;21–1.60.9];T=[0.53–2.21.4;1.1–1.21.7–0.4;30.2–1.8–0.4;-10.1–1.00.6];disp_freq=400; %中间不显示结果max_epoch=400;err_goal=0.001;lr=0.9*maxlinlr(P);W=[1.9978–0.5959–0.3517;1.55430.053311.3660; %初始权值1.06720.3645–0.9227;-0.77471.3839–0.3384];B=[0.0746;-0.0642;-0.4256;-0.6433];SSE=sumsqr(T-purelin(W*P,B)); %未训练前误差fprintf(‘Beforetrainihg,sumsquarederror=%g.\n’,SSE)第19页/共35页%训练网络flops(0)tp=[disp_freqmax_epocherr_goallr]; %设置参数变量tp[W,B,epochs,errors]=trainwh(W,B,P,T,tp);%进行线性网络权值训练W %显示最终训练权矢量B %显示最终训练偏差矢量SSE=sumsqr(T-purelin(W*P,B)); %最终误差%显示结果并给出结论ploterr(errors),fprintf(‘\nAfter%.0fepochs,sumsquaredeerror=%g.\n\n’,SSE),fprintf(‘Trainingtook%.0fflops.\n’,flops),fprintf(‘Trainednetworkoperates:’);ifSSE<err_goaldisp(‘Adequately.’)elsedisp(‘Inadequately.’)endend第20页/共35页训练后的网络权值为:
网络训练过程中的误差记录
第21页/共35页对于存在零误差的精确权值网络,若用函数solvelin.m来求解,则更加简单如下:%wf3.m%P=[11.51.2–0.3;-123–0.5;21–1.60.9];T=[0.53–2.21.4;1.1–1.21.7–0.4;30.2–1.8-0.4;-10.1–1.00.6];[W,B]=solvelin(P,T);A=simulin(P,W,B);SSE=sumsqr(T-A)WBend第22页/共35页由此可得零误差的唯一精确解为:
第23页/共35页[例5.3]设计训练一个线性网络实现下列从输人矢量到目标矢量的变换:
所给出的输入矢量元素之间是线性相关的:第三组元素等于第二组元素的两倍减去第一组:P3=2P2-P1。
由于输入矢量的奇异性,用函数solvelin.m来设计时网络会产生问题。只有在能够线性地解出问题的情况下,用函数solvelin.m才比较准确。
第24页/共35页只要将前面已编写的wf2.m程序中的输入与目标矢量改变一下,并给出(—l,1)之间的随机初始值,即可运行看到本例的结果。其最终误差在1.04左右,这就是本例题下的最小误差平方和,而当采用完全线性函数的设计solvelin.m去求解网络权值时,所得到的误差是4.25。采用W—H算法训练出的误差是它的1/4,由此可见其算法的优越性。
第25页/共35页[例5.4]现在假定在[例5.1]的输入/输出矢量中增加两组元素,使其变为P=[1.01.53.0-1.2]T=[-1.0]本例题的目的是在于了解自适应线性网络的线性逼近求解的能力。
图5.4给出了输入输出对的位置以及网络求解的结果。对于所设置的err_goal=0.001,在循环训练了50次后所得的误差平方和仍然为:SSE=0.289。这个值即是本题所能达到的最小误差平方和的值。当采用线性自适应线性网络求解问题所得到的误差特别大时,可以认为此问题不适宜用线性网络来解决。第26页/共35页图5.4网络训练结果图
第27页/共35页自适应线性网络还有另一个潜在的困难,当学习速率取得较大时,可导致训练过程的不稳定。
[例5.5]输入/目标矢量与[例5.1]相同。我们将以不同的学习速率训练两次网络以展现两种不希望的学习速率带来的影响。以例5.1为样本,1)对于第一个尝试,学习速率lr取:1r=1.7*maxlinlr(P);2)第二个尝试是选用更大学习速率:1r=2.5*maxlinlr(P);
第28页/共35页第29页/共35页5.5对比与分析
感知器和自适应线性网络
(1)网络模型结构上
感知器和自适应线性网络而言,结构上的主要区别在于激活函数:一个是二值型的,一个线性的。
当把偏差与权值考虑成一体时,自适应线性网络的输入与输出之间的关系可以写成A=W*P。如果P是满秩的话,则可以写成AP-1=W,或W=A/P。
第30页/共35页(2)学习算法
感知器的算法是最早提出的可收敛的算法,它的自适应思想被威德罗和霍夫发展成使其误差最小的梯度下降法。最后又在BP算法中得到进一步的推广,它们属于同一类算法。
第31页/共35页(3)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026版)幼儿园教职工安全培训总结
- 最大高度与最大面积问题教学课件 2026-2027学年人教版数学九年级上册
- 2026中职财税面试题及答案大全
- 山东二模地理试题及答案
- 2026年一建民航实务考前真题详解试卷及答案
- 2026年一建矿业实务考前真题密押特训试卷及答案
- 2026年一建矿业实务考前摸底测试试卷及答案
- 2026电器外贸面试题及答案
- 2026副班导面试题目及答案
- 2026减法规律面试题及答案
- GB/T 47652-2026温室气体产品碳足迹量化方法与要求光伏发电
- 2025年上海市青浦区社区工作者招聘笔试试题及答案详解
- 2026江苏苏州工业园区苏相合作区管理委员会机关人员招聘9人模拟试卷含答案详解(夺分金卷)
- 2026年四川省内江市“五方面人员”中选拔乡镇领导班子成员考试综合试题及答案
- 2026年注册安全工程师完整复习题库(附答案)
- 骨代谢疾病诊疗中国指南(2026 版)
- 2026年首都机场招聘笔试试题及答案解析
- 中考英语感叹句综合练习100题(含答案)
- 电力公司发电厂运行维护人员考核表
- 护理按警示教育培训课件
- 睡眠监测使用课件
评论
0/150
提交评论