feat(ml): replace logistic regression with MLP fusion and KS drift with ADWIN online learning
Replace the LogisticRegression meta-learner with a PyTorch MetaFusionMLP (Linear(3,16)->BN->ReLU->Dropout->Linear(16,1)->Sigmoid) for non-linear fusion of EIF, NF, and XGBoost scores. Replace KS-test + quantile digest drift detection with ADWIN (adaptive sliding window, Hoeffding bound). Replace weekly XGBoost batch retraining with River HoeffdingAdaptiveTree for incremental online learning (learn_one per cycle). Update all thesis documentation sections (2.4.2c, 2.4.3, 3.8, discussion, conclusion). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@ -690,18 +690,15 @@ Clustering des anomalies pour identifier les campagnes coordonnées :
|
||||
|
||||
Résultat : colonne `campaign_id` (-1 = isolé, ≥0 = membre d'un cluster).
|
||||
|
||||
#### `_compute_drift_score(baseline_stats, current_baseline, features)`
|
||||
#### `ADWINDriftMonitor(features, delta=0.002)`
|
||||
|
||||
Détection de dérive conceptuelle entre la baseline d'entraînement et la baseline
|
||||
courante. Deux méthodes :
|
||||
Détection de dérive conceptuelle par ADWIN (fenêtre glissante adaptative).
|
||||
Maintient un détecteur ADWIN par feature, mis à jour à chaque cycle avec la
|
||||
moyenne de la feature sur le trafic baseline.
|
||||
|
||||
1. **Méthode principale** : Comparaison par quantiles interpolés (KS-like). Fraction
|
||||
de features avec p < 0.05.
|
||||
2. **Fallback z-score** (`_compute_drift_score_zscore`) :
|
||||
`z = |mean_current - mean_trained| / std_trained`. Fraction de features avec z > 2.0.
|
||||
|
||||
Si la fraction dépasse `DRIFT_THRESHOLD` (0.30), le modèle est ré-entraîné et
|
||||
l'événement `DRIFT_DETECTED` est journalisé.
|
||||
Si la fraction de features en dérive dépasse `DRIFT_THRESHOLD` (0.30), le
|
||||
modèle EIF/NF est ré-entraîné. Si > 50% des features dérivent, une alerte
|
||||
`ADVERSARIAL_DRIFT` est générée.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user