Levenberg-Marquardt神经网络算法

更新时间:2024-01-26 作者:用户投稿原创标记本站原创 点赞:4809 浏览:15845

[摘 要] 前馈神经网络中的向后传播算法(Backpropagation (BP) Algorithm)算法存在固有的缺陷,Levenberg-Marquardt神经网络算法可以有效地克服这一点BP算法的缺陷.本文给出了Levenberg-Marquardt算法.


[关 键 词 ] 前馈神经网络 Levenberg-Marquardt算法 BP算法

前馈神经网络BP学习算法在理论上具有逼近任意非线性连续映射的能力,在非线性系统的建模及控制领域里有着广泛的应用.然而BP 算法存在一些不足, 主要是收敛速度很慢, 往往收敛于局部极小点, 数值稳定性差, 学习率、动量项系数和初始权值等参数难以调整,非线性神经网络学习算法Levenberg-Marquardt可以有效地克服BP算法所存在的这些缺陷.

一、前馈神经网络

前馈神经网络由输入层、隐层和输出层组成.令u等于[u1,u2,Λ,um]T,y等于[y1,y2,Λ,yn]T络的输入、输出向量, 令X等于[x1,x2,Λ,xN]T为网络的权及阈值的全体所组成的向量.给定P组输入输出训练样本定义网络的误差指标函数为:

(1)

(2)

然后就可以按照各种学习算法开始对X进行训练, 得到最优Xopt, 使得

二、Levenberg-Marquardt神经网络算法

1.给定初始点X(0), 精度,σ,k等于0.

2.对i等于1,2,等,M求fi(X(k)),得向量

对i等于1,2,等,M求得Jacobi矩阵

3.解线性方程组求出搜索梯度方向h(k).

4.直线搜索,其中λk满足

5.若则得到解Xopt,转向7(停止计算), 否则转向6.

6.F(X(k+1))<F(X(k)),则令,k等于k+1, 转向2, 否则等于*ξ,转向3.

7.停止计算

在实际操作中,是一个试探性的参数,对于给定的,如果求得的h(k)能使误差函数Ep(X)降低,则被因子ξ除;若误差函数Ep(X)增加,则乘以因子ξ.在仿真中,选取初始值等于0.01,ξ等于10.在采用Levenberg-Marquardt算法时,为使收敛速度更快,需要增加学习率因子α,取α为0.4.Levenberg-Marquardt算法的计算复杂度为为网络权值数目,如果网络中权值的数目很大.则计算量和存储量都非常大.因此,当每次迭代效率显著提高时,其整体性能可以大为改善,特别是在精度要求高的时候.

三、结论

前馈神经网络中,BP 算法存在收敛速度很慢,收敛于局部极小点等缺陷,而Gauss-Newton的改进算法Levenberg-Marquardt算法能有效克服BP 算法的缺陷.