基于粒子群算法的RBF神经网络的优化方法
2010-07-23李建兵牛鹏超
李 林 李建兵 牛鹏超
西南交通大学电气工程学院 四川 成都 610031
0 引言
20世纪80年代中期以来,神经网络的应用取得了很大的成绩,已经运用于众多的领域中,如电气信息,优化组合,雷达信号处理与识别等。在众多的神经网络模型中,应用最多的是BP网络。然而BP网络用于函数逼近时,权值的调节采用的是负梯度下降法,这种调节权值的方法存在一定的局限性,即存在着收敛速度慢和局部极小点等缺点。径向基函数网络在逼近能力,分类能力和学习速度方面均优于BP网络,并且径向基函数神经网络的结构简单,具有学习方法速度快和较好的推广能力,使它很快地广泛应用于许多领域,特别是模式识别和函数逼近等领域[1]。然而,如何有效地确定RBF神经网络的网络结构和参数,至今没有系统的规律可循。在RBF神经网络中需要确定的参数有隐层节点数、隐层中心值和隐层到输出层的连接权值。目前,隐含层节点数主要依靠经验来选取。而根据moody准则,神经网络的设计应该在满足精度要求的情况下有最小的结构,以保证网络的泛化能力。而隐层中心值的确定对RBF神经网络的函数逼近能力具有很大的影响,不恰当地选取会使网络收敛慢,甚至会造成网络发散[2]。目前最常用的确定隐含层中心值的方法是K-均值聚类法,中心值的确定是从输入样本中选取。往往由于样本数量少或其值不能较好地反映系统输入输出关系等因素,而降低网络的最佳逼近性能。本文所采用的方法是利用粒子群算法优化选取隐含层节点的中心值和隐层到输出层的连接权值。
1 粒子群优化算法
粒子群优化算法是由Eberhart博士和Kennedy博士于1995年提出的一种新的基于群体智能的全局优化算法,它源于对鸟类捕食行为的模拟,在基本PSO中,每个优化问题的解都是搜索空间中的一只鸟,称之为“粒子”。先在可行解空间中随机初始化n个粒子构成初始种群,并为每个粒子随机初始化一个速度。每个粒子都对应优化问题的一个解,并由目标函数为之确定一个适应值,速度用来决定粒子在解空间中运动。在算法的每次迭代中,粒子将跟踪自身当前找到的最优解和种群当前找到的最优解,逐代搜索,直到最后得到最优解。
设 Xi=(Xi1,Xi2,……,Xin)为粒子 i的当前位置;Vi=(Vi1,Vi2,……,Vin)为粒子 i的当前速度;Pi=(Pi1,Pi2,……,Pin)为粒子i所经历的最好位置,也就是微粒i所经历过的具有最好适应值的位置,称为个体最好位置。设群体中的微粒数为s,群体中所有微粒所经历过的最好位置为,称为全局最好位置。
那么下一代粒子的位置和速度为:
式中:C1和C2为加速度因子,通常取为2,R1j和R2j为两个均匀分布于[0,1]之间的随机数,且相互独立。w是非负常数,称为惯性因子,w也可以随着迭代线性地减小[3]。
2 粒子群算法优化RBF神经网络
2.1 问题的描述
首先将RBF神经网络中所有神经元间的连接权值和中心值编码成实数码串表示的个体。假设网络中包含M个优化权值和中心值,则每个个体为由M个权值和中心值参数组成的一个M维向量来表示。
2.2 初始化微粒群
根据微粒群规模,按照上述个体结构随机产生一定数目的个体(微粒)组成种群,其中不同的个体代表神经网络的一组不同权值和中心值。同时初始化 Gbest,Lbest。
2.3 RBF神经网络的训练
将微粒群中每一个体的分量映射为网络中的权值和中心值,从而构成一个神经网络。对每一个体对应的神经网络,输入训练样本进行训练。网络权值的优化过程是一个反复叠代的过程。通常为了保证所训练的神经网络具有较强的泛化能力,在网络的训练过程中,往往将给定的样本空间分为两部分,一部分用作训练样本,称为训练集,一部分作为测试样本,称为测试集。
2.4 粒子群优化模型计算
评价微粒群中的所有个体(每一个体视为可飞行的微粒),从中找到最佳个体用来判断是否需要更新微粒的Gbest与Lbest。之后,按照粒子群模型更新每一个体不同分量上的飞行速度,并以此产生新的个体微粒。
2.5 算法的终止
当目标函数值(即均方误差)小于给定的ε时,算法终止。
2.6 用粒子群训练RBF神经网络算法
用粒子群训练RBF神经网络算法的具体流程如下图[4][5][6][7]1所示:
图1 粒子群训练RBF神经网络算法的流程图
3 非线性函数的逼近
用非线性函数 y=1.5 (cos(x))^3 x∈[0,4π]的400个样本点作为训练样本,来训练经过粒子群优化的RBF神经网络和未经优化的RBF神经网络,RBF神经网络的中心点个数取6个,基函数采用高斯函数。然后再任取1500个点分别用训练好的粒子群优化的RBF神经网络和未经优化的RBF神经网络预测非线性函数y=1.5(cos(x))^3的输出结果,下图2证明粒子群优化的RBF神经网络的预测误差取较小。
图2 两种算法对应的误差
4 结 论
本文用粒子群算法来优化RBF神经网络的中心值和连接权值,使之具有更强的非线性逼近能力,并将优化后的RBF神经网络和未经优化的RBF神经网络用于非线性函数的逼近,实例证明优化后的RBF神经网络比未经优化的RBF神经网络具有更强的非线性函数的逼近能力。
[1]阎平凡,张长水.人工神经网络与模拟进化计算[M].北京:清华大学出版社,2000.
[2]袁曾任.人工神经网络及其应用[M].北京:清华大学出版社,1999∶56-62.
[3]杨维,李歧强.粒子群优化算法综述[J].中国工程科学,2004,06(05)∶87-93.
[4]潘昊,侯清兰.基于粒子群优化算法的BP网络学习研究[J].计算机工程与应用,2006,17(10):41-43.
[5]F.van den Bergh,A.P.Engelbrecht.A study of particle swarm optimization particle trajectories [J].Information Sciences,2006,176(08):937-941.
[6]熊伟丽,徐保国,孙俊.改进PSO算法在BP网络训练中的应用[J].系统仿真学报,2005,17(09):2078-2080.
[7]王继成.一种新的神经网络学习算法.计算机工程与科学.2000.22(03)∶6-9.