一种基于粒子群优化算法的神经网络训练方法
- 格式:pdf
- 大小:126.10 KB
- 文档页数:3
第35卷第3期 2007年8月 河南师范大学学报(自然科学版) Journal of Henan Normal University(Natural Science) V .35 No.3
Aug.2007
文章编号:1000—2367(2007)03—0169—03
种基于粒子群优化算法的神经网络训练方法 秦毅男 ,廖晓辉 ,赵庆治 (1.郑州大学电气工程学院,郑州450000;2.开封市供电公司,河南开封475000) 摘 要:介绍了粒子群优化(PSO)算法的原理,研究了将PSO算法应用于神经网络训练的方法,给出了算法 软件实现的基本流程,并对Iris分类问题做了仿真实验。通过与BP算法的比较,结果表明基于PSO的神经网络训练 算法操作简单,易于实现,而且训练精度较高,有良好的收敛性. 关键词:粒子群优化;进化算法;神经网络 中图分类号:TP183 文献标识码:A
人工神经网络(Artificial Neural Network,ANN)具有信息的分布式存储、并行处理和自组织、自学习能 力等独特优势,在许多应用研究领域取得了巨大成功[1 ].BP网络是其中应用最为广泛、也是最基本的神经 网络之一.它采用误差反向传播算法(BP算法),能以任意精度逼近非线性关系,但在实际应用中仍然存在一 些问题:如收敛速度慢、训练时间长,易陷入局部极小,以及对参数选择较为敏感等. 粒子群优化(Particle Swarm Optimization,PSO)算法是一种基于群体智能的全局优化进化算法_3].该 算法采用速度一位置搜索模型,通过群体中粒子间的合作与竞争产生的群体智能指导优化搜索,能有效克服 局部极小问题[4],因此是一类很有潜力的神经网络训练算法. 本文研究将PSO算法应用于神经网络训练的方法,并与BP算法做了对比仿真实验.
1粒子群优化算法 PSO算法首先生成初始种群,即在解空间中随机初始化一群粒子,粒子的位置表示待优化问题的解,解 的优劣程度由目标函数确定的适应值决定.每个粒子将在解空间中运动,并由一个速度决定其飞行方向和速 率大小.然后通过逐代搜索找到最优解. 设第i个粒子在d维解空间中的位置为 一( , ,…, ),其速度 一( , ,…, ).它的个体极 值P 一( P …,P ),种群的全局极值P 一( ,P z,…,P ).粒子根据(1)、(2)来更新其速度和位置 : 一7.O· +Cl·rand()·( 一 )+C2·rand()·( 一X/k), (1) 一z + , (2) 式中7.0为惯性权重,rand()是均匀分布在(0,1)之间的随机数,C ,C 为两个学习因子.粒子在解空间内不断 跟踪个体极值与全局极值进行搜索,直到达到规定的迭代次数或满足给定的误差标准为止.
2基于PSO的神经网络训练算法 2.1 BP神经网络 BP网络是人工神经网络实际应用最为广泛的一种模型,它是一种多层前馈网络,结构如图1所示.BP 网络训练时,对于给定的输入样本向量J,神经元的实际输出可表示为; O—f(W*J,6), (3)
收稿日期:2006—11—20 基金项目:河南省科技攻关项目(424300008) 作者简介:秦毅男(1973--),男,河南郑州人,郑州大学讲师,研究方向:人工智能在电力系统中的应用.
维普资讯 http://www.cqvip.com 17O 河南师范大学学报(自然科学版) 图1 BP神经网络 其中0为实际输出向量,w为连接权值矩阵,b为阈值向量, 输出层 f函数可以是S型函数或者线性函数.此时系统的实际输出 同期望输出有一定误差,设误差函数为:
隐藏层MsE一 1∑P 。 )2, 4
其中,P为样本总数,k为输出节点数,t 及O 分别为第k 个输出节点第P个样本的期望输出及实际输i 硎 22 基于PSO的BP网络训练算法流程
由于BP神经网络的学习过程主要是权值和阈值的更 新过程,因而可用PSO算法中粒子的位置来对应其全部连 接权值和阈值,以神经网络的输出误差作为PSO算法的适 应函数,通过PSO算法的优化搜索来训练神经网络的权值和阈值,以获得尽可能低的训练误差,其基本流 程为: ①选定粒子个数 ,初始化每个粒子,随机产生粒子的初始位置 和初始速度 ,置迭代次数N一1;② 给定训练数据集,即提供输入向量J和期望输出向量T,并作规范化处理;③根据粒子位置 和训练样本,由 式(3)、式(4)计算隐层或输出层每个节点的实际输人和输出及误差函数MSE;④根据误差函数MSE,评价 每个粒子的适应度,更新当前的个体极值P 和全局极值 ;⑤根据式(1)、式(2),更新每个粒子的位置(即调 整权值和阈值) 和飞行速度 .检验速度是否越出边界,若是,调整速度为算法规定的最大值;⑥当误差达到 最初设定值或达到最大迭代次数时,学习过程结束;否则,令N一1-N+1,线性减小2.U,返回第③步继续迭代, 直至满足要求为止.
3算法仿真分析 Iris数据集是用于测试分类器性能的一个标准数据集,总共有150组数据.仿真实验采用MATLAB语 言编程.用3层BP网络来对Iris问题进行分类.网络采用4-6—3式结构,隐层和输出层节点的激活函数均选 择对数S型函数logsig.实验中PSO算法的参数取粒子数 一20;粒子模型维度d一4×6+6×3+9—51, 为神经网络全部连接权值和阈值;学习因子c 一c 一2;2.U随迭代次数由0.9线性减小到0.4;搜索范围设定 为[一1,1].样本数据集中取75组数据作为训练集,另75组数据作为测试集. 为了便于比较,采用标准BP算法和自适应调整学习率的改进BP算法也对该网络进行了训练,仿真结 果如表1所示.图2给出了分别用3种算法训练神经网络的误差演化曲线.观察仿真实验结果可知,基于 PSO的神经网络训练算法性能相对较优,而且具有良好的收敛性.
剁
训练次数/次 (a)标准BP算法 训练次数/次 (b)自适应学习率BP算法
图2 3种算法训练神经网络的误差演化曲线
迭代次数/次 (c)PSO算法
4 结 论 PSO算法是一种新兴的基于群体智能的进化算法,优势在于算法简洁,易于实现,没有很多参数需要调
维普资讯 http://www.cqvip.com 第3期 秦毅男等:一种基于粒子群优化算法的神经网络训练方法 171 整,且不需要梯度信息,可广泛应用于各种研究 领域.本文研究将PSO算法应用于训练神经网 络,对Iris分类问题做了仿真实验,并与BP算 法进行了比较,结果表明,基于PSO的神经网 络训练算法性能良好,训练精度较高,收敛速度 较快.
[1] [2] [3] [4] Is] 表1 3种算法训练神经网络的仿真结果比较 参 考 文 献 王洪元,史国栋.人工神经网络技术及其应用[M].北京:中国石化出版社,2002. 杨建刚.人工神经网络实用教程[M].杭州:浙江大学出版社,2001. Kennedy J,Eberhart R C.Particle Swarm Optimization[C].Proceedings of IEEE International Conference on Neutral Networks,Perth。 1995. 杨维,李歧强.粒子群优化算法综述_J].中国工程科学,2004,6(5):87—93. Shi Y·Eberhart R C.A modified particle Swarm OptimizerrC].IEEE International Conference of Evolutionary Computation,Anchorage, 1 998.
A Neural Network Training Algorithm Based on Particle Swarm Optimization
QIN Yi—nan ,LIAO Xiao—hui ,ZHAO Qing—zhi (1.College of Electrical Engineering,Zhengzhou University,Zhengzhou 450000,China; 2.Kaifeng Power Supply Company,Kaifeng 475000,China)
Abstract:In the paper,the fundamental principles of PSO are introduced firstlyAnd then,the processes of training
neural network by applying PSO algorithm are presented.Simulating experiments of Iris classification problem are also made between proposed algorithm and BP algorithm.A comparison of the tWO algorithms indicates that the former is a simple one with good convergence. Key words:particle swarm optimization;evolutionary algorithm;neural network
维普资讯 http://www.cqvip.com