可以更新粒子速度和位置,然后找到pbest和gbest吗?或者必须首先找到pbest和gbest? PSO 中的 pbest 和 gbest 是什么?
最佳答案
如果我正确理解你的问题,答案是肯定的。众所周知,PSO 的主要方程是:
其中 x 和 v 是位置和速度,w、c1 和 c2 是常数,r1 和 r2 是两个随机数。总而言之,PSO 算法流程如下:
- 开始人口
- 设置常量(w、c1 和 c2)
- 检查停止标准或收敛
- 获取随机数 r1 和 r2
- 更新 Gbest 和 Pbest
- 更新 v 和 x
- 返回3
Pbest 存储迄今为止粒子 k 的最佳位置,Gbest 存储所有粒子的最佳位置。它用于使所有粒子都指向全局最大值/最小值。它还受到拓扑的影响:
如果您使用全局拓扑,则更容易陷入局部最小值/最大值。另一方面,你的算法可能收敛得更快。因此,这取决于您的问题并且需要进行测试。
关于machine-learning - 粒子群优化 pbest 和 gbest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56776314/