PyRCN: A Toolbox for Exploration and Application of Reservoir Computing
  Networks
  Reservoir Computing Networks (RCNs) belong to a group of machine learning
techniques that project the input space non-linearly into a high-dimensional
feature space, where the underlying task can be solved linearly. Popular
variants of RCNs are capable of solving complex tasks equivalently to widely
used deep neural networks, but with a substantially simpler training paradigm
based on linear regression. In this paper, we show how to uniformly describe
RCNs with small and clearly defined building blocks, and we introduce the
Python toolbox PyRCN (Python Reservoir Computing Networks) for optimizing,
training and analyzing RCNs on arbitrarily large datasets. The tool is based on
widely-used scientific packages and complies with the scikit-learn interface
specification. It provides a platform for educational and exploratory analyses
of RCNs, as well as a framework to apply RCNs on complex tasks including
sequence processing. With a small number of building blocks, the framework
allows the implementation of numerous different RCN architectures. We provide
code examples on how to set up RCNs for time series prediction and for sequence
classification tasks. PyRCN is around ten times faster than reference toolboxes
on a benchmark task while requiring substantially less boilerplate code.
