网络/协议
Adaline神经网络随机逼近LMS算法的仿真研究
1 引言
人工神经网络最重要的功能之一是分类。对于线性可分问题,采用硬限幅函数的单个神经元,通过简单的学习算法就可成功实现分类。即对于两个不同类中的输入矢量,神经元的输出值为0或1。但对于大多数非线性可分类,硬限幅神经元则无法完成分类功能。自适应线性元件Adaline(Adap-tive LiIlear Element)是一种具有线性功能函数的神绎元,在实际输出与理想预期值的最小二乘LMS(Least Mean Square)的统计意义下进行学习,可以实现最佳的非线性可分集合的分类,即按照最小二乘的统计意义要求,实际输出值与理想预期值之间的误差均方值为最小,能够实现这一目的算法即称为最小二乘学习算法或LMS算法。
2 Adaline的LMS算法原理
设输入矢量X=[x1,x2,…,xn],加权矢量W=[ω1,ω2,…,ωn],则神经元的输出为:
定义ε(k)是理想输出值d(k)与实际输出值y(k)之间的误差,即ε(k)=d(k)-y(k),其均方值记作E[ε2(k)],令ζ(k)=E[ε2(k)],则:
由式(2)可知必定存在最佳的加权矢量W*,使ζ(k)达到最小,此时ζ(k)相对于W的梯度等于零,从而可以得到:
式(3)虽然给出了求最佳加权矢量的方法,但需要大量的统计计算,而且当输入矢量X的维数很大时,需要解决高阶矩阵求逆问题,这些在数学计算上都是非常闲难的。
3 随机逼近LMS学习算法的提出
为了解决式(3)存在的问题,有学者提出LMS学习问题的严格递推算法和随机逼近算法,这里简要描述其算法原理。LMS学习问题的严格递推算法是在任意设置初始加权矢量W(0)时,对于每一个时序变量k,对W调整:
用这种方法可以保证求得严格的最佳解,而且避开矩阵求逆。但学习过程的每一步仍需大量的统计计算,仍需解决统计计算困难。
LMS学习问题的随机逼近算法则将权值调整公式修正为下列形式:
该方法与前一算法区别在于:用ε(k)X(k)代替E[ε(k)X(k)],从而避免统计计算的困难,但同时使加权矢量的变化趋向随机性;步幅α变成一个随时序k变化的量,可以证明,当α(k)满足以下条件时,学习是收敛的:α(k)是时序k∞ ∞
的非增函数;在这样k=0 k=0的条件下,W(k)随着k增大而趋向W*的概率为1。
4 随机逼近LMS算法仿真
按以下步骤对随机逼近算法编制程序进行仿真:
(1)对图1所示的正弦波和三角波分别进行64点均匀采样,组成64维输入样本矢量。
(2)W(0)选择服从(0,1)之间均匀分布的随机矢量,初始步长参数α选为0.03,选定误差的平方临界值ε02(k)=10-5,将X0,X1交替重复地送入采用线性函数的神经元,反复训练,直至ε2(k)≤ε02(k),这样可以得到误差平方和学习次数之间的关系,如图2所示。
从图2中可以看出.当α=0.03时,学习是收敛的,学习次数k=1 147,学习完成时ε(k)=3.2x10-3,其平方小于所确定的ε02(k)。把X0,X1重新送入神经元,计算后得到实际输出值Y0=0.003 9,Y1=0.999 9,这和预期输出值相当接近,从而较好完成了X0,X1的分类。
(3)设置不同的步幅α,分别计算并绘制ε2(k)变化曲线,观察ε2(k)的收敛性、收敛速度与α的关系,试验结果如图3所示。从图3中可以看出,当α 很小时,学习收敛,学习速度很慢,且收敛的稳定性较好;当α增大,学习仍保持收敛,但学习速度加快,同时稳定性降低;当α=0.08时,学习已不再收敛。
(4)仿真正确性和抗噪性。产生一系列加噪的正弦波和三角波作为输入矢量,所叠加的噪声服从正态分布N(0,σ2)。规定Pn为正确识别X0的概率,P1 为正确识别X1的概率,ERR为输出错误的个数(总样本:1 000),通过检测可得表1。由表1可看出,当噪声的方差σ2较小时,使用随机逼近算法的Adaline神经元几乎可以无误地识别输入矢量;但当噪声方差逐步加大时,错判的概率也随之加大。而在学习收敛的条件下,步幅α对神经元输出的正确性几乎没有影响。图4是总样本为200时,固定α=0.03.当α2 =3x10-3时的分类结果示意图。
5 仿真结果和分析
首先对两种波形进行64点采样,再利用随机逼近算法对两种波形进行分类,这也相当于一个64 维空间中两个点的分类问题。仿真结果表明:对于不同的初始步幅α,神经元完成学习任务的训练时间不同;在保证学习收敛性的前提下,α越大,收敛速度越快,但收敛的稳定性变差。权矢量的初始值W(0)对学习的收敛性没有影响。最后,对神经元的学习结果进行检验,检验结果验证了经学习训练后,神经元分类的正确性及抗噪性。从网络的原理可看出,在随机逼近算法中,若α(k)是时序k的非增函数,且有
学习是收敛的。但本仿真中均采用恒定步幅值α,这样只有在α的值比较小的情况下,才能保证学习收敛。为了改进算法,可采用时变的步幅α(k)=1/pk+q,则既满足步幅因子收敛的条件,又保证步幅因子在学习开始时较大,而随着学习的进行逐渐减小。
全部0条评论
快来发表一下你的评论吧 !