Skip to content

Repository files navigation

🚀 Parallelized Extreme Learning Machine (P-ELM)

High-Performance DevOps Anomaly Detection & Online Classification

Python 3.9+ License: MIT Springer


📊 Performance Benchmark

Tested on High-Performance Infrastructure using the KDD Cup '99 dataset (~494k samples).

Metric Result
Throughput ~345,000 samples processed in < 6s
Global Accuracy 98.2%
Anomaly Recall 99.1%
Parallel Efficiency Distributed across 12-core CPU Architecture
Scalability Linear scaling with Batch-based Parallelism

🌟 Key Features (Springer 2022 Implementation)

This implementation strictly follows the architectural framework of the P-ELM paper published in Applied Intelligence (Springer):

  • ⚡ SVD-Augmented Initialization: Unlike standard ELMs, this version uses Singular Value Decomposition on augmented data matrices to initialize both Weights and Biases, ensuring superior numerical stability.
  • 🧠 Intelligent Knowledge Base (KB): Features a fixed-length KB buffer that stores high-performing model weights, filtering out noise through eligibility criteria.
  • 🔄 Master-Worker Synthesis: Parallel workers compute local output weights which are then synthesized by a central Master node using Centrality-based Model Averaging.
  • 🛡️ Online Evaluator: Real-time feedback loop that validates learning quality before updating the Knowledge Base.

🏗️ Technical Architecture

Project Structure & Components
  • src/elm_svd.py: Core ELM logic with SVD-based initialization for weights and biases.
  • src/weight_synthesizer.py: Knowledge Base management and eligibility-based weight merging.
  • src/elm_online.py: Parallel orchestration layer using joblib for multi-core distribution.
  • Demo.ipynb: Interactive visualization and performance analytics dashboard.

📖 Theoretical Background

This project implements the four main components of the P-ELM framework:

  1. Parallel ELM Workers: Independent learners processing data chunks.
  2. Weight Synthesizer: Aggregates knowledge from workers.
  3. Knowledge Base (KB): Retains historical learning with a fixed-length memory.
  4. Evaluator: ensures the reliability of newly learned patterns.

Auto-Generated Benchmark Results

Last updated: 2026-06-18 09:47:48
System: Darwin arm64
Dataset: data/kddcup.data_10_percent.gz
Task: multi-class incident/attack-type classification
Samples used: 494,021 total, 395,216 train, 98,805 test
Features: 41 | Classes: 23
Configuration: hidden neurons = min(batch_size, feature_dim), batch = 2000, workers = 2, split = 80%/20%

Model Comparison

Model Accuracy Precision Recall F1 Train Time Throughput Peak CPU Peak RAM
Sequential ELM 0.9935 0.9919 0.9935 0.9924 0.424s 932,769/s 29.8% 1444.2 MB
Sequential SVD-ELM 0.9935 0.9917 0.9935 0.9921 0.713s 554,485/s 23.9% 1748.1 MB
Online Parallel ELM 0.9941 0.9926 0.9941 0.9930 1.781s 221,893/s 16.0% 1743.5 MB

Best accuracy: Online Parallel ELM (0.9941)
Fastest training: Sequential ELM (0.424s)

Paper Batch-Size Sweep: Online Parallel ELM

Batch Size Hidden Size Accuracy Precision Recall F1 Train Time KB Vectors
200 41 0.9831 0.9774 0.9831 0.9793 18.794s 20
300 41 0.9860 0.9802 0.9860 0.9824 12.478s 20
400 41 0.9912 0.9877 0.9912 0.9893 9.386s 20
500 41 0.9911 0.9878 0.9911 0.9894 7.450s 20
1000 41 0.9923 0.9894 0.9923 0.9908 3.678s 20
2000 41 0.9941 0.9926 0.9941 0.9930 1.764s 20

Best sweep accuracy: batch size 2000 (0.9941)

📚 Reference

Based on the research paper:

Parallelized Extreme Learning Machine for Online Data Classification
Vidhya M. & Aji S. (2022)
Journal: Applied Intelligence, Springer.
DOI: 10.1007/s10489-022-03308-7


Developed with ❤️ by Amanda Taheri

About

A high-performance implementation of Parallelized Extreme Learning Machine for real-time anomaly detection.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages