This repository contains the necessary source code to use the EvoESN with the PSO algorithm. Also there are files with data, for making easy experiments.
For performing an experiment the user can run in a terminal the command below, it is recommended to use Conda enviroment:
python main.py
The dependencies are:
numpy matplotlib scipy deap
By default, it will solve the problem related to Lorenz system. It is possible to select the problem directly in the main.py file.
The global parameters of the algorithm and the parameters of the model are set in three main dictionaries in the main.py file:
- ESN_param
- Learning_config
- PSO_param
The user can modify the parameters directly changing the values on those dictionaries.
Note that work over this code should cite our first article regarding this model:
@INPROCEEDINGS{BasterIJCNN2022,
author={Basterrech, Sebastian and Rubino, Gerardo},
booktitle={2022 IEEE International Joint Conference on Neural Networks (IJCNN)},
title={{Evolutionary Echo State Network: evolving reservoirs in the Fourier space}},
year={2022},
volume={},
number={},
pages={1-8},
doi={10.1109/IJCNN55064.2022.9892892}}
If you find any problems or you have a suggestion for improvement, please don't hesitate in contacting me. It will help us make this code better for everybody.