Skip to content

ppedin/elm_implementations

Repository files navigation

  • 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.

About

Implementations of Extreme Learning Machines, academic project for the 2024-2025 course Computational Mathematics for Learning and Data Analyses, University of Pisa

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors