基于数据预测的学习算法优化研究

2016-06-23 00:17翟龙飞陈迎春杨冲闫心宝
中文信息 2016年4期

翟龙飞+陈迎春++杨冲++闫心宝

摘 要: 通过对标准梯度下降算法BP神经网络进行应用研究,众多学者发现其收敛速度有待进一步提高。本文通过对标准BP网络分析以及针对网络中暴露的问题逐步解决优化,逐算法进行训练比较,最终选出最优算法。

关键词:学习算法 标准梯度 最优理论

中图分类号:TP301.5 文献标识码:A 文章编号:1003-9082(2016)04-0006-01

研究发现,标准BP网络算法暴露出的主要问题有:一是训练网络易陷入局部最优;二是网络收敛慢,训练时间长;三是训练时对于旧样本趋势进行遗忘[1]。目前BP网络的优化学习算法可分为两大类:基于标准梯度下降的启发式学习算法和基于最优理论的训练算法[2]。

一、基于改进标准梯度启发式学习算法分析

改进梯度算法是在原有标准梯度算法基础上,通过优化计算网络权值和阈值的调整方式实现收敛优化的目的。改进梯度算法包括增加动量法、学习速率可变法和弹性梯度法。

1.增加动量的梯度下降算法

标准梯度算法有遗忘旧样本趋势,即在网络训练中只参考本次样本输入影响,在此情况下便导致网络训练震荡性大。为克服该弱点,引入动量因素,即考虑以往网络输入对于当前梯度方向影响,如式(1)中引入前一时刻网络调整方向: (1)

表示时刻,表示时刻的负梯度。由于考虑了以往梯度的影响,相当于给迭代过程中增加了一个低通滤波器,使得网络综合历史以及当前情况进行调整,从而忽略了误差下降曲面的部分不规则细节优化了网络收敛。

2.学习速率可变的梯度下降算法

在标准梯度下降的BP网络中,学习速率是恒定的,这就造成了网络训练前期和后期,学习速率对于网络自身的不适应性。为解决学习速率带来的问题,引入学习速率可变的算法。

该算法通过当前总误差与前一次总误差对比,实现学习速率的自适应调整,根据当前训练所在误差曲面的复杂度来确定学习速率的调整。

同增加动量的梯度下降算法一样,学习速率可变的梯度下降算法同样存在权值的修正量过小,学习效率得不到保证的问题。

3.弹性梯度下降算法

为解决输入数据进入Sigmoid传输函数“饱和区”的不利影响,当训练进入平坦区时,压缩神经元输入,从而使得输入退饱和区。该算法数学表达为:

由(2)式可知,当 时,传输函数的敏感区段延长至原来的倍。输入退出饱和区时,自适应调整 ,使得传输函数拥有较高灵敏度。

二、基于最优理论的算法分析

基于最优化理论,在BP网络的研究上有共轭梯度法、拟牛顿法和Levenberg-Marquardt法。

1.共轭梯度算法

标准梯度下降算法,目标拟合思想是权值和阈值调整沿误差函数下降最快的方向,然而由于误差曲面的非光滑性质,导致梯度下降方向并不一定为收敛最快方向,且易陷入局部最优。因此,引入共轭梯度,权值和阈值调整沿共轭梯度方向调整来获得更快收敛[3]。

2.拟牛顿算法

在数值优化算法中,标准的牛顿法迭代公式为: (3)

是误差性能函数对当前权值和偏差的二阶微分构成的Hessian矩阵[3]。然而,对于前向型BP网络,计算Hessian矩阵耗费的计算资源量较大,反而提高了收敛时间。拟牛顿算法是每一次迭代计算一个近似Hessian矩阵,不仅提高了计算效率而且还解决了Hessian矩阵计算困难的问题,提高了网络性能。

3.Levenberg-Marquardt算法

综合以上两种算法特点,提出Levenberg-Marquardt学习算法BP网络。L-M法中,将误差性能函数可以表示为平方和的形式,此时,Hessian矩阵可以近似为[3]: (4)

梯度为: (5)

L-M算法的更新过程与牛顿法类似,公式表达如下:

(6)

三、最优算法

1.标准梯度以及其改进算法综合比较

2.基于最优理论学习算法的综合比较

3.两类算法中的最优算法进行比较

通过比较,Levenberg-Marquardt算法在收敛速度和收敛效果上都要优于弹性梯度算法。因此,选取Levenberg-Marquardt算法为最优算法。