# Overview

Reservoir Computing is an umbrella term used to describe a family of models such as Echo State Networks (ESNs) and Liquid State Machines (LSMs). The key concept is to expand the input data into a higher dimension and use regression in order to train the model; in some ways Reservoir Computers can be considered similar to kernel methods.

This library assumes some basic knowledge of Reservoir Computing. For a good introduction, we suggest the following papers: the first two are the seminal papers about ESN and LSM, the others are in-depth review papers that should cover all the needed information.

- Jaeger, Herbert: The “echo state” approach to analysing and training recurrent neural networks-with an erratum note.
- Maass W, Natschläger T, Markram H: Real-time computing without stable states: a new framework for neural computation based on perturbations.
- Lukoševičius, Mantas: A practical guide to applying echo state networks." Neural networks: Tricks of the trade.
- Lukoševičius, Mantas, and Herbert Jaeger: Reservoir computing approaches to recurrent neural network training.

In this package (for the moment) there are the following models:

- Echo State Networks (ESNs)
- Support Vector Echo State Machines [1] (SVESMs)
- Echo State Gaussian Processes [2] (ESGPs)
- Reservoir Computing with Cellular Automata [3] (RECAs)
- Reservoir Memory Machine [4] (RMMs)
- Double Activation Echo State Networks [5] (DAFESNs)

Multiple features are present as well, like the possibility of using a number of different reservoir and input layer architectures, as well as different linear regression methods. For more information on this please refer to the examples.

# Installation

Since ReservoirComputing is registered in the Julia General Registry, it will suffice to do the following in the Julia REPL:

`]add ReservoirComputing`

## References

[1]: Shi, Zhiwei, and Min Han. "Support vector echo-state machine for chaotic time-series prediction." IEEE Transactions on Neural Networks 18.2 (2007): 359-372.

[2]: Chatzis, Sotirios P., and Yiannis Demiris. "Echo state Gaussian process." IEEE Transactions on Neural Networks 22.9 (2011): 1435-1445.

[3]: Yilmaz, Ozgur. "Reservoir computing using cellular automata." arXiv preprint arXiv:1410.0162 (2014).

[4]: Paaßen, Benjamin, and Alexander Schulz. "Reservoir memory machines." arXiv preprint arXiv:2003.04793 (2020).

[5]: Lun, Shu-Xian, et al. "A novel model of leaky integrator echo state network for time-series prediction." Neurocomputing 159 (2015): 58-66.