Machine learning 粒子群算法pbest和gbest

Machine learning 粒子群算法pbest和gbest,machine-learning,optimization,mathematical-optimization,Machine Learning,Optimization,Mathematical Optimization,是否可以更新粒子速度和位置,然后找到pbest和gbest?或者必须先找到pbest和gbest?PSO中的pbest和gbest是什么?如果我正确理解了你的问题,答案是肯定的。我们知道,粒子群优化的主要方程是: 其中x和v是位置和速度,w、c1和c2是常数,r1和r2是两个随机数。总之,PSO算法的流程如下: 开始你的人口 设置常数(w、c1和c2) 检查停止标准或收敛性 获取随机数r1和r2 更新Gbest和Pbest 更新v和x 返回到3 Pbest存储到目前为止粒子k的最佳位置,Gb

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

如果我正确理解了你的问题,答案是肯定的。我们知道,粒子群优化的主要方程是:

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

  • 开始你的人口
  • 设置常数(w、c1和c2)
  • 检查停止标准或收敛性
  • 获取随机数r1和r2
  • 更新Gbest和Pbest
  • 更新v和x
  • 返回到3
  • Pbest存储到目前为止粒子k的最佳位置,Gbest存储所有粒子的最佳位置。它用于使所有粒子指向全局最大/最小值。它还受拓扑的影响:


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

    因此,首先必须更新pbest和gbest,并根据该速度和位置进行更新。如果我们没有首先设置初始pbest和gbest,则无法更新粒子位置和速度。我说得对吗?是的,你说得对。您需要先设置Gbest和Pbest。尽管如此,请观察第一次运行算法循环时,所有粒子将在搜索空间中获得随机位置。因此,根据你的适应度函数,第一个Pbest将是粒子本身,第一个Gbest将是一个随机粒子。