These minimalist self-contained source codes in different programming languages demonstrate the simplicity and power of implementing and applying Echo State Networks. They are intended for education and instruction, but can also be easily adapted for practical purposes.
As a demo, they learn to predict Mackey-Glass chaotic time series (delay=17) with a remarkable accuracy. The data needed for the code are available here: MackeyGlass_t17.txt (or .zip, needs unpacking).
- Scientific Python: minimalESN.py.
Requires Python (tested on versions 2.7.5, 2.7.10, and 3.4.4) with general scientific libraries (NumPy, SciPy, and MatPlotLib). They are all free.
- Octave or Matlab: minimalESN.m.
Requires Matlab (tested on versions R2008b and R2014b) or Octave (tested on version 4.0.0). Octave is free.
- R programming language: minimalESN.r.
Requires R programming environment (tested on version 2.15.1). It’s free.
The program codes above are distributed under a friendly MIT License.
A practical guide to applying echo state networks Incollection
In: Montavon, Grégoire; Orr, Geneviève B; Müller, Klaus-Robert (Ed.): Neural Networks: Tricks of the Trade, 2nd Edition, 7700 , pp. 659-686, Springer, 2012, ISBN: 978-3-642-35288-1.