PSO:particle swarm optimization
注:以下的鸟就是粒子。

总体思想

有若干只鸟xix_ixi​,位置可能各不相同,但是每只鸟需要记录下自己的个体历史最优解pbestipbest_ipbesti​,并分享给大家,在这些个体历史最优解中,记最优的那个为全局最优解gbestgbestgbest。然后,每只鸟都根据pbestipbest_ipbesti​和gbestgbestgbest来调整自己的位置,其实就是希望在这两者的中间部分搜寻。

算法双要素

每只鸟都有一个位置xxx和速度vvv,其中vvv由pbestipbest_ipbesti​和gbestgbestgbest决定,xxx由vvv决定。

1. 我们先说xxx如何由vvv决定。假设当前某只鸟的位置xxx和速度vvv如下:

则这只鸟的下一个位置为:
x=x+vx=x+vx=x+v
即:

2. 我们再说vvv如何由pbestipbest_ipbesti​和gbestgbestgbest决定。假设当前某只鸟的位置xix_ixi​、速度viv_ivi​、该鸟的个体历史最优解pbestipbest_ipbesti​,以及鸟群的全局最优解gbestgbestgbest如下。(注:xix_ixi​等等三个也和viv_ivi​一样,是一个向量,只是没显式地画出来而已。)

按照我们之前的思想,我们希望这只鸟既靠近pbestipbest_ipbesti​又靠近gbestgbestgbest,那么综合一下,就是往他们的中间方向靠近。

即做两个向量差,如下:

然后这两个向量加权相加,比如y=0.1y1+0.2y2y=0.1y_1+0.2y_2y=0.1y1​+0.2y2​,随便你设置,假设我们相加后的yyy是这样的。

然后我们再进行viv_ivi​的更新,即vi=vi+yv_i=v_i+yvi​=vi​+y。即根据向量的加法得到红色的新viv_ivi​。

至此viv_ivi​的更新完毕了,最后一步我们也一起做完吧。即xi=xi+vix_i=x_i+v_ixi​=xi​+vi​。如下图,我们得到了新的粗蓝色新的xix_ixi​。

总结

PSO算法的标准形式:

在每只鸟分享完信息之后,先按公式1更新速度(下面的3个向量相加和我们上面的图解一模一样),然后按照公式2更新位置。

其中:



这个解释一下,如果vi′=vi+yv_i^{'}=v_i+yvi′​=vi​+y,如果vi′v_i^{'}vi′​的长度太大了,那么保留这个vi′v_i^{'}vi′​的方向,但是截断其长度,使其为vmaxv_{max}vmax​的长度。

扩展

标准的PSO算法是上述公式(3)和公式(2),因为其引入了惯性因子www,使得算法相对之前,更加灵活可变,成了标准。

上述其值较大,全局寻优能力强等等那里的分析,联系一下我们上面的图,向量相加那里,立马就能够理解了(全局寻优能力强就是迭代之后新的xix_ixi​远远飞离现有的3个点:旧的xi,pbesti,gbestx_i,pbest_i,gbestxi​,pbesti​,gbest,反之,如果迭代之后很靠近这三个点,就是局部寻优)

参考:
https://blog.csdn.net/daaikuaichuan/article/details/81382794

图解粒子群优化算法(PSO)相关推荐

  1. 概率检索模型+模糊k近邻+粒子群优化算法(PSO)

    1. 概率检索模型 文档属于"相关"类的概率与属于"不相关"类的概率的比值(也叫"优势比"). 显然,这个比值越大,代表该文档与查询的相关度 ...

  2. 【计算智能】——群体智能算法(蚁群优化算法ACO、粒子群优化算法PSO)

    群体智能算法 与大多数基于梯度的优化算法不同,群体智能算法依靠的是概率搜索算法. 与梯度算法及传统演化算法相比优点: 没有集中控制约束,不会因为个体的故障影响整个问题的求解. 以非直接信息交流的方式确 ...

  3. 粒子群优化算法 PSO

    文章目录 1.基本内容 1.1 概念 1.2 基本原理 1.3 基本步骤 2.代码分析 2.1 Rastrigrin()函数 2.2 Schaffer()函数 2.3 Griewank()函数 2.4 ...

  4. 【原理与代码讲解】粒子群优化算法 PSO(基础版)

    0 前言 Gitee 代码地址: https://gitee.com/futurelqh/GA 粒子群优化算法(Particle Swarm Optimization,PSO),其思想源于对鸟群觅食过 ...

  5. 优化算法(四)——粒子群优化算法(PSO)

    粒子群算法(Particle Swarm Optimization,PSO)是一种模仿鸟群.鱼群觅食行为发展起来的一种进化算法.其概念简单易于编程实现且运行效率高.参数相对较少,应用非常广泛.粒子群算 ...

  6. python特征选择pso_粒子群优化算法(PSO)之基于离散化的特征选择(FS)(三)

    作者:Geppetto 前面我们介绍了特征选择(Feature Selection,FS)与离散化数据的重要性,总览的介绍了PSO在FS中的重要性和一些常用的方法,介绍了FS与离散化的背景,介绍本文所 ...

  7. 粒子群算法离散化各代表什么_粒子群优化算法(PSO)之基于离散化的特征选择(FS)(三)...

    欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识!也可以搜索号:磐创AI,关注我们的文章. 作者:Geppetto 前 ...

  8. matlab粒子群优化算法工具箱,MATLAB粒子群优化算法(PSO)

    MATLAB粒子群优化算法(PSO) 一.介绍 粒子群优化算法(Particle Swarm Optimization Algorithm)是一种群智能算法,为了寻求全局最优.群体迭代,粒子在解空间追 ...

  9. PSO 粒子群优化算法 大整理

    一.粒子群算法的概念   粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation).源于对鸟群捕食的行为 ...

最新文章

  1. IDEAWebstorm使用
  2. 基于java的InputStream.read(byte[] b,int off,int len)算法学习!
  3. 我们用最详细的方式解析Android消息机制的源码,经典好文
  4. 1,2 多维运动公式
  5. 科大星云诗社动态20210223
  6. FlexiBO:基于成本感知的深度神经网络多目标优化
  7. $arr[]=$v 把 $v 这个东西 放到 $arr[] 这个数组中
  8. Linux环境Elasticsearch6.xxx 之kibana可视化工具操作索引
  9. 土地利用覆被变化的概念_【能源+气候】生物质能碳捕集与封存技术在气候变化下的减排潜力...
  10. 【Unity项目实战】手把手教学:飞翔的小鸟(1)导入素材
  11. Wker_SQLTool注入工具(附源码)
  12. c语言看门狗的作用,看门狗定时器工作原理及作用
  13. mysql冒号_mysql语句中的冒号是什么意思?
  14. C++ limits头文件的用法(numeric_limits)
  15. 解决“error: failed to push some refs to ‘git@gitee.com:username/repo.git‘“
  16. (16)双目视觉的图像获取
  17. Golang 二叉树遍历
  18. 吴恩达老师,被曝靠「教书」实现首个IPO上市,Coursera估值50亿美元
  19. 产业区块链的“道”与“术”:区块链技术的价值解读
  20. 人脸识别实名认证在景区门禁系统中的应用

热门文章

  1. 损失函数约束类间不一致性
  2. 区块链论文: Bitcoin-NG: A Scalable Blockchain Protocol
  3. 专访@爱可可-爱生活:如何做好科学研究(干货满满)
  4. 独家 | 计算学习理论简介(附资源推荐)
  5. 原创 | 从智慧交通、智慧安防、智能电网三大应用场景看我国智慧城市建设现状...
  6. 学计算机哪家强?清华竟是2018全球第1!(附排名)
  7. 不忘初心,砥砺前行——写在数据院成立四周年之际
  8. 把命令行玩成“迷你谷歌”:可搜索、计算,还能翻译 | GitHub热榜
  9. 麻省理工学院韩松教授实验室招收科研实习生(可远程)
  10. ICCV 2021审稿结果出炉,这里有一份Rebuttal写作指南