COSC 3P71
Particle Swarm Optimization (PSO)
Brock University
Brock University ((PSO)) Particle Swarm Optimization 1 / 23
COSC 3P71 Particle Swarm Optimization (PSO) Brock University - - PowerPoint PPT Presentation
COSC 3P71 Particle Swarm Optimization (PSO) Brock University Brock University ((PSO)) Particle Swarm Optimization 1 / 23 Swarm Intelligence Recall Swarm Intelligence in general, and Ant Colony Optimization in specific. What do we remember?
Brock University ((PSO)) Particle Swarm Optimization 1 / 23
Brock University ((PSO)) Particle Swarm Optimization 2 / 23
Brock University ((PSO)) Particle Swarm Optimization 3 / 23
Brock University ((PSO)) Particle Swarm Optimization 4 / 23
Brock University ((PSO)) Particle Swarm Optimization 5 / 23
Brock University ((PSO)) Particle Swarm Optimization 6 / 23
Brock University ((PSO)) Particle Swarm Optimization 7 / 23
Brock University ((PSO)) Particle Swarm Optimization 8 / 23
◮ We’ll talk a bit more about these bounds later
◮ I’m partial to half the bounds of the search space (or less) ◮ Obviously the magnitude of the velocity bounds is strictly positive, but
Brock University ((PSO)) Particle Swarm Optimization 9 / 23
◮ Optionally, they may be per dimension, per particle, per iteration ◮ i.e.
◮ Values typically range from 0 to 1 Brock University ((PSO)) Particle Swarm Optimization 10 / 23
Brock University ((PSO)) Particle Swarm Optimization 11 / 23
Brock University ((PSO)) Particle Swarm Optimization 12 / 23
◮ That might inhibit exploration, and cause premature convergence
◮ The initial question is whether you should choose the neighbourhood
⋆ If decided per-iteration, it will typically be based on Euclidean proximity ⋆ It’s up to you whether swarm associations are symmetric or not — e.g.
⋆ When you choose your neighbourhoods probably won’t really matter,
Brock University ((PSO)) Particle Swarm Optimization 13 / 23
Brock University ((PSO)) Particle Swarm Optimization 14 / 23
◮ e.g. x between 0 and 1, or between 2 and 3, but not betwen 1 and 2 ⋆ Of course, for a problem like this, one could simply adapt the
⋆ e.g. the aforementioned range could be mapped to a [0..2]; continuous
◮ e.g. What’s legal in dimension 1 depends on what was chosen in
◮ This can be particularly problematic if trying to adapt to a
Brock University ((PSO)) Particle Swarm Optimization 15 / 23
Brock University ((PSO)) Particle Swarm Optimization 16 / 23
◮ Unlike, for example, gradient descent!
◮ Consequently, there may be less bias from the user/experimenter
Brock University ((PSO)) Particle Swarm Optimization 17 / 23
◮ As such, it can be a viable alternative to BackProp Brock University ((PSO)) Particle Swarm Optimization 18 / 23
Brock University ((PSO)) Particle Swarm Optimization 19 / 23
◮ The easiest is to start momentum high, and then gradually it reduce
⋆ Compare to simulated annealing ⋆ It might help to avoid local minima, and then allow for refinement ◮ Personally, I’m partial to oscillation
◮ If velocity is the propensity to change position, then one could relax the
◮ Asterisk*
◮ ...wait a minute...
Brock University ((PSO)) Particle Swarm Optimization 20 / 23
Brock University ((PSO)) Particle Swarm Optimization 21 / 23
Brock University ((PSO)) Particle Swarm Optimization 22 / 23
Brock University ((PSO)) Particle Swarm Optimization 23 / 23