machine-learning - 粒子群优化 pbest 和 gbest

标签 machine-learning optimization mathematical-optimization

可以更新粒子速度和位置,然后找到pbest和gbest吗?或者必须首先找到pbest和gbest? PSO 中的 pbest 和 gbest 是什么?

最佳答案

如果我正确理解你的问题,答案是肯定的。众所周知,PSO 的主要方程是:

eq

eq2

其中 x 和 v 是位置和速度,w、c1 和 c2 是常数,r1 和 r2 是两个随机数。总而言之,PSO 算法流程如下:

  1. 开始人口
  2. 设置常量(w、c1 和 c2)
  3. 检查停止标准或收敛
  4. 获取随机数 r1 和 r2
  5. 更新 Gbest 和 Pbest
  6. 更新 v 和 x
  7. 返回3

Pbest 存储迄今为止粒子 k 的最佳位置,Gbest 存储所有粒子的最佳位置。它用于使所有粒子都指向全局最大值/最小值。它还受到拓扑的影响:

enter image description here

如果您使用全局拓扑,则更容易陷入局部最小值/最大值。另一方面,你的算法可能收敛得更快。因此,这取决于您的问题并且需要进行测试。

关于machine-learning - 粒子群优化 pbest 和 gbest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56776314/

相关文章:

python - PYTHON : libraries/tools to use? 上的遗传算法和多目标优化

python - 多处理池映射 : AttributeError: Can't pickle local object

machine-learning - 使用机器学习根据传感器数据进行故障预测

java - 在 Eclipse 中遵循斯坦福 CoreNLP 教程时出现错误

c++ - 模板和内联优化乘法

optimization - 使用 CPLEX 检查新变量降低的成本

java - 凸优化,java

python - 解释多类逻辑回归中的预测概率

machine-learning - 将训练数据转换到另一个空间,以便我们可以找到超平面

Mysql 最小/最大优化