APP下载

改进量子粒子群BP神经网络参数优化及应用

2019-12-04贾伟赵雪芬

软件导刊 2019年10期
关键词:BP神经网络

贾伟 赵雪芬

摘要:针对现有BP神经网络选取权值和阈值不精确问题,采用改进量子粒子群优化算法优化BP神经网络权值和阈值.首先在改进的量子粒子群优化算法中,采用双层多种群优化策略提高整个种群的寻优能力,然后在每个子群中使用混沌反向学习和Levy飞行增强子群寻优能力,最后利用改进的量子粒子群优化BP神经网络权值和阈值。实验结果表明,改进的量子粒子群优化算法能有效提高BP神经网络的全局寻优能力和收斂性,对数控高速铣削加工的铣削力进行准确预测。

关键词:量子粒子群优化;BP神经网络;多种群;混沌反向学习;Levy飞行

DOI:10.11907/rjdk.191011开放科学(资源服务)标识码(OSID):

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2019)010-0030-06

0引言

BP神经网络是一种多层前馈神经网络,它以预测误差平方和最小作为目标,通过不断调整网络的权值和阈值逼近期望值。BP神经网络具有较好的自学能力、泛化能力和非线性映射能力,广泛应用于模式分类、农业、信息监测和图像识别等领域。但是,BP神经网络选取初始权值和阈值具有一定的随机性,可能产生非最优的权值和阈值,导致BP神经网络的全局搜索能力较差,易陷入局部最优解,而且收敛速度较慢,这些不足影响了其应用效果。

为解决BP神经网络存在的问题,采用智能优化算法优化BP神经网络的权值和阈值的方法被提出,如Li等提出的量子粒子群优化(Quantum-behaved Particle Swarm Opti-mization,QPSO)算法优化BP神经网络(QPSO-BP),张明等提出的改进的萤火虫算法优化BP神经网络(IEM-FA-BP),冷昕等提出采用改进的人工蜂群算法优化BP神经网络(IABC-BP)。但这些智能优化算法在寻优能力方面还存在不足,导致对BP神经网络权值和阈值的优化结果不够理想。

OPSO算法是根据量子力学理论提出的一种具有量子行为的粒子群优化算法。与其它智能优化算法相比,OP-SO算法具有收敛速度快和参数设置较少的优点,但是存在易早熟收敛和局部寻优能力较差的缺陷。为解决该问题,本文提出一种双层多种群的OPSO(DQPSO)算法,采用DQPSO算法优化BP神经网络(DQPSO-BP),通过优化权值和阈值,提高BP神经网络全局搜索能力和收敛速度。

期望值与网络训练后的实际输出值之间误差由下式得到:

其中,Ok是样本在第k个输出节点的期望值。

如果期望值与网络训练后的实际输出值之间误差较大,则进行反向传播,对各层的权值和阈值进行调整。重复多次正向和反向传播,直到网络输出的误差减小到一定程度或达到最大训练次数为止。反向传播过程中,根据学习速率η,隐含层的权值和阈值更新分别为:

为了选取最优权值和阈值,本文采用改进的量子粒子群优化BP神经网络初始权值和阈值,优化步骤如下:

输入:输入层节点数A,隐含层节点数B,隐含层数,输出节点数Q,学习速率η,DQPSO算法的最大迭代次数Emax,单种群的最大迭代次数Rmax,子群大小W,混沌反向学习最大迭代次数Tmax

输出:最优权值和阈值

4实验与分析

为验证提出的BP神经网络DQPSO-BP在实际应用中的有效性,本文将DQPSO-BP与现有的BP神经网络应用于数控高速铣削加工的铣削力预测中,并对预测结果进行分析和比较。现有BP神经网络包括QPSO-BP、IEMFA-BP和IABC-BP,本文利用改进的QPSO算法DMQPSO和GQPSO分别优化BP神经网络权值和阈值,并将得到的BP神经网络DMQPSO-BP和GQPSO-BP应用到数控高速铣削加工的铣削力预测中。

4.1实验数据

样本数据来自数控机床DMG HSC 75Linear的铣削加工,将主轴转速、每齿进给量、径向切削深度和轴向切削深度作为实验设计变量,主轴转速取值分别为7000、8000、9000、10000、11000、12000、13000、14000,每齿进给量取值分别为0.05、0.06、0.1、0.15、0.2、0.25、0.3、0.35,径向切削深度取值分别为5、6、7、7.5、9、10、11、12,轴向切削深度取值分别为0.1、0.13、0.15、0.2、0.22、0.3、0.31、0.4。在4因素8水平情况下,通过正交实验设计得到2000组实验数据。

4.2实验参数

在实验中,BP神经网络涉及到的参数设置如下:A=4,Q=3,η=0.01,Emax=500,Rmax=300,W=30,Tmax=200。

通常情况下,为了避免隐含层节点数过多而出现过拟合问题,一些学者采用以下公式确定隐含层节点数:

其中,输入层的节点数为A,隐含层的节点数为B,输出层的节点数为Q,α是1-10之间的常数。

根据铣削力预测模型,本文使用式(21)得到隐含层节点数B的取值范围在4-14之间。分别选取10%、20%、30%、40%、50%、60%、70%、80%和90%的数据作为训练样本,采用均方根误差(Root Mean Square Error,RMSE)作为衡量预测铣削合力的指标,选取最佳隐含层节点数,RMSE公式为:

采用不同比例训练数据得到的RMSE与隐含层节点数的关系如图4所示,每种比例的训练数据独立运行20次。当隐含层的节点数为10时,不同比例的训练数据的RMSE都能取得最小值。因此,本文选取10作为最佳隐含层节点数。

5结语

在BP神经网络中,权值和阈值的初始值对寻优能力及收敛性有着重要影响。为提高BP神经网络的优化效果,本文提出一种使用双层多种群策略的QPSO算法DQPSO,通过混沌反向学习和Levy飞行进一步提高单个种群的寻优能力。在对数控高速铣削加工的铣削力预测中,利用DOP-SO算法获取BP神经网络的初始权值和阈值,实验结果表明,本文提出的DOPSO算法能够提高BP神经网络的全局寻优能力和收敛性。后续工作会将本文提出的DQPSO-BP应用于更多的实际问题中,进一步提高DQPSO-BP的寻优能力和收敛速度。

猜你喜欢

BP神经网络
基于神经网络的北京市房价预测研究
提高BP神经网络学习速率的算法研究