Skip to content
This repository has been archived by the owner on May 11, 2023. It is now read-only.
Oldřich Koželský edited this page Jan 22, 2021 · 91 revisions

Reservoir Computing for .NET (RCNet)

RCNet is a free .net machine learning library providing the Reservoir Computing methods.
Two main reservoir computing methods are called Echo State Network (ESN) and Liquid State Machine (LSM). RCNet supports both of these methods. However, since ESN and LSM are based on very similar principles, RCNet brings the option to combine them at the same time which could open up new interesting possibilities. This general implementation is called "State Machine" in the context of RCNet.

RCNet honors the following implementation rules:

  • Independence. RCNet must have all the functionality implemented internally
  • Simplicity. Inheritance, polymorphism and interfaces are used only where it is really needed. The simplicity of the source code is preferred
  • Source code standards. The standard naming convention is followed. The only exception is that the class fields have an underscore prefix. Source code should be fully commented for easy understanding
  • Component design. Wherever it is reasonable, the solution should be decomposed into generic and reusable components
  • Xml parameterization. Every component that is a part of the StateMachine must have its own related settings class providing validated initialization parameters. Every settings class has to have defined initialization xml element type in RCNetTypes.xsd and implemented constructor accepting initialization xml element of that type. Every settings class also has to implement non-xml constructor and to provide initialization xml element content through GetXml method
  • Serializability. All components that are required for StateMachine operation must be serializable