APP下载

基于改进粒子群算法的BP 神经网络模型研究①

2012-07-09姚尔果闫秋粉南振岐薛小虎

关键词:惯性全局权重

姚尔果, 闫秋粉, 南振岐, 薛小虎

(1.西北师范大学数学与信息科学学院,甘肃兰州730070;2.新疆乌鲁木齐市军区测绘信息中心,新疆乌鲁木齐830000)

针对BP神经网络[1]易陷入局部最优值,收敛速度慢的问题,本文通过调整粒子群进化速率提出了改进的粒子群算法(DPSO,dynamic particle swarm optimization),增强了全局搜索能力,提高了收敛的精度和速度.最后通过DPSO算法训练BP神经网络,构建了基于改进粒子群算法,DPSO-BP(dynamic particle swarm optimization-back propagation neural network)的神经网络模型.

1 BP神经网络结构

BP神经网络是采用反向传播误差调整的学习方法,本文采用三层前馈神经网络[2,3],如图 1 所示.该网络结构输入层输入预处理的函数指标,经隐含层的非线性映射训练,输出预处理结果,隐含层用Sigmoid函数作为传递函数:

输入层与隐含层的映射关系y0i=C(X0i,Wji).

隐含层与输出层的映射关系yk=(Wji,y0i,λ).

输出信息与期望目标之间的误差e为:

2 粒子群算法

粒子群优化算法为Kennedy和Eberhart两位博士于1995年基于鸟群觅食行为而提出的群体智能算法[4].国内外学者提出了多种改进算法[5-8],文献[6]引入聚焦距离变化率的概念,将惯性因子表示为关于聚焦距离变化率的函数,动态改变惯性权重.文献[7]采用自适应均衡法调整惯性权重因子,达到寻优的过程.本文在改进的DPSO中,引用动态机制调整惯性权重因子w,w值根据粒子i在第k-1次与第k次迭代中搜索的空间步长动态变化.

图1 BP神经网络模型

2.1 标准粒子群优化算法

PSO算法采用速度-位置搜索模型,每个粒子代表搜索空间中待优化问题的一个可行解,通过粒子的群体协作信息和自身信息寻找空间的最优解.

PSO算法的数学描述如下:

2.2 改进的粒子群算法

对w值的选择大部分文献采用线性减小法,此方法缺点是w值的随机性较大,搜索方向的启发性较弱.针对此问题,本文研究基于目标函数平整度动态调整w值,使w随粒子进化率动态变化,随迭代次数非线性变化.

本文提出的粒子进化速率φ(t)直观地反应了粒子i在搜索位置上进化的程度,表示了粒子的目前位置与收敛位置之间的差异,如图2所示:

图2 粒子进化速率

图3 Sphere函数收敛示意图

图4 Rastirgrin函数收敛示意图

当φ(t)>1时,本次迭代发散,要求搜索步长增大以加强全局寻优能力.当0<φ(t)<1时,本次迭代收敛,要求搜索步长减小以加快粒子的聚集度加强剧本寻优.而当经过若干次迭代后,φ(t)保持值为0时,粒子已经找到了最优值或者算法停滞.

改进的惯性权重w按照下式变化:

其中,f(xi(t))为第i个粒子在第t次迭代时对应的函 数 值:f(xi(t))=f(xi,1(t),xi,2(t),…xi,k(t),).f(xbest(t))为最优粒子在第t次迭代时对应的函数值:f(xbest(t))=minf(xi(t)).

图5 改进DPSO-BP算法对目标函数的拟合曲线图

图6 PSO-BP算法对目标函数的拟合曲线图

3 改进粒子群算法的BP神经网络模型算法测试

本算法DPSO与标准粒子群算法PSO相比较,测试该算法的优越性.以Sphere函数和Rastirgrin函数为基准测试函数,进行最小值寻优.维数为20维,两种算法粒子群规模为40,学习因子c1=c2=2,最大迭代次数1000.表1给出了实验结果,图3与图4分别给出了Sphere函数和Rastirgrin函数随迭代次数增加函数收敛变化图.

表1 测试结果

由图3和图4可以看出,DPSO算法具有更快的收敛性,其曲线基本趋于单调下降状态,而标准PSO算法上下波动幅度较大,多次出现水平不变.改进的DPSO算法不易陷入局部最优,可以进行全局寻优,寻找全局最优点.

本文用改进的DPSO-BP算法优化神经网络的参数,使其逃离局部最优,提高全局优化能力.

基于粒子群优化BP神经网络算法步骤如下:

(1)建立BP神经网络模型.设定权值wji和wkj,阈值λ,输入学习样本xi(i),期望输出为yk.

(2)初始化粒子群.设定粒子群规模N,初始化惯性权重因子最大值wmax最小值wmin.

(3)选择训练样本,经t次训练后实际输出与期望输出的均方差作为适应度函数:fitness(xi)=e(xi).

(5)根据(3),(4),(5),(6)式不断的更新粒子位置和速度.

(6)粒子适应度函数值满足预设精度或迭代次数达到预设最大次数则算法停止,输出的全局最优值

4 实验仿真

标准PSO-BP算法与改进DPSO-BP算法对非线性函数的拟合对比:

采用标准PSO-BP算法和改进DPSO-BP算法实现对非线性函数∈[-8,12]的逼近,并对二者的优化结果进行对比.改进DPSO-BP算法对非线性函数的拟合曲线如图5、6所示:

结果分析:在图5和图6中的范围内,PSOBP优化的输出值与目标函数输出值拟合时具有较大的波动性,而DPSO-BP算法优化的输出值趋于平缓,拟合性较好.仿真结果证明了经改进的粒子群算法训练神经网络比标准粒子群算法训练神经网络能够有更好的精度和拟合性.

5 结束语

本文通过采用粒子群算法改进粒子群进化速率,从而调整惯性权重因子,使其呈非线性动态变化,并用其训练神经网络,最后得到基于改进粒子群算法的BP神经网络模型,该模型与标准粒子群算法训练的BP神经网络模型相比,有较高的精度和较好的拟合性能.

[1] 高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2003,151-153.

[2] 徐晋.一种前馈神经网络综合快速学习算法[J].内蒙古工业大学学报,2003,22(3):232-236.

[3] 葛哲学,孙志强.神经网络理论与MATLAB R2007[M].北京:电子工业出版社,2007,108-116.

[4] Hu x,Eberhart R.C.Solving Constrained Nonlinear Optimization Problems with Particle Swarm Ptimization[C].in:Proceedings of 6th World Multiconference on Systemics,Cybernetics and Informatics,2002.

[5] 谢铮桂,钟少丹,韦玉科.改进的粒子群算法及收敛性分析[J].计算机工程与应用,2011,47(1):46 -49.

[6] 任子晖,王坚.一种动态改变惯性权重的自适应粒子群算法[J].计算机科学.2009,2(36):227-256.

[7] Ali T.Al- Awami,Azzedine Zerguine,Lahouari Cled.A New Modified Particle Swarm Optimization Algorithm for Adaptive E-qualization[J].Digital Signal Signal Processing.2011,21(2):195-207.

[8] SUN Chao- li,ZENG Jian - chao,PAN Jeng - shyang .An Improved Vector Particle Swarm Optimization for Constrained Optimization Problems[J].Information Sciences,2011,181(2):1153–1163.

猜你喜欢

惯性全局权重
你真的了解惯性吗
Cahn-Hilliard-Brinkman系统的全局吸引子
量子Navier-Stokes方程弱解的全局存在性
冲破『惯性』 看惯性
权重常思“浮名轻”
落子山东,意在全局
为党督政勤履职 代民行权重担当
无处不在的惯性
基于公约式权重的截短线性分组码盲识别方法
普遍存在的惯性