粒子群优化算法综述.docx

上传人:b****4 文档编号:4700905 上传时间:2022-12-07 格式:DOCX 页数:14 大小:33.98KB
下载 相关 举报
粒子群优化算法综述.docx_第1页
第1页 / 共14页
粒子群优化算法综述.docx_第2页
第2页 / 共14页
粒子群优化算法综述.docx_第3页
第3页 / 共14页
粒子群优化算法综述.docx_第4页
第4页 / 共14页
粒子群优化算法综述.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

粒子群优化算法综述.docx

《粒子群优化算法综述.docx》由会员分享,可在线阅读,更多相关《粒子群优化算法综述.docx(14页珍藏版)》请在冰豆网上搜索。

粒子群优化算法综述.docx

粒子群优化算法综述

粒子群优化算法

1.引言

粒子群优化算法(PSO)是一种进化计算技术(evolutionarycomputation),由Eberhart博士和kennedy博士发明。

源于对鸟群捕食的行为研究

PSO同遗传算法类似,是一种基于迭代的优化工具。

系统初始化为一组随机解,通过迭代搜寻最优值。

但是并没有遗传算法用的交叉(crossover)以及变异(mutation)。

而是粒子在解空间追随最优的粒子进行搜索。

详细的步骤以后的章节介绍

同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。

目前已广泛应用于函数优化,神经网络训练,模糊系统控制以及其他遗传算法的应用领域

2.背景:

人工生命

"人工生命"是来研究具有某些生命基本特征的人工系统.人工生命包括两方面的容

1.研究如何利用计算技术研究生物现象

2.研究如何利用生物技术研究计算问题

我们现在关注的是第二部分的容.现在已经有很多源于生物现象的计算技巧.例如,人工神经网络是简化的大脑模型.遗传算法是模拟基因进化过程的.

现在我们讨论另一种生物系统-社会系统.更确切的是,在由简单个体组成的群落与环境以及个体之间的互动行为.也可称做"群智能"(swarmintelligence).这些模拟系统利用局部信息从而可能产生不可预测的群体行为

例如floys和boids,他们都用来模拟鱼群和鸟群的运动规律,主要用于计算机视觉和计算机辅助设计.

在计算智能(computationalintelligence)领域有两种基于群智能的算法.蚁群算法(antcolonyoptimization)和粒子群算法(particleswarmoptimization).前者是对蚂蚁群落食物采集过程的模拟.已经成功运用在很多离散优化问题上.

粒子群优化算法(PSO)也是起源对简单社会系统的模拟.最初设想是模拟鸟群觅食的过程.但后来发现PSO是一种很好的优化工具.

3.算法介绍

如前所述,PSO模拟鸟群的捕食行为。

设想这样一个场景:

一群鸟在随机搜索食物。

在这个区域里只有一块食物。

所有的鸟都不知道食物在那里。

但是他们知道当前的位置离食物还有多远。

那么找到食物的最优策略是什么呢。

最简单有效的就是搜寻目前离食物最近的鸟的周围区域。

PSO从这种模型中得到启示并用于解决优化问题。

PSO中,每个优化问题的解都是搜索空间中的一只鸟。

我们称之为“粒子”。

所有的例子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。

然后粒子们就追随当前的最优粒子在解空间中搜索

PSO初始化为一群随机粒子(随机解)。

然后通过叠代找到最优解。

在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。

第一个就是粒子本身所找到的最优解。

这个解叫做个体极值pBest.另一个极值是整个种群目前找到的最优解。

这个极值是全局极值gBest。

另外也可以不用整个种群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。

在找到这两个最优值时,粒子根据如下的公式来更新自己的速度和新的位置

v[]=v[]+c1*rand()*(pbest[]-present[])+c2*rand()*(gbest[]-present[])(a)

present[]=persent[]+v[](b)

v[]是粒子的速度,persent[]是当前粒子的位置.pbest[]andgbest[]如前定义rand()是介于(0,1)之间的随机数.c1,c2是学习因子.通常c1=c2=2.

程序的伪代码如下

Foreachparticle

____Initializeparticle

END

Do

____Foreachparticle

________Calculatefitnessvalue

________Ifthefitnessvalueisbetterthanthebestfitnessvalue(pBest)inhistory

____________setcurrentvalueasthenewpBest

____End

____ChoosetheparticlewiththebestfitnessvalueofalltheparticlesasthegBest

____Foreachparticle

________Calculateparticlevelocityaccordingequation(a)

________Updateparticlepositionaccordingequation(b)

____End

Whilemaximumiterationsorminimumerrorcriteriaisnotattained

在每一维粒子的速度都会被限制在一个最大速度Vmax,如果某一维更新后的速度超过用户设定的Vmax,那么这一维的速度就被限定为Vmax

4.遗传算法和PSO的比较

大多数演化计算技术都是用同样的过程

1.种群随机初始化

2.对种群的每一个个体计算适应值(fitnessvalue).适应值与最优解的距离直接有关

3.种群根据适应值进行复制

4.如果终止条件满足的话,就停止,否则转步骤2

从以上步骤,我们可以看到PSO和GA有很多共同之处。

两者都随机初始化种群,而且都使用适应值来评价系统,而且都根据适应值来进行一定的随机搜索。

两个系统都不是保证一定找到最优解

但是,PSO没有遗传操作如交叉(crossover)和变异(mutation).而是根据自己的速度来决定搜索。

粒子还有一个重要的特点,就是有记忆。

与遗传算法比较,PSO的信息共享机制是很不同的.在遗传算法中,染色体(chromosomes)互相共享信息,所以整个种群的移动是比较均匀的向最优区域移动.在PSO中,只有gBest(orlBest)给出信息给其他的粒子,这是单向的信息流动.整个搜索更新过程是跟随当前最优解的过程.与遗传算法比较,在大多数的情况下,所有的粒子可能更快的收敛于最优解

5.人工神经网络和PSO

人工神经网络(ANN)是模拟大脑分析过程的简单数学模型,反向转播算法是最流行的神经网络训练算法。

进来也有很多研究开始利用演化计算(evolutionarycomputation)技术来研究人工神经网络的各个方面。

演化计算可以用来研究神经网络的三个方面:

网络连接权重,网络结构(网络拓扑结构,传递函数),网络学习算法。

不过大多数这方面的工作都集中在网络连接权重,和网络拓扑结构上。

在GA中,网络权重和/或拓扑结构一般编码为染色体(Chromosome),适应函数(fitnessfunction)的选择一般根据研究目的确定。

例如在分类问题中,错误分类的比率可以用来作为适应值

演化计算的优势在于可以处理一些传统方法不能处理的例子例如不可导的节点传递函数或者没有梯度信息存在。

但是缺点在于:

在某些问题上性能并不是特别好。

2.网络权重的编码而且遗传算子的选择有时比较麻烦

最近已经有一些利用PSO来代替反向传播算法来训练神经网络的论文。

研究表明PSO是一种很有潜力的神经网络算法。

PSO速度比较快而且可以得到比较好的结果。

而且还没有遗传算法碰到的问题

这里用一个简单的例子说明PSO训练神经网络的过程。

这个例子使用分类问题的基准函数(Benchmarkfunction)IRIS数据集。

(Iris是一种鸢尾属植物)在数据记录中,每组数据包含Iris花的四种属性:

萼片长度,萼片宽度,花瓣长度,和花瓣宽度,三种不同的花各有50组数据.这样总共有150组数据或模式。

我们用3层的神经网络来做分类。

现在有四个输入和三个输出。

所以神经网络的输入层有4个节点,输出层有3个节点我们也可以动态调节隐含层节点的数目,不过这里我们假定隐含层有6个节点。

我们也可以训练神经网络中其他的参数。

不过这里我们只是来确定网络权重。

粒子就表示神经网络的一组权重,应该是4*6+6*3=42个参数。

权重的围设定为[-100,100](这只是一个例子,在实际情况中可能需要试验调整).在完成编码以后,我们需要确定适应函数。

对于分类问题,我们把所有的数据送入神经网络,网络的权重有粒子的参数决定。

然后记录所有的错误分类的数目作为那个粒子的适应值。

现在我们就利用PSO来训练神经网络来获得尽可能低的错误分类数目。

PSO本身并没有很多的参数需要调整。

所以在实验中只需要调整隐含层的节点数目和权重的围以取得较好的分类效果。

6.PSO的参数设置

从上面的例子我们可以看到应用PSO解决优化问题的过程中有两个重要的步骤:

问题解的编码和适应度函数

PSO的一个优势就是采用实数编码,不需要像遗传算法一样是二进制编码(或者采用针对实数的遗传操作.例如对于问题f(x)=x1^2+x2^2+x3^2求解,粒子可以直接编码为(x1,x2,x3),而适应度函数就是f(x).接着我们就可以利用前面的过程去寻优.这个寻优过程是一个叠代过程,中止条件一般为设置为达到最大循环数或者最小错误

PSO中并没有许多需要调节的参数,下面列出了这些参数以及经验设置

粒子数:

一般取20–40.其实对于大部分的问题10个粒子已经足够可以取得好的结果,不过对于比较难的问题或者特定类别的问题,粒子数可以取到100或200

粒子的长度:

这是由优化问题决定,就是问题解的长度

粒子的围:

由优化问题决定,每一维可是设定不同的围

Vmax:

最大速度,决定粒子在一个循环中最大的移动距离,通常设定为粒子的围宽度,例如上面的例子里,粒子(x1,x2,x3)x1属于[-10,10],那么Vmax的大小就是20

学习因子:

c1和c2通常等于2.不过在文献中也有其他的取值.但是一般c1等于c2并且围在0和4之间

中止条件:

最大循环数以及最小错误要求.例如,在上面的神经网络训练例子中,最小错误可以设定为1个错误分类,最大循环设定为2000,这个中止条件由具体的问题确定.

全局PSO和局部PSO:

我们介绍了两种版本的粒子群优化算法:

全局版和局部版.前者速度快不过有时会陷入局部最优.后者收敛速度慢一点不过很难陷入局部最优.在实际应用中,可以先用全局PSO找到大致的结果,再有局部PSO进行搜索.

另外的一个参数是惯性权重,由Shi和Eberhart提出,有兴趣的可以参考他们1998年的论文(题目:

Amodifiedparticleswarmoptimizer)

7.OnlineResourcesofPSO

ThedevelopmentofPSOisstillongoing.AndtherearestillmanyunknownareasinPSOresearchsuchasthemathematicalvalidationofparticleswarmtheory.

Onecanfindmuchinformationfromtheinternet.Followingaresomeinformationyoucangetonline:

lotsofinformationaboutParticleSwarmsand,particularly,ParticleSwarmOptimization.lotsofParticleSwarmLinks.

icdweb.cc.purdue.edu/~hux/PSO.shtmllistsanupdatedbibliographyofparticleswarmoptimizationandsomeonlinepaperlinks

.researchindex./youcansearchparticleswarmrelatedpapersandreferences.

2006.7.1113:

20作者:

xiao1jun收藏|评论:

0

蚁群算法

简介:

蚁群算法(antcolonyoptimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。

它由MarcoDorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。

蚁群算法(antcolonyoptimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术。

它由MarcoDorigo于1992年在他的博士论文中引入,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。

为什么小小的蚂蚁能够找到食物?

他们具有智能么?

设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?

首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼的编程,因为程序的错误也许会让你前功尽弃。

这是多么不可思议的程序!

太复杂了,恐怕没人能够完成这样繁琐冗余的程序。

然而,事实并没有你想得那么复杂,上面这个程序每个蚂蚁的核心程序编码不过100多行!

为什么这么简单的程序会让蚂蚁干这样复杂的事情?

答案是:

简单规则的涌现。

事实上,每只蚂蚁并不是像我们想象的需要知道整个世界的信息,他们其实只关心很小围的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。

这就是人工生命、复杂性科学解释的规律!

那么,这些简单规则是什么呢?

下面详细说明:

1、围:

蚂蚁观察到的围是一个方格世界,蚂蚁有一个参数为速度半径(一般是3),那么它能观察到的围就是3*3个方格世界,并且能移动的距离也在这个围之。

2、环境:

蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有别的蚂蚁,还有信息素,信息素有两种,一种是找到食物的蚂蚁洒下的食物信息素,一种是找到窝的蚂蚁洒下的窝的信息素。

每个蚂蚁都仅仅能感知它围的环境信息。

环境以一定的速率让信息素消失。

3、觅食规则:

在每只蚂蚁能感知的围寻找是否有食物,如果有就直接过去。

否则看是否有信息素,并且比较在能感知的围哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往信息素最多的点移动。

蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。

4、移动规则:

每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。

为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。

5、避障规则:

如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则行为。

7、播撒信息素规则:

每只蚂蚁在刚找到食物或者窝的时候撒发的信息素最多,并随着它走远的距离,播撒的信息素越来越少。

根据这几条规则,蚂蚁之间并没有直接的关系,但是每只蚂蚁都和环境发生交互,而通过信息素这个纽带,实际上把各个蚂蚁之间关联起来了。

比如,当一只蚂蚁找到了食物,它并没有直接告诉其它蚂蚁这儿有食物,而是向环境播撒信息素,当其它的蚂蚁经过它附近的时候,就会感觉到信息素的存在,进而根据信息素的指引找到了食物。

问题:

说了这么多,蚂蚁究竟是怎么找到食物的呢?

在没有蚂蚁找到食物的时候,环境没有有用的信息素,那么蚂蚁为什么会相对有效的找到食物呢?

这要归功于蚂蚁的移动规则,尤其是在没有信息素时候的移动规则。

首先,它要能尽量保持某种惯性,这样使得蚂蚁尽量向前方移动(开始,这个前方是随机固定的一个方向),而不是原地无谓的打转或者震动;其次,蚂蚁要有一定的随机性,虽然有了固定的方向,但它也不能像粒子一样直线运动下去,而是有一个随机的干扰。

这样就使得蚂蚁运动起来具有了一定的目的性,尽量保持原来的方向,但又有新的试探,尤其当碰到障碍物的时候它会立即改变方向,这可以看成一种选择的过程,也就是环境的障碍物让蚂蚁的某个方向正确,而其他方向则不对。

这就解释了为什么单个蚂蚁在复杂的诸如迷宫的地图中仍然能找到隐蔽得很好的食物。

当然,在有一只蚂蚁找到了食物的时候,其他蚂蚁会沿着信息素很快找到食物的。

蚂蚁如何找到最短路径的?

这一是要归功于信息素,另外要归功于环境,具体说是计算机时钟。

信息素多的地方显然经过这里的蚂蚁会多,因而会有更多的蚂蚁聚集过来。

假设有两条路从窝通向食物,开始的时候,走这两条路的蚂蚁数量同样多(或者较长的路上蚂蚁多,这也无关紧要)。

当蚂蚁沿着一条路到达终点以后会马上返回来,这样,短的路蚂蚁来回一次的时间就短,这也意味着重复的频率就快,因而在单位时间里走过的蚂蚁数目就多,洒下的信息素自然也会多,自然会有更多的蚂蚁被吸引过来,从而洒下更多的信息素……;而长的路正相反,因此,越来越多地蚂蚁聚集到较短的路径上来,最短的路径就近似找到了。

也许有人会问局部最短路径和全局最短路的问题,实际上蚂蚁逐渐接近全局最短路的,为什么呢?

这源于蚂蚁会犯错误,也就是它会按照一定的概率不往信息素高的地方走而另辟蹊径,这可以理解为一种创新,这种创新如果能缩短路途,那么根据刚才叙述的原理,更多的蚂蚁会被吸引过来。

引申:

跟着蚂蚁的踪迹,你找到了什么?

通过上面的原理叙述和实际操作,我们不难发现蚂蚁之所以具有智能行为,完全归功于它的简单行为规则,而这些规则综合起来具有下面两个方面的特点:

1、多样性

2、正反馈

多样性保证了蚂蚁在觅食的时候不置走进死同而无限循环,正反馈机制则保证了相对优良的信息能够被保存下来。

我们可以把多样性看成是一种创造能力,而正反馈是一种学习强化能力。

正反馈的力量也可以比喻成权威的意见,而多样性是打破权威体现的创造性,正是这两点小心翼翼的巧妙结合才使得智能行为涌现出来了。

引申来讲,大自然的进化,社会的进步、人类的创新实际上都离不开这两样东西,多样性保证了系统的创新能力,正反馈保证了优良特性能够得到强化,两者要恰到好处的结合。

如果多样性过剩,也就是系统过于活跃,这相当于蚂蚁会过多的随机运动,它就会陷入混沌状态;而相反,多样性不够,正反馈机制过强,那么系统就好比一潭死水。

这在蚁群中来讲就表现为,蚂蚁的行为过于僵硬,当环境变化了,蚂蚁群仍然不能适当的调整。

既然复杂性、智能行为是根据底层规则涌现的,既然底层规则具有多样性和正反馈特点,那么也许你会问这些规则是哪里来的?

多样性和正反馈又是哪里来的?

我本人的意见:

规则来源于大自然的进化。

而大自然的进化根据刚才讲的也体现为多样性和正反馈的巧妙结合。

而这样的巧妙结合又是为什么呢?

为什么在你眼前呈现的世界是如此栩栩如生呢?

答案在于环境造就了这一切,之所以你看到栩栩如生的世界,是因为那些不能够适应环境的多样性与正反馈的结合都已经死掉了,被环境淘汰了!

参数说明:

最大信息素:

蚂蚁在一开始拥有的信息素总量,越大表示程序在较长一段时间能够存在信息素。

信息素消减的速度:

随着时间的流逝,已经存在于世界上的信息素会消减,这个数值越大,那么消减的越快。

错误概率表示这个蚂蚁不往信息素最大的区域走的概率,越大则表示这个蚂蚁越有创新性。

速度半径表示蚂蚁一次能走的最大长度,也表示这个蚂蚁的感知围。

记忆能力表示蚂蚁能记住多少个刚刚走过点的坐标,这个值避免了蚂蚁在本地打转,停滞不前。

而这个值越大那么整个系统运行速度就慢,越小则蚂蚁越容易原地转圈。

2006.7.1113:

08作者:

xiao1jun收藏|评论:

0

智能算法综述

1什么是智能算法

智能计算也有人称之为“软计算”,是们受自然(生物界)规律的启迪,根据其原理,模仿求解问题的算法。

从自然界得到启迪,模仿其结构进行发明创造,这就是仿生学。

这是我们向自然界学习的一个方面。

另一方面,我们还可以利用仿生原理进行设计(包括设计算法),这就是智能计算的思想。

这方面的容很多,如人工神经网络技术、遗传算法、模拟退火算法、模拟退火技术和群集智能技术等。

2人工神经网络算法

“人工神经网络”(ARTIFICIALNEURALNETWORK,简称ANN)是在对人脑组织结构和运行机制的认识理解基础之上模拟其结构和智能行为的一种工程系统。

早在本世纪40年代初期,心理学家McCulloch、数学家Pitts就提出了人工神经网络的第一个数学模型,从此开创了神经科学理论的研究时代。

其后,FRosenblatt、Widrow和J.J.Hopfield等学者又先后提出了感知模型,使得人工神经网络技术得以蓬勃发展。

神经系统的基本构造是神经元(神经细胞),它是处理人体各部分之间相互信息传递的基本单元。

据神经生物学家研究的结果表明,人的一个大脑一般有1010~1011个神经元。

每个神经元都由一个细胞体,一个连接其他神经元的轴突和一些向外伸出的其它较短分支——树突组成。

轴突的功能是将本神经元的输出信号(兴奋)传递给别的神经元。

其末端的许多神经末梢使得兴奋可以同时传送给多个神经元。

树突的功能是接受来自其它神经元的兴奋。

神经元细胞体将接受到的所有信号进行简单处理(如:

加权求和,即对所有的输入信号都加以考虑且对每个信号的重视程度——体现在权值上——有所不同)后由轴突输出。

神经元的树突与另外的神经元的神经末梢相连的部分称为突触。

2.1人工神经网络的特点

人工神经网络是由大量的神经元广泛互连而成的系统,它的这一结构特点决定着人工神经网络具有高速信息处理的能力。

人脑的每个神经元大约有103~104个树突及相应的突触,一个人的大脑总计约形成1014~1015个突触。

用神经网络的术语来说,即是人脑具有1014~1015个互相连接的存储潜力。

虽然每个神经元的运算功能十分简单,且信号传输速率也较低(大约100次/秒),但由于各神经元之间的极度并行互连功能,最终使得一个普通人的大脑在约1秒就能完成现行计算机至少需要数10亿次处理步骤才能完成的任务。

人工神经网络的知识存储容量很大。

在神经网络中,知识与信息的存储表现为神经元之间分布式的物理联系。

它分散地表示和存储于整个网络的各神经元及其连线上。

每个神经元及其连线只表示一部分信息,而不是一个完整具体概念。

只有通过各神经元的分布式综合效果才能表达出特定的概念和知识。

由于人工神经网络中神经元个数众多以及整个网络存储信息容量的巨大,使得它具有很强的不确定性信息处理能力。

即使输入信息不完全、不准确或模糊不清,神经网络仍然能够联想思维存在于记忆中的事物的完整图象。

只要输入的模式接近于训练样本,系统就能给出正确的推理结论。

正是因为人工神经网络的结构特点和其信息存储的分布式特点,使得它相对于其它的判断识别系统,如:

专家系统等,具有另一个显著的优点:

健壮性。

生物神经网络不会因为个别神经元的损失而失去对原有模式的记忆。

最有力的证明是,当一个人的大脑因意外事故受轻微损伤之后,并不会失去原有事物的全部记忆。

人工神经网络也有类似的情况。

因某些原因,无论是网络的硬件实现还是软件实现中的某个或某些神经元失效,整

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1