automl-演化算法-粒子群算法

参考博文:粒子群优化算法(Particle Swarm Optimization)
【PSO】离散粒子群算法(DPSO)和离散二进制粒子群算法(BPSO )
粒子群优化算法(1)
粒子群优化算法(2)离散粒子群算法

离散粒子群算法

普通粒子群算法(Particle Swarm Optimization Algorithm,PSO)的粒子初始位置、更新速度都是连续函数,与之对应,位置和速度更新均为离散值的算法是离散PSO算法(Discrete Particle Swarm Optimization Algorithm, DPSO);

一般就是在跟新粒子位置后,对粒子进行离散点处理;

比如:你的粒子的离散点是0到9的整数。那么对每个粒子更新位置后,比如是在(0,1)范围内的随机数。那么就(0,0.1)范围令其值为0;(0.1,0.2)范围令其值为1;…(0.9.1)范围令其值为9。当然初始位置值也需要这样处理

基本PSO代码实现与解读

在DEAP遗传算法库种,有一个关于粒子群算法的示例。源码地址

代码主要有两个函数:

  • generate:生成粒子
  • updateParticle:更新粒子的位置和速度

下面注释了该代码
automl-演化算法-粒子群算法_第1张图片

automl-演化算法-粒子群算法_第2张图片
通过DEAP工具箱注册类Particle和几个函数(particle、population、update、evaluate)
automl-演化算法-粒子群算法_第3张图片

automl-演化算法-粒子群算法_第4张图片

你可能感兴趣的:(automl)