Particle Swarm Optimization From Scratch Using Python

PSO from scratch with python

An optional description of the image for screen readers. Credit by Herb
Demo script (Python) of particle swarm optimization (PSO) partly translated from SDMBIGDAT19 (MATLAB).



Mock Data Challenge

  • Given
    • Training data containing only noise: TrainingData.mat
    • Noise is Gaussian, stationary
    • Data to be analysed: analysisData.mat
    • Signal: Quadratic chirp
    • Parameter search ranges:
      • 40 < a1 < 100
      • 1 < a2 < 50
      • 11 < a3 < 15
  • Detection and Estimation
    • Detection: Is there a signal in the analysis data?
    • Estimation: If so, estimate its parameters
    • Use PSO to obtain generalized likelihood ratio test (GLRT) and maximum likelihood estimate (MLE)
    • Recommended PSO parameters:
      • Best of 8 runs
      • Termination at 2000 iterations

Pre-requirements

  • Python 3.x
  • Numpy
  • Scipy
  • tqdm

How to use it

Just run demo.py script or demo.ipynb.

$ python demo.py

Reference

Licence

  • MIT
Next
Previous

Related