Adaline的LMS算法_第1页
Adaline的LMS算法_第2页
Adaline的LMS算法_第3页
Adaline的LMS算法_第4页
Adaline的LMS算法_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

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

5、出现的样本有P个,分别用XP(k)表示,下标p=1,2,P表示在第k步学习过程中可能出现的不同样本编号。第p个样本的理想输出和实际输出分别用dpk和yp(k)表示。我们定义“误差平方和”J(k)如下: J(k)=1PPP2(k) (10)其中pk=dpk-ypk,wJ(k)相对于W的梯度为:wJ(k)=-2pppkXp(k) (11)令误差朝J(k)减小的方向调整,可得如下递推算法:Wk+1=Wk+2pppkXp(k) (12)当P的数量非常大,使上式右端的求和项足以代表输入的统计特性时,(12)式与(8)式(严格递推算法)一致,当P取1时,(12)式与(9)式(随机逼近算法)一致。三、实验内

6、容及步骤3.1 LMS算法根据实验原理,REXTX即输入矢量的自相关阵,可得:PEdX是输入向量与期望输出的互相关向量,可得:最佳权向量W*=PR-1,则有:档W=W*时,均方误差取得最小值:可得:E2min=Emin=Ed2-PW*T=0.26233.2 随机逼近算法随机逼近算法,根据给出的权向量初始值,每步从样本中随机的选择一个,按照迭代公式(9),计算下一步的权向量,根据计算出的权向量,计算此时系统的输出矢量Y,与理想输出比较,得到此时系统的均方误差,若均方误差满足要求,则迭代结束,否则再选择样本进行训练。下图为随机逼近算法的简单结构框图:按照式(9)计算W(k+1)计算E2=Ed-y2

7、计算输出Y=W*XTE2-Emin0.001随机选择一个样本结 束NY随机逼近算法框图其中,步幅系数=0.01,加权系数的初始值选择为W(1)=0.1,0.1,学习结束的条件为随机逼近算法的均方误差E2Emin+0.001图1 =0.01时,均方误差随训练次数的变化曲线迭代结束后,随机逼近算法计算出的加权系数矩阵:W=0.3793,0.3257如图1所示为实验结果。在=0.01时,均方误差随训练次数的变化曲线,随着学习的进行,均方误差逐渐减小。但是从图中可以看见会有微小的起伏,这是因为每一步加权系数的调整量是向所选样本的误差梯度的负方向调整,但是总的趋势是误差减小的方向,最后满足误差的要求。

8、下列各图为取值不同时,均方误差随训练次数变化的曲线。图2 =0.002时,均方误差随训练次数的变化曲线图3 =0.008时,均方误差随训练次数的变化曲线图4 =0.01时,均方误差随训练次数的变化曲线图5 =0.02时,均方误差随训练次数的变化曲线图6 =0.1时,均方误差随训练次数的变化曲线图7 =0.3时,均方误差随训练次数的变化曲线从图中可以看出,在=0.002,0.008,0.01,0.02时,学习均是收敛的,只是对于不同的步幅系数,收敛速度不同。在=0.02时收敛最快,在=0.002时收敛较慢,但是当=0.1和=0.3时学习是不收敛的。原因:步幅系数影响每次对于加权系数W的调整量,因

9、此,在步幅系数较小时(例=0.002),每次学习对于加权系数的调整很小,因此训练的次数较多,但是会收敛。在步幅系数较大时(例=0.1),每次学习对于加权系数的调整也会较大,所以,可能会出现这次学习之前,误差没有达到指定的精度,但是学习之后,由于调整量太大而又超过了指定精度。所以会出现想图6所示的振荡现象。3.3 基于统计的算法基于统计的算法,根据给出的权向量初始值,每步随机的选择几个样本,(在本次实验中,随机的选择5个样本)按照迭代公式(12),计算下一步的权向量,根据计算出的权向量,计算出此时系统的输出矢量Y,与理想输出比较,得到此时的均方误差,若均方误差满足要求,则迭代结束,否则再选择样本

10、进行训练。下图为基于统计算法的简单结构框图:Y按照式(12)计算W(k+1)计算E2=Ed-y2计算输出Y=W*XTE2-Emin0.001随机选择五个样本结 束N基于统计的算法框图其中,步幅系数=0.02,输入矢量样本P=5,加权系数的初始值选择为W(1)=0.1,0.1,学习结束的条件为此算法的均方误差E2Emin+0.001图8 P=5时,均方误差随训练次数的变化曲线迭代结束后,基于统计的算法计算出的加权系数矩阵为:W=0.3283,0.3506如图8所示为基于统计的算法的实验结果。在P=5时,随着学习的进行,均方误差逐渐减小。与随机逼近算法一样,图中可以看出在逼近过程中会有微小的起伏,

11、这是因为每一步加权系数的调整量是向所选5个样本的误差平方和的梯度的负方向调整。但是总的趋势是误差减小的方向,最后满足误差的要求。 下列各图为P取值不同时,均方误差随训练次数变化的曲线。图9 P=2时,均方误差随训练次数的变化曲线图10 P=50时,均方误差随训练次数的变化曲线从图中可以看出在合适的步幅系数=0.02时,学习过程均是收敛的,随着P取值的不同,训练次数不同。P取值越大,每步调整的加权系数W越精确,所以训练的次数应该越小。但是我的实验中,在P=50时,虽然收敛的效果很好,但是训练次数太多。3.4 Widrow严格递推算法Widrow严格递推算法,与前两种方法不同的是,每一步调整都是利

12、用所有的样本,计算其理想输出与实际输出的误差,权向量向误差梯度的负方向调整。即每一步利用所有的样本计算调整量,根据给出的权向量初始值,按照迭代公式(8),计算下一步的权向量,再计算此时系统的输出矢量Y,与理想输出比较,得到此时系统的均方误差,若均方误差满足要求,则迭代结束,否则选择样本进行训练。下图为Widrow严格递推算法的简单结构框图:N按照式(8)计算W(k+1)计算系统输出Y=W*XT所有的输入矢量计算E2=Ed-y2E2-Emin0.001结 束YWidrow严格递推算法框图其中,步幅系数=0.02,加权系数的初始值选择为W(1)=0.1,0.1,学习结束的条件为此算法的均方误差E2

13、Emin+0.001图11 =0.02时,均方误差随训练次数的变化曲线迭代结束后,Widrow严格递推算法计算出的加权系数矩阵:W=0.3454,0.3296如图11所示,为=0.02时,Widrow的严格递推算法计算的系统的均方误差随训练次数的变化情况,从图中可以看见,因为此算法每次对于加权系数的调整是利用所有的输入矢量,即向系统的均方误差减小的方向调整,所以迭代次数比起另外两种方法少很多。而且均方误差随着训练次数的变化曲线是一直减小的,因为每一步计算的均方误差也是系统的均方误差。图12 =0.02时,均方误差随训练次数的变化曲线图13 =0.05时,均方误差随训练次数的变化曲线图14 =0

14、.1时,均方误差随训练次数的变化曲线图15 =0.35时,均方误差随训练次数的变化曲线如上图所示为取不同的值的时候,系统均方误差随训练次数的变化曲线,步幅系数影响每一次加权系数的调整量。从图中可以看见当取0.02,0.05,0.1时,迭代均是收敛的,而且越大,收敛的越快,训练次数越少。但是当过大时,像实验中的=0.35迭代不收敛。3.5 检验本实验在检验时,对于用于测试的200个样本,按照三种方法计算出的加权系数分别计算其对应的实际输出,再与理想输出对比,确定分类是否正确。其中确定错误分类的个数时,用每一个样本的实际输出与对应的理想输出相乘,结果为正则分类正确,结果为负则分类错误。下面为三种方

15、法分类的结果算法加权系数错误个数正确率(%)随机逼近算法W=0.3793,0.3257995.5基于统计的算法W=0.3283,0.3506995.5WidrowW=0.3454,0.32961095四、实验总结与思考4.1 实验总结本次实验,由于我对MATLAB掌握的不是很好,所以刚开始在编程方面有一点困难,但是在理解了整体的思想和学习之后,进行了实验。三种方法实质上就是运用不同的方法计算加权系数W,随机逼近算法每次随机的选择一个样本进行调整,基于统计的算法每次选择P个样本进行调整,Widrow严格递推算法每次用所有的输入矢量进行调整。所以Widrow严格递推算法最快,因为它每次调整的方向都是向系统误差减小的方向调整。算出加权系数W之后,接下来三种方法都一样,就是根据W计算实际输出,再计算均方误差,根据误差精度的要求确定迭代是否结束。问题:在基于统计的算法中,随着P的增加,应该训练次数减少,但是在我的实验中,当P=50 时,虽然收敛结果很好,但是训练次数太多。比P=5的时候还多。4.2 实验思考题1、如果想采用硬限幅函数的单个神经元完成该分类任务,会出现什么样的现象?可能结果会不收敛,因为采用硬限幅函数的单个神经元只能完成线性可分类问题,但是对于非线性的分类问题可能结果会不收敛。2、通过观察比较随机逼近算法与

温馨提示

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

评论

0/150

提交评论