论文部分内容阅读
[摘 要]粒子群算法(Particle Swarm Optimization,PSO)是一种基于群体的智能优化算法,是通过群体内粒子间的合作与竞争产生的群体智能优化寻优策略,最早由Kennedy 和Eberhart 于1995 年提出。在该算法中,每个粒子都是一个潜在的解。本文就自适应变异的粒子群优化算法进行探讨。
[关键词]自适应;粒子群算法;优化
中图分类号:TP301.6 文献标识码:A 文章编号:1009-914X(2017)13-0135-01
一、基本粒子群算法
二、自适应策略粒子群优化算法
在基本粒子群算法基础上,研究人员提出了许多改进的PSO,如:自适应PSO、混合PSO,协同PSO等,这些算法从不同角度对基本PSO 进行了改进,在不同程度上获得了较为理想的优化结果。本文在综合考虑算法全局搜索和局部搜索能力的平衡、算法的运算量以及应用对象特征几方面的基础上,提出了一种多自适应策略粒子群优化算法,在粒子进化过程中,引入基于粒子进化度和局部开启混沌搜索相结合的速度自适应调节策略。
从基本粒子群算法的迭代公式可知粒子进化速度与ω相关,ω对优化粒子群算法的性能有很大的影响,ω较大时算法具有较强的全局搜索能力,ω较小时算法有利于局部搜索,在局部搜索过程中,算法性能还与粒子内部的个体特性有关,将粒子的个体差异反映到迭代公式中,才能适应具有复杂非线性变化问题的优化。因此本文采用的算法在粒子进化过程中依据粒子整体的进化度和个体进化度来调节每个粒子的ω,从而实现每个粒子进化速度的自适应调节。在粒子群算法的迭代过程中还会出现种群多样性丢失,收敛速度缓慢甚至停滞的现象,以致网络训练效果不理想,为了解决此问题,文中对进入速度缓慢或停滞区的粒子,通过开启混沌搜索来实现进化速度的自适应调节,提升算法的局部寻优能力。
该算法具体描述如下:采用Ge和Pe两个变量表示粒子整体进化度和粒子个体进化度。粒子整体进化度:(3)
(3)式中fi代表适应度函数,(5)式中ω0为初始惯性权值,c3,c4为调节因子,取值在(0,1)之间;粒子整体进化度考虑了粒子以前的运行状态,反应了粒子群整体进化的程度,Ge值较小,速度进化快,算法可以在较大的空间内继续搜索,反之可以减小ω使得粒子在较小的范围内搜索,增强局部寻优能力。粒子个体进化度反映了个体粒子在以最优粒子为中心的群体中的离散情况,Pe越小时,说明粒子越靠近最优粒子,粒子应在较小的范围内进行搜索,Pe越大时,可适当放大粒子的搜索范围。
在进化后期,粒子呈紧密聚集状态,粒子移动速度慢或停滞,种群多样性匮乏。为此在算法中,对运行速度很低或速度为零的粒子,启动局部混沌扰动策略来增加种群的多样性。混沌是自然界广泛存在能在一定范围内按自身规律不重复的遍历所有状态,Logistic映射是一个典型的混沌系统。迭代公式如下:
其中,△Vj为进化速度的混沌扰动项,r3是介于(0,1)之间的随机数,u0j初始化为一n维的随机取值为(0,1)的行向量。
三、基于MAS-PSO算法的BP神經网络训练
粒子群优化算法训练BP神经网络的基本思想为:用粒子群优化算法代替梯度下降法训练神经网络的权值和阈值,最终搜索出粒子适应度函数最小时的BP网络最佳权值和阈值。操作方法为选取N个粒子构成粒子群,其中每个粒子都是D维的向量,这个向量代表神经网络模型中的所有权值和阈值,所有权值和阈值的初始值随机产生。粒子初始群体随机产生后,以后各代粒子的位置根据飞行速度的变化而变化。采用神经网络均方误差作为适应度函数,具体算法流程如下:
①根据研究对象特征建立神经网络的拓扑结构,初始化输入层、隐含层、输出层的神经元个数,将神经元之间所有的连接权值和阈值编码成实数向量表示种群中的个体粒子。
②初始化粒子的初始位置、速度、惯性权重ω0、学习因子C1和C2、调节因子C3和C4、最大迭代次数、Pi和Pg等。
③根据输入、输出样本,按BP网络的前向计算方法计算出每个粒子的适应度函数值。
④确定粒子群的全局极值和每个粒子的个体极值。
⑤检验是否符合结束条件。如果粒子的当前位置达到预定的误差要求或最大迭代次数达到,则停止迭代,此时全局极值所对应的神经网络的权值和阀值即为问题的最优解,可输入检测样本进行测试。否则转
⑥执行。
⑥利用MAS-PSO中的式③④⑤计算每个粒子的惯性权值。
⑦依据式①对每个粒子的速度进行更新。检查粒子速度是否在限定的范围之内,对速度超限的粒子进行超限处理后,转⑧执行;对速度没有超限的粒子继续检查粒子速度是否缓慢或停滞,对速度缓慢或停滞的粒子需先按式⑦⑧⑨启动局部混沌搜索策略来更新粒子速度后再转⑧执行。
⑧依据式②对每个粒子的位置进行更新;检查粒子位置是否在限定的范围之内,在范围内转③继续迭代。否则先进行越界处理再转③继续迭代。
四、结语
自适应性策略粒子群优化算法,在粒子进化过程中依据粒子整体的进化度和个体进化度来调节每个粒子的惯性权值ω,从而实现每个粒子进化速度的自适应调节。
参考文献
[1] 冯浩,李现伟.带自适应变异的粒子群优化算法改进研究[J].洛阳师范学院学报,2015,(11):9-12+26.
[2] 陈海彬,郭建文,孙振忠,王松,张智聪.基于自适应变异粒子群优化算法的产品装配序列规划[J].组合机床与自动化加工技术,2015,(07):153-156.
[3] 李秋影.基于全局最优预测的自适应变异粒子群优化算法[D].吉林大学,2015.
[4] 李建美.基于自适应变异与文化框架的混沌粒子群优化算法[D].陕西师范大学,2015.
[关键词]自适应;粒子群算法;优化
中图分类号:TP301.6 文献标识码:A 文章编号:1009-914X(2017)13-0135-01
一、基本粒子群算法
二、自适应策略粒子群优化算法
在基本粒子群算法基础上,研究人员提出了许多改进的PSO,如:自适应PSO、混合PSO,协同PSO等,这些算法从不同角度对基本PSO 进行了改进,在不同程度上获得了较为理想的优化结果。本文在综合考虑算法全局搜索和局部搜索能力的平衡、算法的运算量以及应用对象特征几方面的基础上,提出了一种多自适应策略粒子群优化算法,在粒子进化过程中,引入基于粒子进化度和局部开启混沌搜索相结合的速度自适应调节策略。
从基本粒子群算法的迭代公式可知粒子进化速度与ω相关,ω对优化粒子群算法的性能有很大的影响,ω较大时算法具有较强的全局搜索能力,ω较小时算法有利于局部搜索,在局部搜索过程中,算法性能还与粒子内部的个体特性有关,将粒子的个体差异反映到迭代公式中,才能适应具有复杂非线性变化问题的优化。因此本文采用的算法在粒子进化过程中依据粒子整体的进化度和个体进化度来调节每个粒子的ω,从而实现每个粒子进化速度的自适应调节。在粒子群算法的迭代过程中还会出现种群多样性丢失,收敛速度缓慢甚至停滞的现象,以致网络训练效果不理想,为了解决此问题,文中对进入速度缓慢或停滞区的粒子,通过开启混沌搜索来实现进化速度的自适应调节,提升算法的局部寻优能力。
该算法具体描述如下:采用Ge和Pe两个变量表示粒子整体进化度和粒子个体进化度。粒子整体进化度:(3)
(3)式中fi代表适应度函数,(5)式中ω0为初始惯性权值,c3,c4为调节因子,取值在(0,1)之间;粒子整体进化度考虑了粒子以前的运行状态,反应了粒子群整体进化的程度,Ge值较小,速度进化快,算法可以在较大的空间内继续搜索,反之可以减小ω使得粒子在较小的范围内搜索,增强局部寻优能力。粒子个体进化度反映了个体粒子在以最优粒子为中心的群体中的离散情况,Pe越小时,说明粒子越靠近最优粒子,粒子应在较小的范围内进行搜索,Pe越大时,可适当放大粒子的搜索范围。
在进化后期,粒子呈紧密聚集状态,粒子移动速度慢或停滞,种群多样性匮乏。为此在算法中,对运行速度很低或速度为零的粒子,启动局部混沌扰动策略来增加种群的多样性。混沌是自然界广泛存在能在一定范围内按自身规律不重复的遍历所有状态,Logistic映射是一个典型的混沌系统。迭代公式如下:
其中,△Vj为进化速度的混沌扰动项,r3是介于(0,1)之间的随机数,u0j初始化为一n维的随机取值为(0,1)的行向量。
三、基于MAS-PSO算法的BP神經网络训练
粒子群优化算法训练BP神经网络的基本思想为:用粒子群优化算法代替梯度下降法训练神经网络的权值和阈值,最终搜索出粒子适应度函数最小时的BP网络最佳权值和阈值。操作方法为选取N个粒子构成粒子群,其中每个粒子都是D维的向量,这个向量代表神经网络模型中的所有权值和阈值,所有权值和阈值的初始值随机产生。粒子初始群体随机产生后,以后各代粒子的位置根据飞行速度的变化而变化。采用神经网络均方误差作为适应度函数,具体算法流程如下:
①根据研究对象特征建立神经网络的拓扑结构,初始化输入层、隐含层、输出层的神经元个数,将神经元之间所有的连接权值和阈值编码成实数向量表示种群中的个体粒子。
②初始化粒子的初始位置、速度、惯性权重ω0、学习因子C1和C2、调节因子C3和C4、最大迭代次数、Pi和Pg等。
③根据输入、输出样本,按BP网络的前向计算方法计算出每个粒子的适应度函数值。
④确定粒子群的全局极值和每个粒子的个体极值。
⑤检验是否符合结束条件。如果粒子的当前位置达到预定的误差要求或最大迭代次数达到,则停止迭代,此时全局极值所对应的神经网络的权值和阀值即为问题的最优解,可输入检测样本进行测试。否则转
⑥执行。
⑥利用MAS-PSO中的式③④⑤计算每个粒子的惯性权值。
⑦依据式①对每个粒子的速度进行更新。检查粒子速度是否在限定的范围之内,对速度超限的粒子进行超限处理后,转⑧执行;对速度没有超限的粒子继续检查粒子速度是否缓慢或停滞,对速度缓慢或停滞的粒子需先按式⑦⑧⑨启动局部混沌搜索策略来更新粒子速度后再转⑧执行。
⑧依据式②对每个粒子的位置进行更新;检查粒子位置是否在限定的范围之内,在范围内转③继续迭代。否则先进行越界处理再转③继续迭代。
四、结语
自适应性策略粒子群优化算法,在粒子进化过程中依据粒子整体的进化度和个体进化度来调节每个粒子的惯性权值ω,从而实现每个粒子进化速度的自适应调节。
参考文献
[1] 冯浩,李现伟.带自适应变异的粒子群优化算法改进研究[J].洛阳师范学院学报,2015,(11):9-12+26.
[2] 陈海彬,郭建文,孙振忠,王松,张智聪.基于自适应变异粒子群优化算法的产品装配序列规划[J].组合机床与自动化加工技术,2015,(07):153-156.
[3] 李秋影.基于全局最优预测的自适应变异粒子群优化算法[D].吉林大学,2015.
[4] 李建美.基于自适应变异与文化框架的混沌粒子群优化算法[D].陕西师范大学,2015.