This repository was archived by the owner on May 11, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Oldřich Koželský edited this page Jan 7, 2021
·
91 revisions
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 should have all the functionality implemented internally
- Simplicity. Inheritance, polymorphism and interfaces are used only where it is really needed. The simplicity of the code is preferred
- Source code standards. The standard naming convention is used (the only exception is that the 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 has 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 through GetXml method
- Serializability. All components that are required for StateMachine operation must be serializable
- Parallel processing. Where appropriate, parallel processing should be implemented to achieve better performance
Questions, ideas, suggestions for improvement and constructive comments are welcome at my email address oldrich.kozelsky@email.cz or newly you can use github discussions.