Adaline的LMS算法.docx

上传人:聆听****声音 文档编号:1927677 上传时间:2023-05-02 格式:DOCX 页数:16 大小:706.26KB
下载 相关 举报
Adaline的LMS算法.docx_第1页
第1页 / 共16页
Adaline的LMS算法.docx_第2页
第2页 / 共16页
Adaline的LMS算法.docx_第3页
第3页 / 共16页
Adaline的LMS算法.docx_第4页
第4页 / 共16页
Adaline的LMS算法.docx_第5页
第5页 / 共16页
Adaline的LMS算法.docx_第6页
第6页 / 共16页
Adaline的LMS算法.docx_第7页
第7页 / 共16页
Adaline的LMS算法.docx_第8页
第8页 / 共16页
Adaline的LMS算法.docx_第9页
第9页 / 共16页
Adaline的LMS算法.docx_第10页
第10页 / 共16页
Adaline的LMS算法.docx_第11页
第11页 / 共16页
Adaline的LMS算法.docx_第12页
第12页 / 共16页
Adaline的LMS算法.docx_第13页
第13页 / 共16页
Adaline的LMS算法.docx_第14页
第14页 / 共16页
Adaline的LMS算法.docx_第15页
第15页 / 共16页
Adaline的LMS算法.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Adaline的LMS算法.docx

《Adaline的LMS算法.docx》由会员分享,可在线阅读,更多相关《Adaline的LMS算法.docx(16页珍藏版)》请在冰点文库上搜索。

Adaline的LMS算法.docx

《神经网络导论》实验报告

-Adaline的LMS算法

专业:

信息与通信工程

班级:

5030班

学号:

3115091011

姓名:

王静

《神经网络导论》实验一

Adaline的LMS算法

一、实验目的

1、通过实验了解Adaline的工作原理

2、对比LMS的三种算法,并通过上机实验掌握具体实现方法

3、与采用硬限幅函数的单个神经元模型进行对比,比较其异同

二、实验原理

采用硬限幅函数的单个神经元,通过简单的学习算法,可以成功实现两类线性可分类的分类功能。

但对于大多数的非线性可分类来说,则无法完成分类功能,为此我们转而采用具有线性功能函数的神经元Adaline(AdaptiveLinearElement)方法。

设输入矢量X=[x1,x2,…,xN],加权矢量W=[w1,w2,…,wN],则神经元的输出可以通过下式来计算:

I=WXT=XWTy=fI=WXT=XWT

(1)

要实现Adaline的分类功能,按照最小二乘法的统计意义而言,就是要求所有样本的实际输出值与理想预期值之间的误差的均方值最小。

设输入观察矢量X的期望输出是d,当权向量为W时的实际输出是y,定义ε=d-y。

考虑所有可能出现样本的均方误差:

Eε2=E[(d-y)2]

(2)

(1)式代入,可得:

Eε2=Ed2+WRWT-2PWT(3)

其中,R≜E[XTX]是输入向量的自相关矩阵,P≜E[dX]是输入向量与期望输出的互相关向量。

由(3)式可知必定存在最佳的加权矢量W*使均方误差达到最小,对(3)式求梯度可得:

∇wEε2=2WR-2P(4)

由(4)式可解最优权向量:

W*=PR-1(5)

(5)式给出了求最佳加权矢量的方法,但是需要做大量的统计计算,而且当输入矢量X的维数很大时,需要解决高阶矩阵求逆的问题,这些都是非常困难的。

于是我们给出下面三种递推求解的方法。

2.1LMS学习问题的严格递推学习算法

1.任意设置初始权向量W(0);

2.对于每一个时序变量k,按下式调整权向量W:

Wk+1=Wk+α-∇wEε2(k),k=1,2,…(6)

(6)式的含义为,应该向梯度的负方向调整加权向量W(k),只要选定合适的步幅系数α就能保证学习的收敛性。

求出(6)式中的梯度:

∇w=-2Eε(k)X(k)(7)

于是(6)式变为:

Wk+1=Wk+2αEε(k)X(k)(8)

用这种方法可以保证求得严格的最佳解,而且避开了矩阵求逆的困难,但学习过程中的每一步仍需完成大量的统计计算,统计计算的困难尚需解决。

2.2LMS学习问题的随机逼近算法

将(8)是修正为如下形式:

Wk+1=Wk+2αε(k)X(k)(9)

即得到随机逼近算法,与其严格递推算法的区别在于:

用ε(k)X(k)代替Eε(k)X(k),由此避免了统计计算的困难,但同时也给加权矢量的变化趋势带来了随机性。

2.3LMS学习问题的基于统计的算法

这是一种具有一定统计特性的学习算法

假设学习进行到第k步时,可能出现的样本有P个,分别用XP(k)表示,下标p=1,2,…P表示在第k步学习过程中可能出现的不同样本编号。

第p个样本的理想输出和实际输出分别用dpk和yp(k)表示。

我们定义“误差平方和”J(k)如下:

J(k)=1PPεP2(k)(10)

其中εpk=dpk-ypk,∇wJ(k)相对于W的梯度为:

∇wJ(k)=-2ppεpkXp(k)(11)

令误差朝J(k)减小的方向调整,可得如下递推算法:

Wk+1=Wk+2αppεpkXp(k)](12)

当P的数量非常大,使上式右端的求和项足以代表输入的统计特性时,(12)式与(8)式(严格递推算法)一致,当P取1时,(12)式与(9)式(随机逼近算法)一致。

三、实验内容及步骤

3.1LMS算法

根据实验原理,R≜E[XTX]即输入矢量的自相关阵,可得:

P≜E[dX]是输入向量与期望输出的互相关向量,可得:

最佳权向量W*=PR-1,则有:

档W=W*时,均方误差取得最小值:

可得:

Eε2min=Emin=Ed2-PW*T=0.2623

3.2随机逼近算法

随机逼近算法,根据给出的权向量初始值,每步从样本中随机的选择一个,按照迭代公式(9),计算下一步的权向量,根据计算出的权向量,计算此时系统的输出矢量Y,与理想输出比较,得到此时系统的均方误差,若均方误差满足要求,则迭代结束,否则再选择样本进行训练。

下图为随机逼近算法的简单结构框图:

按照式(9)计算W(k+1)

计算Eε2=Ed-y2

计算输出Y=W*XT

Eε2-Emin>0.001

随机选择一个样本

结束

N

Y

随机逼近算法框图

其中,步幅系数α=0.01,加权系数的初始值选择为W

(1)=[0.1,0.1],学习结束的条件为随机逼近算法的均方误差Eε2≤Emin+0.001

图1α=0.01时,均方误差随训练次数的变化曲线

迭代结束后,随机逼近算法计算出的加权系数矩阵:

W=[0.3793,0.3257]

如图1所示为实验结果。

在α=0.01时,均方误差随训练次数的变化曲线,随着学习的进行,均方误差逐渐减小。

但是从图中可以看见会有微小的起伏,这是因为每一步加权系数的调整量是向所选样本的误差梯度的负方向调整,但是总的趋势是误差减小的方向,最后满足误差的要求。

下列各图为α取值不同时,均方误差随训练次数变化的曲线。

图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的调整量,因此,在步幅系数较小时(例α=0.002),每次学习对于加权系数的调整很小,因此训练的次数较多,但是会收敛。

在步幅系数较大时(例α=0.1),每次学习对于加权系数的调整也会较大,所以,可能会出现这次学习之前,误差没有达到指定的精度,但是学习之后,由于调整量太大而又超过了指定精度。

所以会出现想图6所示的振荡现象。

3.3基于统计的算法

基于统计的算法,根据给出的权向量初始值,每步随机的选择几个样本,(在本次实验中,随机的选择5个样本)按照迭代公式(12),计算下一步的权向量,根据计算出的权向量,计算出此时系统的输出矢量Y,与理想输出比较,得到此时的均方误差,若均方误差满足要求,则迭代结束,否则再选择样本进行训练。

下图为基于统计算法的简单结构框图:

Y

按照式(12)计算W(k+1)

计算Eε2=Ed-y2

计算输出Y=W*XT

Eε2-Emin>0.001

随机选择五个样本

结束

N

基于统计的算法框图

其中,步幅系数α=0.02,输入矢量样本P=5,加权系数的初始值选择为W

(1)=[0.1,0.1],学习结束的条件为此算法的均方误差Eε2≤Emin+0.001

图8P=5时,均方误差随训练次数的变化曲线

迭代结束后,基于统计的算法计算出的加权系数矩阵为:

W=[0.3283,0.3506]

如图8所示为基于统计的算法的实验结果。

在P=5时,随着学习的进行,均方误差逐渐减小。

与随机逼近算法一样,图中可以看出在逼近过程中会有微小的起伏,这是因为每一步加权系数的调整量是向所选5个样本的误差平方和的梯度的负方向调整。

但是总的趋势是误差减小的方向,最后满足误差的要求。

下列各图为P取值不同时,均方误差随训练次数变化的曲线。

图9P=2时,均方误差随训练次数的变化曲线

图10P=50时,均方误差随训练次数的变化曲线

从图中可以看出在合适的步幅系数α=0.02时,学习过程均是收敛的,随着P取值的不同,训练次数不同。

P取值越大,每步调整的加权系数W越精确,所以训练的次数应该越小。

但是我的实验中,在P=50时,虽然收敛的效果很好,但是训练次数太多。

3.4Widrow严格递推算法

Widrow严格递推算法,与前两种方法不同的是,每一步调整都是利用所有的样本,计算其理想输出与实际输出的误差,权向量向误差梯度的负方向调整。

即每一步利用所有的样本计算调整量,根据给出的权向量初始值,按照迭代公式(8),计算下一步的权向量,再计算此时系统的输出矢量Y,与理想输出比较,得到此时系统的均方误差,若均方误差满足要求,则迭代结束,否则选择样本进行训练。

下图为Widrow严格递推算法的简单结构框图:

N

按照式(8)计算W(k+1)

计算系统输出Y=W*XT

所有的输入矢量

计算Eε2=Ed-y2

Eε2-Emin>0.001

结束

Y

Widrow严格递推算法框图

其中,步幅系数α=0.02,加权系数的初始值选择为W

(1)=[0.1,0.1],学习结束的条件为此算法的均方误差Eε2≤Emin+0.001

图11α=0.02时,均方误差随训练次数的变化曲线

迭代结束后,Widrow严格递推算法计算出的加权系数矩阵:

W=[0.3454,0.3296]

如图11所示,为α=0.02时,Widrow的严格递推算法计算的系统的均方误差随训练次数的变化情况,从图中可以看见,因为此算法每次对于加权系数的调整是利用所有的输入矢量,即向系统的均方误差减小的方向调整,所以迭代次数比起另外两种方法少很多。

而且均方误差随着训练次数的变化曲线是一直减小的,因为每一步计算的均方误差也是系统的均方误差。

图12α=0.02时,均方误差随训练次数的变化曲线

图13α=0.05时,均方误差随训练次数的变化曲线

图14α=0.1时,均方误差随训练次数的变化曲线

图15α=0.35时,均方误差随训练次数的变化曲线

如上图所示为α取不同的值的时候,系统均方误差随训练次数的变化曲线,步幅系数α影响每一次加权系数的调整量。

从图中可以看见当α取0.02,0.05,0.1时,迭代均是收敛的,而且α越大,收敛的越快,训练次数越少。

但是当α过大时,像实验中的α=0.35迭代不收敛。

3.5检验

本实验在检验时,对于用于测试的200个样本,按照三种方法计算出的加权系数分别计算其对应的实际输出,再与理想输出对比,确定分类是否正确。

其中确定错误分类的个数时,用每一个样本的实际输出与对应的理想输出相乘,结果为正则分类正确,结果为负则分类错误。

下面为三种方法分类的结果

算法

加权系数

错误个数

正确率(%)

随机逼近算法

W=[0.3793,0.3257]

9

95.5

基于统计的算法

W=[0.3283,0.3506]

9

95.5

Widrow

W=[0.3454,0.3296]

10

95

四、实验总结与思考

4.1实验总结

本次实验,由于我对MATLAB掌握的不是很好,所以刚开始在编程方面有一点困难,但是在理解了整体的思想和学习之后,进行了实验。

三种方法实质上就是运用不同的方法计算加权系数W,随机逼近算法每次随机的选择一个样本进行调整,基于统计的算法每次选择P个样本进行调整,Widrow严格递推算法每次用所有的输入矢量进行调整。

所以Widrow严格递推算法最快,因为它每次调整的方向都是向系统误差减小的方向调整。

算出加权系数W之后,接下来三种方法都一样,就是根据W计算实际输出,再计算均方误差,根据误差精度的要求确定迭代是否结束。

问题:

在基于统计的算法中,随着P的增加,应该训练次数减少,但是在我的实验中,当P=50时,虽然收敛结果很好,但是训练次数太多。

比P=5的时候还多。

4.2实验思考题

1、如果想采用硬限幅函数的单个神经元完成该分类任务,会出现什么样的现象?

可能结果会不收敛,因为采用硬限幅函数的单个神经元只能完成线性可分类问题,但是对于非线性的分类问题可能结果会不收敛。

2、通过观察比较随机逼近算法与不同P时最陡下降算法的均方误差曲线随时序变量k的变化有什么不同,并简要解释原因。

随机逼近算法与基于统计的算法都是利用少量的样本进行加权系数的计算,每次调整都是向所选样本误差减小的方向调整,所以误差曲线都有微小的波动。

但是基于统计的算法随着样本P的增加,其误差曲线趋近平滑,因为所选样本越多,越能反映总体的误差情况。

五、代码

5.1LMS算法

计算输入矢量的自相关矩阵R,矩阵P,最佳权向量W*和最小均方误差Emin

5.2随机逼近算法

5.3基于统计的算法

5.4Widrow严格递推算法

5.5检测程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2