基于改进PSO算法的模糊神经网络的研究与应用

作者:崔丽洁;程换新;宋生建; 刊名:工业仪表与自动化装置 上传者:何卿

【摘要】典型的模糊神经网络在处理复杂的多优化问题时存在收敛速度慢、易陷入局部极值等缺点。粒子群算法是一种全局优化的群体迭代算法,能有效克服传统模糊神经网络算法的不足。该文对粒子群算法的惯性权重及学习因子进行了改进,用其优化模糊神经网络模型参数,并将该模型应用到水质评价中以测试算法性能。通过与传统模糊神经网络的仿真结果比较,该模型精度更高,在水质评价过程中的应用效果更好。

全文阅读

2.新疆维吾尔自治区科技项目服务中心,乌鲁木齐830011)0引言模糊神经网络是模糊系统与神经网络互补相结合的一种智能算法,广泛应用于模式识别、系统辨识及系统智能预测等领域。然而随着人工智能的不断发展,这种单一的预测系统逐渐暴露出其缺点,在搜索过程中不仅收敛速度慢并且极易陷入局部极值,因此对于需要在大范围内快速搜索的领域中应用效果不佳。随着人工智能领域要求的不断提高,许多专家学者从不同角度对该网络模型进行了改进。1993年,C. J. Lin提出了基于梯度学习和最小二乘的混合学习算法,2002年,L. TranHaoi提出了基于规则产生的分阶段学习算法[1],这些算法都在一定程度上为智能预测作出贡献。此外遗传算法和BP算法也是目前使用最广泛的算法,但是遗传算法需要设置太多参数,基于梯度下降的BP算法虽然自适应学习能力较强,但其收敛速度慢,易陷入局部极值。近几年,随着机器学习的发展,一些新的算法如模拟退火算法、粒子群算法、遗传算法等不断涌现出来,这些算法都是在非导数学习法的基础上进行改进的,这使得优化方法的灵活性大大提高[2]。粒子群算法(Partical Swarm Optimization,PSO)是一种在全局范围内搜索最优解的群体优化算法[3],利用粒子群算法对模糊神经网络的参数进行优化,能够有效地改变模糊神经网络的性能,使其收敛最快,并能降低学习误差和泛化误差。1改进PSO算法粒子群算法是根据模拟鸟类捕食而研究出的一种基于群体迭代的算法。将每个寻优的问题都看成一个粒子,所有粒子都通过追寻当前最优粒子在可行解空间中进行搜索并记住当前最优位置。利用fitness-function计算适应度值以此判断粒子位置的好坏,通过迭代找到最优解。每次迭代过程,粒子通过跟踪自身最优解即自身最优解和整个种群的最优解,也就是全局最优解来更新自己的速度及位置。假设在D维空间中有M个粒子,第i个粒子在t时刻的位置和速度分别为xti=(xi 1,xi 2,…,xid)T和vti=(vi 1,vi 2,…,vid)T,个体最优位置为pti=(pti 1,pti 2,…,ptiD)T,全局最优位置为ptg=(ptg 1,ptg 2,…,ptgD)T,粒子在t+1时刻的速度和位置更新如下:Vk+1id=ωVkid+c1r1(Pkid-Xkid)+c2r2(Pkgd-Xkid)(1)Xk+1id=Xkid+Vk+1id(2)式中:Vkid表示第i个粒子在第k次迭代飞行速度矢量的第d维分量的速度,Xkid表示第i个粒子在第k次迭代飞行速度矢量的第d维分量的位置; k为当前迭代次数; 1≤i≤M,1≤d≤D;ω为惯性权重; c1,c2为学习因子; r1,r2为(0,1)之间均匀分布的随机数[4]。由于粒子群算法在早期相对收敛速度较快,在快速搜索过程中很容易错过最优解,并且容易出现“早熟”现象导致局部最优,因此对粒子群算法针对收敛速度这一方面进行改进。由式(1)可知,影响收敛速度的主要参数为c1,c2以及ω。在不改变粒子极值和群体极值的情况下,惯性权重ω和学习因子c1,c2之间的关系为:ω<1,c1+c2> 0且c1+c2-2ω<2,几何关系如图1所示,图中c=c1+c2。图1粒子群算法收敛区域1)改进惯性权重ω由于PSO算法前期易陷入局部最优,后期局部开发能力不足[5],该文采用S形函数对惯性权重进行改进,使粒子在寻优过程中的飞行速度进行相应改进。前期速度较高,在全局范围内快速搜索最优解,中期飞行速度快速下降,直到后期平稳收敛于Vi。改进后的ω计算公式为:ω=ωmax-ωmin(

参考文献

引证文献

问答

我要提问