# Détection d'anomalies

Dans l'exploration de données, la détection d'anomalies (en anglais, anomaly detection ou outlier detection) est l'identification d'éléments, d'événements ou d'observations rares qui soulèvent des suspicions en différant de manière significative de la majorité des autres données.
Généralement, les anomalies indiquent un problème tel qu'une fraude bancaire, un défaut structurel, un problème médical ou une erreur dans un texte. Les anomalies sont également appelées des valeurs aberrantes, du bruit, des écarts ou des exceptions.
Dans le contexte de détection d'intrusions sur un réseau informatique, les objets intéressants ne sont souvent pas des objets rares, mais des pics d'activités inattendus. Ce modèle n'adhère pas à la définition d'une anomalie en tant qu'objet rare et de nombreuses méthodes de détection d'anomalies (en particulier, des méthodes non supervisées) échouent à identifier ces anomalies, à moins que les anomalies aient été agrégées de manière appropriée. Dans de telles situations, un algorithme d'analyse par partitionnement de données peut être capable de détecter ces problèmes.
Il existe trois grandes catégories de techniques de détection d'anomalies :
* les techniques de détection d'anomalies non supervisées détectent les anomalies dans un ensemble de données non étiquetées en supposant que la majorité des instances de l'ensemble de données sont normales et en recherchant les instances qui ne correspondent pas au reste des données ;
* les techniques de détection d'anomalies supervisées nécessitent un ensemble de données où les données sont étiquetées normales ou anormales et impliquent l'entrainement d'un classificateur (la principale différence par rapport à de nombreux autres problèmes de classification statistique réside dans la nature déséquilibrée de la détection des valeurs aberrantes) ;
* les techniques de détection d'anomalies semi-supervisées construisent un modèle représentant le comportement normal d'un ensemble de données normales, puis testent la probabilité qu'une instance de test soit compatible avec le modèle.

## Applications

La détection d'anomalies est applicable dans divers domaines, tels que la détection d'intrusions, la détection de fraudes, la détection de défauts, la surveillance de l'état du système, la détection d'événements dans des réseaux de capteurs et la détection de perturbations d'un écosystème.
La détection d'anomalies est aussi souvent utilisée dans le prétraitement de données pour supprimer des données anormales d'un ensemble de données. Dans l'apprentissage supervisé, la suppression des données anormales de l'ensemble de données entraîne souvent une augmentation statistiquement significative de la précision de l'apprentissage$^,$.

## Techniques populaires

Plusieurs techniques de détection d'anomalies ont été proposées dans la littérature. Certaines des techniques populaires sont :
* des techniques basées sur la densité (méthode des k plus proches voisins$^,$$^,$, facteur local aberrant (en anglais, Local outlier factor (en)), isolation forests, et bien d'autres variantes de ce concept) ;
* subspace, correlation-based and tensor-based outlier detection for high-dimensional data ;
* les machines à vecteurs de support à une classe ;
* les réseaux de neurones récurrents, les auto-encodeurs ;
* les réseaux bayésiens ;
* les modèles de Markov cachés ;
* les analyses par partitionnement de données$^,$ ;
* la déviation des règles d'association ;
* la logique floue ;
* l'apprentissage ensembliste, en utilisant du feature bagging (en)$^,$, de la normalisation d'un score$^,$ ou l'introduction de diversité dans les modèles de l'ensemble$^,$.
Les performances des différentes méthodes dépendent beaucoup du jeu de données et des paramètres, et les méthodes présentent peu d'avantages systématiques par rapport aux autres lorsqu'elles sont comparées entre plusieurs jeux de données et de paramètres$^,$.

## Application à la sécurité des données

La détection d'anomalies a été proposée par Dorothy Denning (en) en 1986 pour les systèmes de détection d'intrusion. La détection d'anomalies pour les systèmes de détection d'intrusion est normalement réalisée avec des seuils et des statistiques, mais peut également être réalisée avec le soft computing et l'apprentissage par induction (en anglais inductive learning).

## Logiciel

ELKI (en) est un logiciel Java d'exploration de données open source qui contient plusieurs algorithmes de détection d'anomalies.