资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2012/6/1,#,粒子群优化算法聚类分析与训练,BP,神经网络,智能优化算法,:,最优化问题是指在一定的约束条件下,决定某个或某些可控制的因素应有的合理取值,使所选定的目标达到最优的问题。,人们借鉴自然现象,提出了模拟退火法,(SA),、遗传算法,(GA),、神经网络,法,(,),;人们通过学习生物的生活规律,提出了蚁群算法,(ACO),、粒子群优化算法,(PSO),。,人们将这些模仿自然现象及生物体的各种原理和机理的方法,称为智能优化算法。,粒子群,优化,算法,粒子群算法的起源,粒子群优化算法,(Particle Swarm Optimization,,,PSO,),,是一种启发式群智能进化计算技术,由,Kennedy,and,Eberhart,于,1995,年提出,,来源于对鸟群捕食的行为的研究,是一种基于迭代的优化工具。,James Kennedy,received the Ph.D.degree from theUniversity of North Carolina,Chapel Hill,in 1992.He is with the U.S.Department of Labor,Washington,DC.He is a Social Psychologist who has been working with the particle swarm algorithm since 1994.He has published dozens of articles and chapters on particle swarms and related topics,in computer science and social science journals and proceedings.He is a coauthor of,Swarm Intelligence,(San Mateo,CA:Morgan Kaufmann,2001),with R.C.Eberhart and Y.Shi,now in its third printing.,Russell C.Eberhart,(,M88SM89F01,)received the Ph.D.degree in electrical engineering from Kansas State University,Manhattan.He is the Chair and Professor of Electrical and Computer Engineering,Purdue School of Engineering and Technology,Indiana UniversityPurdue University Indianapolis(IUPUI),Indianapolis,IN.He is coeditor of,Neural Network PC Tools,(1990),coauthor of,Computational Intelligence PC Tools(,1996),coauthor of,Swarm Intelligence,(2001),Computational Intelligence:Concepts to Implementations,(2004).He has published over 120 technical papers.Dr.Eberhart was awarded the IEEE Third Millenium Medal.In 2002,he became a Fellow of the American Institute for Medical and Biological Engineering.,近年,PSO,方面文献的数量,粒子群算法的主要应用,(,一,),函数优化,(,二,),神经网络训练,(,三,),工程领域应用,(,四,)PSO,算法还在生物工程、电磁学、数据挖掘等很多领域都取得了较好的效果。,一,.,粒子群算法的原理,原始粒子群优化算法,标准粒子群优化算法,原始粒子群优化算法,Pbest:,个体极值,(,粒子自身所找到的当前最优解,),Gbest:,全局极值,(,整个群体当前找到的最优解,),设,D,维搜索空间中,有,M,个粒子,其中第,i,个的位置是,X,i,=(x,i1,x,i2,.x,iD,),,速度为,V,i,=(v,i1,v,i2,.,v,iD,),,,i=1,2,,,,,M,。搜索到的历史最优位置为,P,i,=(p,i1,p,i2,.,p,iD,),,整个粒子群体搜索到的最优位置为,P,g,=(p,g1,p,g2,.,p,gD,),。,Knenedy,和,Eberhrtn,最早提出的,PSO,算法的位置和速度公式的方程如下:,(,1-1,),(,1-2,),其中,i=1,2,M,;,d=1,2,D,;,r,1,和,r,2,是两个相互独立的随机数,服从,0,,,1,上的均匀分布,标准粒子群优化算法,带惯性权重的标准粒子群算法,Shi Y,.,H,和,Eberhart,在记忆部分引入惯性权重,,于是公式,(2-1),可以修改成为,如下,公式:,(,1-3,),带收敛因子的标准粒子群算法,Clerc,建议采用收缩因来,子,保证,PSO,算法收敛,于是公式,(2-1),修改成如下公式:,(,1-4,),其中,,为收缩因子,。,从数学上分析,惯性权值,和收缩因子这两个参数是等价的。,原始,PSO,算法与标准,PSO,算法向量图比较,图,1,原始,PSO,图,2,标准,PSO,二,.,粒子群算法的实现,原始,PSO,算法流程,算法流程图,原始,PSO,算法流程,步骤,l,:初始化所有粒子,(,种群规模为,Size,,粒子在,D,维空间中搜索,),,对每个粒子随机给定初始位置和初始速度;每个粒子的只设为其初始位置,P,i,,,P,i,中的最好值设为,P,best,;,步骤,2,:根据式,(2-1),和,(2-2),更新每个粒子的速度和位置;对每个粒子进行速度越限检查确保粒子速度在,-V,max,V,max,之间;对每个粒子进行位置越限检查,确保粒子位置在,-X,max,X,max,之间;,步骤,3,:根据目标函数,计算出每个粒子的适应值;,步骤,4,:对每个粒子,将步骤,3,中计算出的适应值与其经历过的个体最佳,P,best,的,适应值进行比较,如果优于,P,best,,则将其作为当前的最好位置;将其适应值与群体最佳,g,best,的适应值进行比较,如果优于,g,best,,则用该粒子适应值,P,i,,取代原群体最优适应值,g,best,;,步骤,5,:根据式,(2-1),和,(2-2),更新每个粒子的速度和位置;,步骤,6,:检查终止条件,(,达到给定的迭代次数或者满足了足够好的适应值等,),,若满足,终止迭代,输出相关结果;否则返回步骤,2,算法流程图:,否,是,是,是,否,是,否,初始化粒子以及粒子速度,粒子适应度检测,粒子速度更新,粒子位置更新,Present,优于,Pbest,?,Present=Pbest,Present,优于,Gbest,?,Present=Gbest,算法收敛准则满足?,输出,Gbest,三,.,粒子群算法,的参数,分析,群体规模,惯性权重,最大速度,迭代次数,run,算法的参数分析,群体规模,m,群体规模相当于数值遗传算法中的,population,。对于一般的优化问题而言,粒子群算法对群体的大小的设定并不十分敏感,一般可以取值为,10,40,,对较难或特定类别的问题可以取到,100,200,。与数值遗传算法相比,粒子群算法中个体的数据结构虽然复杂一些,但它要求同时使用的个体数也相应地少很多。所以在对复杂问题的优化方面,粒子群算法对计算机内存的耗用要相对少一些。,算法的参数分析,惯性权重,速度计算公式的三个分量中,惯性速度分量,vintertia,与适应度的关系较小,由于初始的速度是一个随机量。因此,,vinertia,主要代表的是速度中随机的部分。为了保证迭代过程最后收敛,速度计算公式中惯性速度分量,vinertia,的权重将逐渐减弱,因此其惯量因子,将随着迭代的过程单调下降。,在整个迭代过程中,,的取值为,0,到,1,之间的实数。具体采用哪一种方法来减小速度惯量因子可以有很多方法,一般情况可以用线性递减公式来对惯量因子进行计算。,的作用是保持运动惯性,使其有扩展搜索空间的趋势,有能力探索新的区域。,自适应粒子群优化算法,则是自适应调节,。,算法的参数分析,最大速度,最大速度,决定当前位置与最好位置之间的区域的分辨率(或精度,)。,如果太高,微粒可能会飞跃最优解;如果太小,则粒子不能在局部极小点之外进行足够的探索,会陷入到局部极值区域内。这种限制可以达到防止计算溢出、决定问题空间搜索的速度的目的。,算法的参数分析,迭代次数,run,由于粒子群算法中的速度计算公式受到惯量因子的影响,而惯量因子的变化规律又与最大迭代次数,run,有关。因此,在粒子群算法中,最大迭代次数是在迭代开始之前必须确定的参数之一。最大迭代次数不仅影响速度计算公式中的惯性因子,而且还是整个迭代过程的中止条件。,这一点上,粒子群算法和数值遗传算法采用适应度阀值作为中止条件不同。,对于不同的优化问题,最大迭代次数,run,可以有不同的取值。对于一般的简单优化问题而言,最大迭代次数一般取值为,10000,左右。,四,.,算法测试函数,PSO,算法常用的测试函数:,Griewank,、,Rastrigrin,、,Sphere,、,Schwefel,、,Ackly,和,Rosen-brock,等,。,常用测试函数,函数名,表,达式,维数,Griewank,30,Rastrigrin,30,Sphere,30,Schwefel,10,Ackly,30,Rosen-brock,30,常用测试函数,五,.,与,BP,神经网络的结合,人工神经网络是由人工神经元互连而成的网络,它从微观结构和功能上实现对人脑的抽象和简化,具有许多优点。对神经网络的权值系数的确定,传统上采用反向传播算法(,BP,算法)。,BP,网络是一种多层前向反馈神经网络,,BP,算法是由两部分组成:信息的正向传递与误差的反向传播。,在反向传播算法中,对权值的训练采用的是爬山法(即:,算法)。这种方法在诸多领域取得了巨大的成功,但是它有可能陷入局部最小值,不能保证收敛到全局极小点。另外,反向传播算法训练次数多,收敛速度慢,使学习结果不能令人满意。,基于以上问题的解决,,PSO,与,BP,的结合有很重要的意义。,应用实例,实验数据选择:来源于某年,10,月,1-5,号的电价,该数据集包括,96,组数据,每组数据记录了,5,个不同的数据。,实验一:,应用,PSO,算法,对该组数据进行聚类分析,其参数设置如下,学习因子,C1=2,、,C2=1.8,,惯性权重,w,随迭代次数线性地由,0.9,减小到,0.4,,最大迭代次数取为,200,次,粒子个数,N=40,。类别数,K=4.,实验二:,应用,PSO,训练,BP,神经网络,并对样本数据其进行评估预测。,选用,BP,网络层结构。,参数设置:学习因子,C1=2,、,C2=1.8,,惯性权重,w,随迭代次数线性地由,0.9,减小到,0.4,,最大迭代次数取为,200,次,粒子个数,N=40,,类别数,K=4,,网络层节点数定义为,3,个。,结论:,为了解决基于,PSO,算法易陷入局部极小值,且在,BP,网络训练中不能及时根据误差的变化情况调整训练策略,导致训练效果很难继续提高,甚至出现“停滞”现象的问题,本文提出了一种,PSO,算法与,BP,算法结合,该算法能够根据寻优过程的实现,从而达到更好的效果。,谢谢,_,
展开阅读全文