10 releases
0.3.2 | Jan 13, 2024 |
---|---|
0.3.1 | Jan 6, 2024 |
0.2.4 | Dec 31, 2023 |
0.1.2 | Dec 10, 2023 |
#455 in Machine learning
28KB
373 lines
Extreme Learning Machines (ELMs)
Extreme Learning Machine (ELM) crate. A minimalistic and flexible crate that can be used to train ELMs, a type of Neural Networks. Currently supports a single hidden layer and regression tasks.
References:
-
Original paper: https://ieeexplore.ieee.org/document/1380068
-
Wikipedia: https://en.wikipedia.org/wiki/Extreme_learning_machine
Basic usage
use elm::{ELM, Epsilon};
use elm::activation_functions::ActivationFunction;
let mut elm = ELM::new(2, 4, 2, ActivationFunction::LeakyReLU, Epsilon::Default);
let inputs: Vec<Vec<f64>> = vec![vec![1.0, 0.0], vec![1.0, 0.0]];
let targets: Vec<Vec<f64>> = vec![vec![1.0, 1.0], vec![1.0, 1.5]];
elm.train(&inputs, &targets);
let new_inputs: Vec<Vec<f64>> = vec![vec![1.0, 4.0], vec![1.3, 0.6]];
let prediction = elm.predict(&new_inputs);
Activation functions
Road map
- Export module: to save and load previously trained models
Dependencies
~5.5MB
~109K SLoC