首页 > 范文大全 > 正文

基于多种共轭梯度法改进BP算法的分析

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于多种共轭梯度法改进BP算法的分析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要

BP算法也称误差反向传播算法。主要思想就是正向传递信息,反向传播误差来调整网络的权值和阈值,使输出结果不断向目标函数逼近。由于BP算法本身的优点比较多常被分类、模式识别、函数逼近、数据压缩等。多年来对于BP算法的改进和应用领域研究也在不断地进行着。对于BP的算法改进主要有两种方式:一种是基于启发式进行的改进,一种是基于数值优化方式的改进。而基于数值优化的方式主要有共扼梯度法、L_M算法等。本文主要介绍BP算法的几种共轭梯度法思想,并利用实验进行对比分析,方便后续研究者的利用。

【关键词】BP算法 共轭梯度法 改进

在人工神经网络的实际应用中,目前绝大部分都采用bp网络及其变化形式。它是前馈网络的核心部分,常被用于解决非线性问题,是一种有监督的多层前馈神经网络模型。由于权值是利用网络的训练误差进行反向传递来修正的,顾也称其为BP网络。输入信息的正向传递和输出误差的反向传递,构成了BP网络的信息循环,最终使得误差到达最小。BP网络的传统训练方法利用的是梯度下降法,本文则主要介绍BP网络的几种共轭梯度法对网络进行训练,并对实验结果进行对比分析。

1 BP神经网络的梯度下降法

梯度下降法又称最速下降法,是由著名的数学家柯西cauchy于1847年提出的。它的主要思想就是在最快的时间内达到目标值,而这个最快的方式就是函数的梯度。对于函数而言,梯度就是函数的导数。对于BP算法而言,就是利用梯度下降法沿着梯度下降的方向来寻求函数的最优值。它有两种迭代方式:一种是随机梯度下降,另一种是批量梯度下降。在BP网络中一般利用的是批量梯度下降法的原理。下面我们简单介绍下批量梯度下降法的原理。若h(x)是需要拟合的函数;E(θ)为均方误差,主要是用来衡量集众的样本对线性模式的拟合程度。m为训练样本的总数。θ是最终需要通过梯度下降法求得的参数。

而我们的目标就是需要求出E(θ)取极小值的θT向量,根据前人的研究得出,沿着函数梯度的方向下降就能最快找到极小值。

所以计算E(θ)关于θT的偏导数,也就得到了向量中每一个θ的梯度:

沿着梯度的方向更新参数的值,迭代直到收敛。可以看到,批量梯度下降是用了训练集中的所有样本,所以这种训练一般直适合小样本的训练学习,而且训练过程中易陷入局部极小值且易出现震荡现象。

2 几种共轭梯度法

共轭梯度法是梯度法的一种改进方法。可以弥补梯度法振荡和收敛性差的缺陷,基本思想是寻找与负梯度方向和上一次搜索反向共轭的方向作为新的搜索反向,从而加快训练速度,并提高训练精度。所有的共轭梯度法都采用负梯度方向作为初始搜索方向:p0=-g0,然后沿着该方向作一维搜索:,接下来,就是利用共轭方向作为新一轮的搜索方向,通常在当前负梯度方向上附加上一次搜索方向:。而的选取衍生出各种梯度法,如:Fletcher-Reeves、Polak-Ribiere、Powell-Beale、量化共轭梯度法等。

(1)在Fletcher-Reeves共轭梯度法中,修正系数如下:

(2)在Polak-Ribiere共轭梯度法中修正系数如下:

(3)而Powell-Beale共轭梯度法和以上两种不同,因为它不是改变修正系数,二是改进设置负梯度方向搜索的条件。在一般的共轭梯度法中,当迭代次数等于网络参数(权值和阈值)的个数时,再将搜索方向设置为负梯度方向。在Powell-Beale共轭梯度法中,条件改变如下:

如果该条件满足,搜索方向就还原为负梯度反向。

(4)量化共轭梯度法不同于前面介绍的几种共轭梯度法。上面介绍的几种都需要进行一维搜索,这样就可以耗费很多时间。应用Moller提出的量化共轭梯度法(SCG)就避免了耗时的以为搜索,其基本思想是融合了可信区间法和共轭梯度法,具体的方法就不再赘述了。下节我们通过实例进行仿真验证上面几种算法的特性。

3 应用Matlab进行实验对比分析

本节主要是借鉴MATLAB神经网络与应用中的实例进行分析,总结以上几种训练方法的特点,并在此基础上进行汇总分析。首先设置输入值和期望输出值。如表1所示。

通过上述实验是通过20组实验后得到的平均值,可以看出述几种实验模拟得到的结果和原始值很相近。所以上述训练方法对BP网络的训练还是有意义的。只是针对不同的情况利用不同的练方法而已。

参考文献

[1]陈朝阳,行小帅,李h.共轭梯度BP算法在Matlab 7.0中的实现[J].现代电子技术,2009,32(18):125-127.

[2]江学锋.共轭梯度BP算法在药品销售预测中的应用[J].电脑知识与技术,2012,08(14):3361-3363.

[3]李军,常涛,丁萃菁.改进共轭梯度BP算法的应用研究[J].计算机仿真,2005,22(04):111-113.