-
The module algorithms.py contains the main code for the Extreme Learning Machine and the implementation of iterative algorithms (Nesterov Accelerated Gradient Descent and Gradien Descent). It contains:
- Classes for the fixed and the parameterized layer
- A class for the ELM with one hidden layer and L2 regularization, with:
- Methods to compute the characteristics of the loss function (alpha, beta, k)
- Method for training via Nesterov's AGD and GD
-
The module runners.py contains functions that carry out all the necessary steps to train an ELM with L2 regularization on a dataset. A runner makes the following:
- Imports a dataset from the UCI repo and prepares the data for training
- Creates an instance of the ELM
- Runs training
-
The module data_utils.py contains several function to import data from the UCI repository. Many functions are not used in the final implementation. The relevant ones are:
- import uci_dataset_by_id (imports a dataset from the UCI repository based on its UCI id)
- encode_dataset (prepares the data for training by performing one-hot encoding on categorical variables)
-
The module math_utils.py contains functions to perform mathematical operations useful for training, such as the implementation of activation functions or of strategies for random initialization of weights
-
The module linear_algebra_utils.py contains a function that runs the Scipy solver
-
The file info_data.csv contains information about the datasets used for evaluation
-
The file hyperparameter_evaluation_data.csv contains the results of the evaluation
-
The file results_analysis_AGD.txt contains the results of the statistical analysis that have been carried out to extract the insights in the report.
ppedin/elm_implementations
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|