通俗理解粒子群优化算法

2017 年 12 月 1 日 机器学习研究会

推荐阅读时间8min~12min

主要内容:粒子群优化算法简介

1
背景介绍

人工生命

人工生命:研究具有某些生命基本特征的人 工系统。包括两方面的内容:
  1、研究如何利用计算技术研究生物现象;
  2、 研究如何利用生物技术研究计算问题。
  我们关注的是第二点。已有很多源于生物现象的计算技巧,例如神经网络和遗传算法。现在讨论另一种生物系统---社会系统:由简单个体组成的群落和环境及个体之间的相互行为。

群智能


模拟系统利用局部信息从而可以产生不可预测的群行为。我们经常能够看到成群的鸟、鱼或者浮游生物。这些生物的聚集行为有利于它们觅食和逃避捕食者。它们的群落动辄以十、百、千甚至万计,并且经常不存在一个统一的指挥者。它们是如何完成聚集、移动这些功能呢?

  Millonas在开发人工生命算法时(1994年),提出群体智能概念并提出五点原则:
  1、接近性原则:群体应能够实现简单的时空计算;
  2、优质性原则:群体能够响应环境要素;
  3、变化相应原则:群体不应把自己的活动限制在一狭小范围;
  4、稳定性原则:群体不应每次随环境改变自己的模式;
  5、适应性原则:群体的模式应在计算代价值得的时候改变。

模拟群

对鸟群行为的模拟: Reynolds、Heppner和Grenader提出鸟群行为的 模拟。他们发现,鸟群在行进中会突然同步的改 变方向,散开或者聚集等。那么一定有某种潜在 的能力或规则保证了这些同步的行为。这些科学 家都认为上述行为是基于不可预知的鸟类社会行 为中的群体动态学。 在这些早期的模型中仅仅依赖个体间距的操作, 也就是说,这中同步是鸟群中个体之间努力保持 最优的距离的结果。

  对鱼群行为的研究:生物社会学家E.O.Wilson对鱼群进行了研究。提出:“至少在理论上,鱼群的个体成员能够受益于群体中其他个体在寻找食物的过程中的发现和以前的经验,这种受益超过了个体之间的竞争所带来的利益消耗,不管任何时候食物资源不可预知的分散。”这说明,同种生物之间信息的社会共享能够带来好处。这是PSO的基础。

2
算法介绍


粒子群优化算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解.
  PSO的优势在于简单容易实现并且没有许多参数的调节。目前已被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。

问题提出


设想这样一个场景:一群鸟在随机的搜索食物。 在这个区域里只有一块食物,所有的鸟都不知 道食物在那。但是它们知道自己当前的位置距 离食物还有多远。 那么找到食物的最优策略是什么? 最简单有效的就是搜寻目前离食物最近的鸟的 周围区域。

问题抽象


鸟被抽象为没有质量和体积的微粒(点),并延伸到N维空间,粒子I 在N维空间的位置表示为矢量Xi=(x1,x2,…,xN),飞行速度表示为矢量Vi=(v1,v2,…,vN).每个粒子都有一个由目标函数决定的适应值(fitness value),并且知道自己到目前为止发现的最好位置(pbest)和现在的位置Xi.这个可以看作是粒子自己的飞行经验.除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(gbest)(gbest是pbest中的最好值).这个可以看作是粒子同伴的经验.粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。  

算法描述

PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己。

  在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

算法优化

1998年shi等人在进化计算的国际会议上 发表了一篇论文《A modified particle swarm optimizer》对前面的公式进行了修正。引入 惯性权重因子。值较大,全局寻优能力强,局部寻优能力弱; 值较小反之。

  初始时,shi将 取为常数,后来实验发现,动 态 能够获得比固定值更好的寻优结果。动态 可以在PSO搜索过程中线性变化,也可根据PSO 性能的某个测度函数动态改变。 目前,采用较多的是shi建议的线性递减权值 (linearly decreasing weight, LDW)策略。

标准PSO算法的流程:

  Step1:初始化一群微粒(群体规模为m),包括随机位置和 速度;

  Step2:评价每个微粒的适应度;

  Step3:对每个微粒,将其适应值与其经过的最好位置 pbest作比较,如果较好,则将其作为当前的 最好位置pbest;

  Step4:对每个微粒,将其适应值与其经过的最好位置 gbest作比较,如果较好,则将其作为当前的 最好位置gbest;

  Step5:根据(2)、(3)式调整微粒速度和位置;

  Step6:未达到结束条件则转Step2。

  迭代终止条件根据具体问题一般选为最大迭代次数Gk或(和)微粒群迄今为止搜索到的最优位置满足预定最小适应阈值。


转自:机器学习算法与自然语言处理


完整内容请点击“阅读原文”

登录查看更多
9

相关内容

Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
【BAAI|2019】用深度学习模拟原子间势,王涵  (附pdf)
专知会员服务
17+阅读 · 2019年11月21日
深度学习优化算法总结(SGD,AdaGrad,Adam等)
极市平台
33+阅读 · 2019年4月30日
《常用算法之智能计算 (四) 》:遗传算法
数盟
4+阅读 · 2018年12月21日
2018年深度学习优化算法最新综述
计算机视觉战队
9+阅读 · 2018年12月11日
理解五个基本概念,让你更像机器学习专家
云栖社区
5+阅读 · 2018年11月29日
2017年深度学习优化算法最新综述
计算机视觉战队
6+阅读 · 2017年12月18日
独家 | 一文读懂优化算法
数据派THU
8+阅读 · 2017年9月15日
Arxiv
5+阅读 · 2018年5月28日
Arxiv
12+阅读 · 2018年1月12日
Arxiv
3+阅读 · 2018年1月10日
Arxiv
3+阅读 · 2017年12月18日
VIP会员
相关资讯
Top
微信扫码咨询专知VIP会员