基于PSO的BP神经网络研究.doc
- 文档编号:236056
- 上传时间:2022-10-07
- 格式:DOC
- 页数:4
- 大小:46.50KB
基于PSO的BP神经网络研究.doc
《基于PSO的BP神经网络研究.doc》由会员分享,可在线阅读,更多相关《基于PSO的BP神经网络研究.doc(4页珍藏版)》请在冰豆网上搜索。
基于PSO算法的BP神经网络研究
杜华英基金项目:
惠州学院科研基金项目(C206·0212)
作者简介:
杜华英(1975-),女,江西樟树人,惠州旅游学校信息技术部工程师,工程硕士。
(惠州旅游学校信息技术部,广东惠州516057)
摘要BP神经网络由于可以根据误差的反向传播来纠正权值和阈值,所以在许多领域取得了成功,但是它有可能陷入局部极小,不能确保收敛到全局极小点。
另外,反向传播训练次数多,收敛速度慢,使学习结果有时不能令人满意。
如果用均方误差指标作为适应值的粒子群算法对BP网络的权值进行训练,会得到较快的收敛速度,而且可以避免局部最值的出现。
关键词神经网络;BP网络;PSO优化算法;均方差
TheResearchingofBPNeuralNetworksBasedonPSO
DUHua-ying1
(InformationTechnologyOffice,HuizhouTourismSchool,Huizhou516057China)
AbstractForfeed-forwardneuralnetwork,BPalgorithmisamongthemostimportantneuralnetworkalgorithms.But,BPalgorithmhasitslocalminima,italsomayspendmuchtrainingtimeandtrainingepochs,andmayalsogetnon-anticipantconvergence.Here,BPneuralnetworkbasedonPSOcanreducethetrainingtimeandtrainingepochs,andtheconvergenceisalsoimproved.
KeywordsANN;BPneuralnetwork;ParticleSwarmOptimization(PSO);mean-squareerror
0引言
人工神经网络(ArtificialNeuralNetwork,ANN)是模仿生物神经网络功能的一种经验模型。
生物神经元受到传入的刺激,其作出的反应又从输出端传到相连的其它神经元,输入和输出之间的变换关系一般是非线性的。
神经网络是由若干简单元件及其层次组织,以大规模并行连接方式构造而成的网络,按照生物神经网络类似的方式处理输入的信息。
模仿生物神经网络而建立的人工神经网络,对输入信号有功能强大的反应和处理能力。
BP神经网络是一种多层前向反馈神经网络。
BP网络可以根据误差的反向传播来纠正权值和阈值,在许多领域取得了成功,但是它有可能陷入局部极小,不能保证收敛到全局极小点。
另外,反向传播训练次数多,收敛速度慢,使学习结果有时不能令人满意。
粒子群优化算法(ParticleSwarmOptimizer,PSO)是一种进化计算技术,源于对鸟群捕食的行为研究,由JimKennedy于1995年提出并成功用于函数优化。
在PSO中,每个优化问题的解都是搜索空间中的一只鸟,称之为粒子。
所有的粒子都有一个由被优化的函数决定的适应值(FitnessValue),每个粒子还有一个速度决定它们飞翔的方向和距离。
然后粒子们就追随当前的最优粒子在解空间中搜索。
如果用粒子群算法对神经网络的权值进行训练,会得到较快的收敛速度,而且可以避免局部最值的出现。
1PSO算法
PSO算法[1-3]首先初始化一群随机粒子,然后通过迭代找出最优解。
每一次迭代过程中,粒子通过跟踪两个“极值”来更新自己。
一个是粒子本身所能找到的最优解,即个体极值Pbest,另一个是整个群体目前找到的最优解,即全局极值Gbest。
假设在一个D维搜索空间中有n个粒子组成一粒子群。
其中第i个粒子的空间位置为Xi=(Xi1,Xi2,…,XiD),i=1,2,…,n。
第i个粒子所经历的历史最佳位置为Pi=(Pi1,Pi2,…,PiD),每个粒子的飞行速度为Vi=(Vi1,Vi2,…,ViD),i=1,2,…,n。
在整个粒子群中,所有Pi所记录的最佳解位置为Pg=(Pg1,Pg2,…,PgD)。
每一代粒子的第d维(1≥d≥D)根据如下方程变化:
Vij(t+1)=ω(t)Vij(t)+c1*rand()*(Pij(t)-Xij(t))+c2*rand()*(Pgj(t)-Xij(t))
(1)
Xij(t+1)=Xij(t)+Vij(t+1)
(2)
ω(t)=ωmax-t(ωmax-ωmin)/tmax(3)
其中,j=1,2,…,d;参数c1和c2分别是学习率,称为加速因子;rand()为[0,1]范围内变化的随机数;t为迭代次数,tmax为最大迭代次数;ωmin为最小惯性权,ωmax为最大惯性权。
2BP神经网络
BP网络[4]是误差反向传播(BackPropagation)网络。
最初由Werbos开发的反向传播训练算法是一种迭代梯度算法,用于求解前馈网络的实际输出与期望输出间的最小均方差值。
它是一种多层前向网络,采用最小均方差学习方式。
当参数适当时,此网络能够收敛到较小的均方差,是目前应用最广的网络之一。
它可用于语言综合,识别和自适应控制等用途。
B-P模型是一种用于前向多层神经网络的误差反向传播学习算法,由鲁梅尔哈特(D.Ruvmelhar)和麦克莱伦德(McClelland)于1985年提出。
B-P算法用于多层网络,网络中不仅有输入层节点及输出层节点,而且还有一层至多层隐层节点。
图2所示模型是只有一层隐层节点的BP网络。
输入层
输出层
隐层
┇
┇
┇
x1
x2
xn
y1
y2
yn
图1BP网络
当有信息向网络输入时,信息首先由输入层传至隐层节点,经特性函数作用后,再传至下一隐层,直到最终传至输出层进行输出,其间每经过一层都要由相应的特性函数进行变换,节点的特性函数通常选用S型函数,如公式(4)所示。
(4)
BP网络具有多个输出值,可以进行非线性分类,其缺点是训练时间比较长,易陷于局部极小,且收敛的速度依旧慢。
BP是广为使用的多层前馈人工神经网络。
然而,隐层节点数的选择是一个较为复杂的问题,根据前人的经验,可以参照以下公式(5)进行设计[5]:
(5)
其中,n为隐含层神经元数,ni为输入神经元数,n0为输出神经元数,a是1~10之间的常数。
隐含神经元数对网络性能影响有直接的关系。
隐层节点数太少,网络可能训练不出来,因为隐层节点数少时,局部极小就多,不能识别以前没有看到过的样本,容错性差,增加隐层节点数可能改善网络与训练组匹配的精确度,但是隐层节点数太多又使学习时间过长,误差也不一定最佳。
因此,隐含层网络的选择原则是在能够解决问题的前提下,再加上一个到两个神经元以加快误差的下降速度即可。
3基于PSO的BP网络
用PSO算法训练BP网络时,定义粒子群的位置向量X的元素是BP网络的全体连接权和阈值。
首先初始化位置向量X,然后用PSO算法搜索最优位置,使如下(6)所示的均方误差指标,即适应值达到最小。
[6]
(6)
其中,N是训练集样本数;是第i个样本的第j个网络输出节点的理想输出值;是第i个样本的第j个网络输出节点的实际输出值;C是网络输出神经元的个数。
4结束语
BP网络由于可以根据误差的反向传播来纠正权值和阈值,所以在许多领域取得了成功,但是它有可能陷入局部极小,不能保证收敛到全局极小点。
另外,反向传播训练次数多,收敛速度慢,使其学习结果有时不能令人满意。
如果用粒子群算法对神经网络的权值进行训练,会得到较快的收敛速度,而且可以避免局部最值的出现。
参考文献
[1]李林宜,李德仁.基于粒子群优化算法的航空影像纹理分类[J].计算机工程.2008,34(3):
196-198.
[2]曾万里,危韧勇,陈红玲.基于改进PSO算法的BP神经网络的应用研究[J].计算机技术与发展.2008,18(4):
49-51.
[3]黄丽君,郭文忠.基于粒子群优化的BP神经网络预测方法及其应用研究[J].漳州师范学院学报(自然科学版).2008,58
(1):
32-35.
[4]朱大奇史慧.人工神经网络原理及应用[M].科学出版社.2006
[5]胡方明,简琴,张秀君.基于BP神经网络的车型分类器[J].西安电子科技大学学报(自然科学版).2005,32(3):
439-441.
[6]潘昊,韩小雷.粒子群优化的BP网络学习算法研究及应用[J].计算机工程与应用.2008,44(9):
67-69.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PSO BP 神经网络 研究