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 |
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.
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 usingjoblibfor multi-core distribution.Demo.ipynb: Interactive visualization and performance analytics dashboard.
This project implements the four main components of the P-ELM framework:
- Parallel ELM Workers: Independent learners processing data chunks.
- Weight Synthesizer: Aggregates knowledge from workers.
- Knowledge Base (KB): Retains historical learning with a fixed-length memory.
- Evaluator: ensures the reliability of newly learned patterns.
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 | 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)
| 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)
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




