EARCP: Self-Regulating Coherence and Performance-Aware Ensemble
Project description
EARCP: Ensemble Auto-Régulé par Cohérence et Performance
A Self-Regulating Coherence-Aware Ensemble Architecture for Sequential Decision Making
Author: Mike Amega
Affiliation: Independent Researcher,
Contact: info@amewebstudio.com
Linkdin: https://www.linkedin.com/in/mike-amega-486329184/
Disclosure Date: November 13, 2025
🎯 Overview
EARCP is a novel ensemble learning architecture that dynamically weights heterogeneous expert models based on both their individual performance and inter-model coherence. Unlike traditional ensemble methods with static or offline-learned combinations, EARCP continuously adapts through principled online learning with provable regret bounds.
Key Innovation: Dual-signal weighting mechanism combining exploitation (performance) and exploration (coherence) for robust sequential prediction.
Why EARCP?
- ✅ Adaptive: Continuously adjusts to changing model reliability
- ✅ Robust: Maintains diversity through coherence-aware weighting
- ✅ Theoretically Grounded: Provable O(√(T log M)) regret bounds
- ✅ Practical: Stable implementation with multiple safeguards
- ✅ General-Purpose: Applicable to any sequential prediction task
📚 Documentation
This repository contains complete documentation for academic recognition and IP protection:
Core Documents
- Academic Paper - Full peer-review ready paper with theoretical analysis
- Technical Whitepaper - Complete implementation specification
- Implementation Guide - Step-by-step integration guide
- API Reference - Complete API documentation
Research Artifacts
- Proofs: Mathematical derivations and regret bound proofs
- Experiments: Reproducible experimental protocols and results
- Benchmarks: Performance comparisons against baselines
🚀 Quick Start
Installation
pip install earcp
Basic Usage
from earcp import EARCP
# Create expert models (any models with .predict() method)
experts = [cnn_model, lstm_model, transformer_model, dqn_model]
# Initialize EARCP ensemble
ensemble = EARCP(
experts=experts,
alpha_P=0.9, # Performance smoothing
alpha_C=0.85, # Coherence smoothing
beta=0.7, # Performance-coherence balance
eta_s=5.0, # Sensitivity
w_min=0.05 # Weight floor
)
# Online learning loop
for t in range(T):
# Get predictions
prediction, expert_preds = ensemble.predict(state)
# Execute action and observe target
target = execute_and_observe(prediction)
# Update weights
metrics = ensemble.update(expert_preds, target)
# Monitor (optional)
diagnostics = ensemble.get_diagnostics()
print(f"Weights: {diagnostics['weights']}")
🧮 Mathematical Foundation
Core Algorithm
At each time step t, EARCP:
- Collects predictions from M expert models: p₁,ₜ, ..., p_M,ₜ
- Computes performance scores: P_i,t = αₚ·P_i,t-1 + (1-αₚ)·(-ℓ_i,t)
- Calculates coherence: C_i,t = (1/(M-1))·Σⱼ≠ᵢ Agreement(i,j)
- Combines signals: s_i,t = β·P_i,t + (1-β)·C_i,t
- Updates weights: w_i,t ∝ exp(ηₛ·s_i,t) with floor constraints
Theoretical Guarantee
Theorem: Under standard assumptions (bounded losses, convexity), EARCP achieves:
Regret_T ≤ √(2T log M)
for pure performance (β=1), and:
Regret_T ≤ (1/β)·√(2T log M)
with coherence incorporation (β<1).
Proof: See Section 4 of academic paper.
📊 Performance
Benchmark Results
| Method | Electricity (RMSE) | HAR (Acc.) | Financial (Sharpe) |
|---|---|---|---|
| Best Single | 0.124 ± 0.008 | 91.2 ± 1.1 | 1.42 ± 0.18 |
| Equal Weight | 0.118 ± 0.006 | 92.8 ± 0.9 | 1.58 ± 0.15 |
| Stacking | 0.112 ± 0.007 | 93.1 ± 1.0 | 1.61 ± 0.14 |
| Offline MoE | 0.109 ± 0.006 | 93.5 ± 0.8 | 1.65 ± 0.16 |
| Hedge | 0.107 ± 0.005 | 93.9 ± 0.7 | 1.71 ± 0.12 |
| EARCP | 0.098 ± 0.004 | 94.8 ± 0.6 | 1.89 ± 0.11 |
Key Findings:
- 8.4% improvement over Hedge on RMSE
- 10.5% improvement over Hedge on Sharpe ratio
- Consistent gains across diverse tasks
- Superior robustness during distribution shifts
🔧 Architecture
Expert Requirements
Any model implementing:
class ExpertModel:
def predict(self, x):
"""Return prediction for input x."""
return prediction # array-like
Supported Configurations
- Number of experts: 2 to 100+ (tested up to M=50)
- Prediction types: Classification, regression, reinforcement learning
- Update frequency: Real-time to batch updates
- Loss functions: Any L: Y×Y → [0,1]
📖 Citation
Academic Citation
If you use EARCP in academic work, please cite:
@article{amega2025earcp,
title={EARCP: Ensemble Auto-Régulé par Cohérence et Performance},
author={Amega, Mike},
journal={arXiv preprint},
year={2025},
url={https://github.com/Volgat/earcp},
note={Prior art established November 13, 2025}
}
Technical Citation
For technical implementations:
@techreport{amega2025earcp_tech,
title={EARCP: Technical Whitepaper and Implementation Specification},
author={Amega, Mike},
institution={Independent Research},
year={2025},
url={https://github.com/Volgat/earcp},
note={Defensive publication for IP protection}
}
🛡️ Intellectual Property
Copyright Notice
Copyright © 2025 Mike Amega. All rights reserved.
This software and associated documentation are protected by copyright law. The architecture, algorithms, and implementation details are original works by Mike Amega.
Defensive Publication
Prior Art Established: November 13, 2025
This repository constitutes a defensive publication establishing prior art for:
- Core EARCP algorithm and mathematical formulation
- Dual-signal weighting mechanism (performance + coherence)
- Specific implementation details and optimizations
- Extension mechanisms and variations
Legal Effect: This public disclosure prevents third-party patent claims on disclosed inventions while preserving the author's rights to commercialize, license, or patent this technology.
License Options
For Academic and Research Use
- License: MIT License
- Conditions: Free use with attribution
- File: LICENSE
For Commercial Use
- Status: Rights reserved
- Contact: contact@mikeamega.ca for licensing terms
For Patent Applications
- Status: All patent rights reserved
- Scope: Future improvements and undisclosed variations
Attribution Requirements
All uses must include:
This work uses EARCP (Ensemble Auto-Régulé par Cohérence et Performance)
developed by Mike Amega (2025). See: https://github.com/Volgat/earcp
🔬 Research & Development
Development Status
- Core algorithm implemented and tested
- Theoretical guarantees proven
- Comprehensive benchmarking completed
- Production-grade code with safeguards
- PyPI package publication
- Academic paper submission to conference
- Extended documentation and tutorials
- Community extensions and contributions
Future Directions
Planned enhancements:
- Learned coherence functions
- Hierarchical EARCP for large-scale ensembles
- Multi-objective optimization extensions
- Integration with popular ML frameworks (scikit-learn, PyTorch, TensorFlow)
- Distributed/parallel implementations
👥 Contributing
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
Areas for Contribution
- Implementations: Integration with specific ML frameworks
- Experiments: Testing on new domains and benchmarks
- Theory: Tightening regret bounds, new guarantees
- Documentation: Tutorials, examples, case studies
- Optimizations: Performance improvements, GPU acceleration
Contributor Recognition
Contributors will be acknowledged in:
- README contributors section
- Academic papers citing this work
- Release notes and documentation
📧 Contact
Mike Amega
Email: mikeamega@yahoo.fr
Location: Ontario, Canada
GitHub: @mikeamega
For Licensing Inquiries
Email: info@amewebstudio.com Subject: "EARCP Commercial License Inquiry"
For Research Collaboration
Open to collaborations on:
- Theoretical extensions
- Large-scale applications
- Domain-specific adaptations
- Academic publications
📝 Version History
Version 1.0.0 (November 13, 2025)
- Initial public release
- Complete implementation with theoretical guarantees
- Comprehensive documentation
- Benchmark results on three domains
- Defensive publication for IP protection
🙏 Acknowledgments
Thanks to the open-source machine learning community for tools and datasets that enabled this research.
Core Dependencies:
- NumPy (numerical computations)
- PyTorch (neural network experts)
- scikit-learn (baseline comparisons)
📜 Legal Disclaimer
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
For full legal terms, see LICENSE file.
🔐 IP Protection Checklist
This repository includes the following for complete IP protection:
- Academic paper with full mathematical derivation
- Technical whitepaper with implementation details
- Complete working code with documentation
- Timestamp through GitHub commit history
- Copyright notices in all files
- License file specifying terms
- Citation guidelines
- DOI from Zenodo/figshare (recommended)
- arXiv submission (recommended within 30 days)
- USPTO provisional patent (optional, if desired)
🌟 Star this repository if you find EARCP useful!
🔔 Watch for updates and new features
🍴 Fork to create your own variations
Last Updated: November 13, 2025
Repository: https://github.com/Volgat/earcp
Prior Art Date: November 13, 2025
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file earcp-1.0.0.tar.gz.
File metadata
- Download URL: earcp-1.0.0.tar.gz
- Upload date:
- Size: 55.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfc87a705d55dd816b75703885a40a9602a1d66dea226d128498a1b06330336b
|
|
| MD5 |
7c53612a42af53b23d833f3f6504401d
|
|
| BLAKE2b-256 |
17ab0602a7836e31a2b4fb50e3c98d130ffc56e229252a7d7d81b304df577feb
|
File details
Details for the file earcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: earcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 24.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
106c5241d75a4fb80d8c9dcb75bc379174ea4c9d5137a441c05ec643def0ec2a
|
|
| MD5 |
8cee3f34f3647eb86dc0b1a0d68933fc
|
|
| BLAKE2b-256 |
1cebb074bcdf4c0c1e5d54d6484a0dfdc1e4b37e524f4ddf9281b1c1b1950b95
|