Portfolio de Projet : Détection d'Anomalies avec Modèle Gaussien

1. Présentation du Projet

Ce projet, réalisé dans le cadre d'un cours en ligne de Stanford, implémente un algorithme de détection d'anomalies pour identifier des comportements anormaux dans des serveurs informatiques. L'approche utilise un modèle de distribution gaussienne pour détecter les points de données sortant le plus du lot, considérés comme des anomalies.

Dans ce contexte, nous travaillons avec un cas d'erreur binaire simple : normal ou anormal. Une distribution gaussienne suffit pour ce type de classification. Si nous avions plusieurs types d'anomalies à identifier, nous utiliserions un Gaussian Mixture Model (GMM), une méthode plus avancée de clustering permettant de gérer plusieurs distributions gaussiennes simultanément.

L'objectif est de démontrer comment implémenter un algorithme de détection d'anomalies compréhensible, explicatif et facile à implémenter, particulièrement efficace sur des données labellisées avec des cas d'erreur binaires.

Ces méthodes, fondées sur des modèles de distributions gaussiennes, permettent de détecter des cas non observés lors de l’entraînement en identifiant les points de données présentant une faible probabilité d’appartenance à la distribution normale, contrairement aux algorithmes de détection d’anomalies reposant sur des approches de classification supervisée.

2. Structure du Projet

a. Objectifs

b. Dataset

Le projet utilise deux datasets fournis par Stanford :

3. Implémentation de l'Algorithme

a. Estimation des Paramètres Gaussiens

Implémentation vectorisée de la fonction estimate_gaussian qui calcule la moyenne et la variance pour chaque feature :

Résultats sur le dataset 2D :

b. Fonction de Densité de Probabilité

Utilisation de la distribution gaussienne (univariée) pour calculer la probabilité de chaque point :

$$p(x; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(x - \mu)^2}{2\sigma^2}\right)$$

Les points dont la probabilité est inférieure au seuil ε sont classés comme anomalies.

c. Sélection du Seuil Optimal

Implémentation de select_threshold pour trouver le meilleur ε en utilisant le score F1 :

4. Résultats et Visualisation

a. Dataset 2D

b. Dataset Haute Dimension

Visualisation de la détection d'anomalies sur le dataset 2D

5. Analyse des Performances

a. Efficacité Algorithmique

b. Comparaison des Résultats

Le score F1 plus élevé sur le dataset 2D (87,5%) comparé au dataset haute dimension (61,5%) s'explique par :

6. Applications et Extensions

a. Cas d'Usage Concrets

b. Expérience Professionnelle Connexe

Lors de mon stage de fin d'études avec Renault, j'ai appliqué des concepts similaires avec le Gaussian Mixture Model (GMM) pour un algorithme de clustering :

Cette expérience démontre l'applicabilité des modèles gaussiens dans des contextes industriels complexes.

7. Technologies Utilisées

8. Perspectives d'Amélioration

9. Conclusion

Ce projet démontre l'efficacité d'une approche statistique simple pour la détection d'anomalies. Avec un score F1 de 87,5% sur le dataset 2D, l'algorithme gaussien prouve sa pertinence pour des cas d'usage réels où les données sont labellisées et les anomalies clairement définies.

La force de cette méthode réside dans sa simplicité d'implémentation, sa rapidité d'exécution et son caractère explicatif, permettant une compréhension intuitive des résultats. Cette approche constitue une excellente base pour des systèmes de monitoring et peut être étendue vers des modèles plus complexes comme le GMM pour des scénarios multi-classes.