Adaline的LMS算法_第1页
Adaline的LMS算法_第2页
Adaline的LMS算法_第3页
Adaline的LMS算法_第4页
Adaline的LMS算法_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

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

文档简介

1、神经网络导论实验报告-Adaline 的 LMS算法专 业:信息与通信工程班级: 5030 班学 号: 3115091011姓名:王 静神经网络导论实验- Adaline 的 LMS 算法'、实验目的1、通过实验了解Adaline的工作原理2、对比LMS的三种算法,并通过上机实验掌握具体实现方法3、与采用硬限幅函数的单个神经元模型进行对比,比较其异同】、实验原理采用硬限幅函数的单个神经元,通过简单的学习算法,可以成功实现两类线 性可分类的分类功能。但对于大多数的非线性可分类来说,则无法完成分类功能, 为此我们转而采用具有线性功能函数的神经元Adaline(Adaptive Linear

2、 Elemen)方法。设输入矢量X=?,?, ,?,加权矢量W=?,?,??,则神经元的输出 可以通过下式来计算:I = WXT = XW1y= f(l) = WXT = XWT要实现Adaline的分类功能,按照最小二乘法的统计意义而言,就是要求所有样 本的实际输出值与理想预期值之间的误差的均方值最小。 设输入观察矢量X的期望输出是d,当权向量为W时的实际输出是y,定义?= ? ?考虑所有可能出现样本的均方误差: 将(1)式代入,可得:? = ?(? ?)? = ? + ?- 2?其中,??? ??是输入向量的自相关矩阵,??? ??是输入向量与期望输出 的互相关向量。由(3)式可知必定存在

3、最佳的加权矢量??使均方误差达到最小, 对(3)式求梯度可得:? = 2?- 2?由(4)式可解最优权向量:? = ?(5)式给出了求最佳加权矢量的方法,但是需要做大量的统计计算,而且当输入 矢量X的维数很大时,需要解决高阶矩阵求逆的问题,这些都是非常困难的。于 是我们给出下面三种递推求解的方法。2.1 LMS学习问题的严格递推学习算法1. 任意设置初始权向量 w(o);2. 对于每一个时序变量k,按下式调整权向量 W:W(k+ 1) = W(k) + a -?(?), ?= 1,2,(6)式的含义为,应该向梯度的负方向调整加权向量W(k),只要选定合适的步幅系数a就能保证学习的收敛性。求出(

4、6)式中的梯度:?= -2?(?)?(|?)(7)于是(6)式变为:W(k+ 1) = W(k) + 2 aE?(?)?(?)(8)用这种方法可以保证求得严格的最佳解, 而且避开了矩阵求逆的困难,但学习过 程中的每一步仍需完成大量的统计计算,统计计算的困难尚需解决。2.2 LMS学习问题的随机逼近算法将(8)是修正为如下形式:W(k+ 1) = W(k) + 2a£ (k)X(k)(9)即得到随机逼近算法,与其严格递推算法的区别在于:用& (k)X(k)代替E & (k)X(k),由此避免了统计计算的困难,但同时也给加权矢量的变化趋势 带来了随机性。2.3 LMS学习

5、问题的基于统计的算法这是一种具有一定统计特性的学习算法 假设学习进行到第k步时,可能出现的样本有 P个,分别用?(?表示, 下标p=1,2,表示在第k步学习过程中可能出现的不同样本编号。第p个样本的理想输出和实际输出分别用??(??和?孜?表示。我们定义“误差平方和”J(k)如下:1?(?= ?E?(?)(10)其中 恋? = ?(?- ?(?,?(?相对于 W的梯度为:2?(?=-初呂?(??张?)(11)令误差朝J(k)减小的方向调整,可得如下递推算法:2?厂?(?+ 1) = ?(?+ -? E?(? ?i(?)(12)当P的数量非常大,使上式右端的求和项足以代表输入的统计特性时,(12

6、)式与(8)式 (严格递推算法)一致,当P取1时,(12)式与(9)式(随机逼近算法) 一致。、实验内容及步骤3.1 LMS算法根据实验原理,??? ??即输入矢量的自相关阵,可得:2.0106 1.1515 R1.1515 1.7398? ?是输入向量与期望输出的互相关向量,可得:P 1.1058 1.0074最佳权向量??? = ?,则有:W PR 10.3517 0.3463档W=?时,均方误差取得最小值:可得:E? ?= ?= ?- ?=0.26233.2随机逼近算法随机逼近算法,根据给出的权向量初始值,每步从样本中随机的选择一 个,按照迭代公式(9),计算下一步的权向量,根据计算出的

7、权向量,计算 此时系统的输出矢量Y,与理想输出比较,得到此时系统的均方误差,若均 方误差满足要求,则迭代结束,否则再选择样本进行训练。下图为随机逼近算法的简单结构框图:随机逼近算法框图其中,步幅系数a= 0.01,加权系数的初始值选择为 W(1)=0.1, 0.1,学习 结束的条件为随机逼近算法的均方误差E(?) < ? 0.001图1 a= 0.01时,均方误差随训练次数的变化曲线迭代结束后,随机逼近算法计算出的加权系数矩阵:W=0.3793, 0.3257如图1所示为实验结果。在a= 0.01时,均方误差随训练次数的变化曲线,随着 学习的进行,均方误差逐渐减小。但是从图中可以看见会有

8、微小的起伏,这是因为每一步加权系数的调整量是向所选样本的误差梯度的负方向调整,但是总的趋势是误差减小的方向,最后满足误差的要求。F列各图为o取值不同时,均方误差随训练次数变化的曲线。图3 a= 0.008时,均方误差随训练次数的变化曲线O.出比需5图2 a= 0.002时,均方误差随训练次数的变化曲线|-| L% |i|i”j|j'i 10 sa 30 jo 50 en to somo训探.工欝kU -b0 25'111D510162C训练次救k-麵扩L逞近谆珪旳方返歪Ernin3壬0.5苦 2口图4 a = 0.01时,均方误差随训练次数的变化曲线图5 a= 0.02时,均方

9、误差随训练次数的变化曲线IS机毎退宜進,alptia=O 33 3-UO.2.6随加世近舁忌均为氏莖Emini拒1=1运止遠越万吐Eirnin1.5L.G门 iii一_一 0102030 in "1 e(l Hl图6 a= 0.1时,均方误差随训练次数的变化曲线Uo 5qo irm 15D0 ?nm ssqd jdoo 3SC0 £DQO fitVBflE图7 a= 0.3时,均方误差随训练次数的变化曲线从图中可以看出,在a= 0.002,0.008,0.01,0.02时,学习均是收敛的,只是对于不同的步幅系数,收敛速度不同。在a = 0.02时收敛最快,在a =0.002

10、时收敛较慢,但是当a= 0.1和a = 0.3时学习是不收敛的。原因:步幅系数影响每次对于加权系数 W的调整量,因此,在步幅系数较 小时(例a= 0.002),每次学习对于加权系数的调整很小,因此训练的次数 较多,但是会收敛。在步幅系数较大时(例a= 0.1),每次学习对于加权系数的调整也会较大,所以,可能会出现这次学习之前,误差没有达到指定的 精度,但是学习之后,由于调整量太大而又超过了指定精度。 所以会出现想 图6所示的振荡现象。3.3基于统计的算法基于统计的算法,根据给出的权向量初始值,每步随机的选择几个样本,(在本次实验中,随机的选择 5个样本)按照迭代公式(12),计算下一步的 权向

11、量,根据计算出的权向量,计算出此时系统的输出矢量丫,与理想输出比较,得到此时的均方误差,若均方误差满足要求,贝泄代结束,否则再选 择样本进行训练。下图为基于统计算法的简单结构框图:基于统计的算法框图其中,步幅系数a= 0.02,输入矢量样本P=5,加权系数的初始值选择为 W(1)=0.1,0.1,学习结束的条件为此算法的均方误差E(?) < ? 0.0010.5越U4OIXn ?图8P=5时,均方误差随训练次数的变化曲线q1f县于统计鼻法命涉逞型015I荃于坑计岂法,Z165迭代结束后,基于统计的算法计算出的加权系数矩阵为:W=0.3283, 0.3506如图8所示为基于统计的算法的实验

12、结果。 在P=5时,随着学习的进行,均方误 差逐渐减小。与随机逼近算法一样,图中可以看出在逼近过程中会有微小的起伏, 这是因为每一步加权系数的调整量是向所选5个样本的误差平方和的梯度的负方向调整。但是总的趋势是误差减小的方向,最后满足误差的要求。下列各图为P取值不同时,均方误差随训练次数变化的曲线。图9P=2时,均方误差随训练次数的变化曲线县于貌计聲法户包.6S0.50 553 50 45|: 3S0 i0 如0 >1Q EflOIDOL I2DD bKQ19J0图10P=50时,均方误差随训练次数的变化曲线从图中可以看出在合适的步幅系数 a= 0.02时,学习过程均是收敛的,随着 P取

13、 值的不同,训练次数不同。P取值越大,每步调整的加权系数 W越精确,所以 训练的次数应该越小。但是我的实验中,在P=50时,虽然收敛的效果很好,但是训练次数太多。3.4 Widrow严格递推算法Widrow严格递推算法,与前两种方法不同的是,每一步调整都是利用 所有的样本,计算其理想输出与实际输出的误差, 权向量向误差梯度的负方 向调整。即每一步利用所有的样本计算调整量,根据给出的权向量初始值, 按照迭代公式(8),计算下一步的权向量,再计算此时系统的输出矢量丫,与理想输出比较,得到此时系统的均方误差,若均方误差满足要求,则迭代结 束,否则选择样本进行训练。下图为Widrow严格递推算法的简单

14、结构框图:所有的输入矢量计算 E( ?) = ?(? ?2E(?)- ?> 0.001Widrow严格递推算法框图其中,步幅系数a= 0.02,加权系数的初始值选择为W(1)=0.1,0.1,学习结束的条件为此算法的均方误差E(?) < ? 0.001温draw的严格拦堆 lEnw1015200135O2ft图11 a = 0.02时,均方误差随训练次数的变化迭代结束后,Widrow严格递推算法计算出的加权系数矩阵:W=0.3454, 0.3296如图11所示,为a= 0.02时,Widrow的严格递推算法计算的系统的均方误差随 训练次数的变化情况,从图中可以看见,因为此算法每次对

15、于加权系数的调整是 利用所有的输入矢量,即向系统的均方误差减小的方向调整, 所以迭代次数比起 另外两种方法少很多。而且均方误差随着训练次数的变化曲线是一直减小的,因为每一步计算的均方误差也是系统的均方误差。图12 a = 0.02时,均方误差随训练次数的变化图13 a= 0.05时,均方误差随训练次数的变化S-33ITIITII032-uiL ff z92B-坤100030007000MOO3X04000H斗3;班图14 a = 0.1时,均方误差随训练次数的变化曲图15 a= 0.35时,均方误差随训练次数的变化网桁-W丁叢 如己叫«?严怡芯, *b=o.osis irrraiQW

16、rJ 严 EmniH 44ErnmO.fl>0.42I0刖L L0 3-jMJ 0149-ET0.4-0.35M5-Q3S3g-r"JjQ. JO-21415W153Q75如上图所示为a取不同的值的时候,系统均方误差随训练次数的变化曲线,步幅 系数o影响每一次加权系数的调整量。从图中可以看见当 取 0.02, 0.05, 0.1时, 迭代均是收敛的,而且a越大,收敛的越快,训练次数越少。但是当a过大时,像实验中的a= 0.35迭代不收敛。3.5检验本实验在检验时,对于用于测试的200个样本,按照三种方法计算出的加权 系数分别计算其对应的实际输出,再与理想输出对比,确定分类是否正

17、确。其中确定错误分类的个数时,用每一个样本的实际输出与对应的理想输出相 乘,结果为正则分类正确,结果为负则分类错误。下面为三种方法分类的结果算法加权系数错误个数正确率(%)随机逼近算法W=0.3793, 0.3257995.5基于统计的算法W=0.3283, 0.3506995.5WidrowW=0.3454,0.32961095四、实验总结与思考4.1实验总结本次实验,由于我对MATLAB掌握的不是很好,所以刚开始在编程方面有一 点困难,但是在理解了整体的思想和学习之后,进行了实验。三种方法实质上就是运用不同的方法计算加权系数 W,随机逼近算法每次随机的选择一个样本进 行调整,基于统计的算法

18、每次选择 P个样本进行调整,Widrow严格递推算法每 次用所有的输入矢量进行调整。所以 Widrow严格递推算法最快,因为它每次调 整的方向都是向系统误差减小的方向调整。算出加权系数W之后,接下来三种方法都一样,就是根据W计算实际输出, 再计算均方误差,根据误差精度的要求确定迭代是否结束。问题:在基于统计的算法中,随着P的增加,应该训练次数减少,但是在我 的实验中,当P=50时,虽然收敛结果很好,但是训练次数太多。比 P=5的时候 还多。4.2实验思考题1、 如果想采用硬限幅函数的单个神经元完成该分类任务,会出现什么样的现象?可能结果会不收敛,因为采用硬限幅函数的单个神经元只能完成线性可分类

19、 问题,但是对于非线性的分类问题可能结果会不收敛。2、通过观察比较随机逼近算法与不同 P时最陡下降算法的均方误差曲线随 时序变量k的变化有什么不同,并简要解释原因。随机逼近算法与基于统计的算法都是利用少量的样本进行加权系数的计算,每次调整都是向所选样本误差减小的方向调整,所以误差曲线都有微小的波动。但是基于统计的算法随着样本 P的增加,其误差曲线趋近平滑, 因为所选样本越多,越能反映总体的误差情况。五、代码5.1 LMS算法计算输入矢量的自相关矩阵 R,矩阵P,最佳权向量W*和最小均方误差Eminclose allclearload(9 E:、谍程神径网络 I 实號'实m.ineV ,

20、 str cat C lns_saip') ) :%加载數据X=samp (:, 1: 2):嚅输入矢重X为亘前两列d-sanLpf .3) A理想输出为第三列Rsun=zF05(2):E.S.UJfzerostL, 2):ELsun-X3 :R=R_sun./200R=EfX' 痕P-.suni=d3 :tP_ sun为肯葡出与对应输入的乗租P*P_Eun. /200.f-P+R"(-l)计算最佳权向里d2=d. ' 2 :Ed2-sun(d2)/200;En)i.n=Ed2-P*V :魯小均方罠差5.2随机逼近算法close all门旨曲leBdC'

21、; E : 1 课程l祁经网搐实XB-ineX1 , streat C lns_sanip,)当加载數据aIpha=0* 01;餐I;E-EI:%K . E分别为最后显示时迭代的次戲和每步的均方误差柜時1=1:ki-ro.Lo. 1:弔加収系数的初始值题目要求误差不鉛过E.nt+a OCH,所以B=ERROR-EniTi<=Ci. 001F-tfhile(m>0- 001)n随机的抽职一个ir=raridL (size(saiiip31):巾椅洁一个随机眾nt=samp(n, :;Sj0SP saiap 的 chri 行x-b(: ,1:2) :丫输入矢里X为亘前两列d-b(:,

22、3) D这个X的理想辅出为第三列«用一个随机矢塑K计算咖权系麹曽 yk>=lt*x,:A W =d-y U:J ;S k+L =1 (!<+2*:alpha»e ft) tx ;S由一个甌机SS入计算的加权系嫌迭代公式 n 计算当前丑对应的总的均方误差A-samp : n 1: 2)匚输入矢里D=samp(:, 3)沁理想输出T=Wk+l*X,:方实际输出ERROR_sum=sunC(I-r), "2):EREOR=E KROR_suh/200 ;衍均 方溟差b)»ERROR-0- 2623:K(k"k:E(k)=ERK0h:lt=

23、k+L:丈nd曲L 口;E=CO- 2623 0. 2623玛显亍最小的均方误Emin plot (K| E»A, G .Legend('帯机谓近直迭均方误差.,'Emm' :titL&('逼近JJ法* alphas0. 01r );MlabH 训练次敎h ):ylabel(,均方误差):5.3基于统计的算法close allclearload(3 E: 课翟、神经网络实骑褻监*uib, strcat C 1b3_3st ) J )厲加養觀拥K-tl:E=::血、E分别対最启显示时迭代的次救和每歩的均方误差矩阵alpha=0. Q2;k-1:W

24、(M=£0,1, 0.1;詹加权素徽的初整HI?=1 ;*按照题目要求误差不蛊过EnirrW. 001,所以rEREOR-Eiir.O. 101Fibile(a>0. 00111得至希个協机样本n=ranii(5anp» I".):勺恂世一牛随机数匕if n<5nit+5;else if n>19?r._n-D;endend b囲为要取5个样本谊个觀厚冥现时是咅生一个暄机埶兀取从第iv-弃苗的连续弓个作詢样本医就要區免和21妬肘的情骁 b=saap (n:n+4f:)汁取从吐开始的呂个乍为样本x=b(:,l 2)理输入矢敷为其前两列d=b(:,3

25、>曲理想输岀为其第三列«周吕十质忸醉本计甘加权系数Fyx*Tkf :%5-P样玄的定际输出etHd-y5样:T的逞差拒阵 for pl : 5p_sua-zeics<Lt 2):SLL>P_5Ufflrl-e k (p) *x (ps ”,-nd(k+1" ik +2 » a lpha<p_ s'um./ 5:tt计豊当前百对直葩总的均方谍差X=sa>p ;.L;2;$输入矢重C=saap(: r3)汨理頰输出Y-Tlk+l* :養买际输出LRROR_sud=Suii(U-Y, ). l2);E WR=E RROR. sum

26、z Z 0 0: 'S -l 方误哇-ERROK-O, 2023.E(k)=kF(k)-ERROR;k=k+1:-end%A-:l k,;B=0, 2623 0. 26231汁显示娃小的均方谟差Euiplot E, A, B'ileC«njd(P環于统计尊盜的均方误差"r" Enin');title C S于筑计壽法,P=5P);ilafrfll C训练次数匸):Jlabel "均方诧差J .5.4 Widrow严格递推算法close allclearload(r E; 程神经网XninflV .strcat (? lis_sa&

27、gt;p?)厲加载数据 aipha=0. 02 ;K=I ;E< :分别対愠后显示时迭代的次数和每栃的均方误差矩阵k=l;WW-». 1. 011伟加权系數的初始值=1:略按矍题目要求渓基不趣过Emin+O. 001T所以m=EKR3J-Enln<=0. 001 呃uXImXL 001) x=samp(:T 1: 2)肖输入矢里X対其前两列d弋amp (:,引;弔理想输出为第三列y=x*1kr :«PEilon*d-y:epELlon_Eum=epEi Ion." :Etpsilon=&psiIon_sua-/200:I kMk +2 *al pha*Eepsi Ion: 由一个髓机输入计賞的加权系数迭代公式Wb计尊当前耐应的总加均方误差X=sauip( 11: 2);弔输入矢蚩D-sampC:,3);中理想输出Y=Itt+L*X,曲买面输岀ERfiOR_sutt-sun(D-T )< '2);ERR0R=ERR0R_5uiii/ 200 汽均方误

温馨提示

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

评论

0/150

提交评论