15/03/2017

Les 3 scénarios de détection d’anomalies

Pour un problème réel, les données à dispositions ne sont pas toujours celles que l’on souhaiterait idéalement avoir. Il est souvent couteux, difficile et/ou long de récolter les différentes informations nécessaires.

Dans le cadre de la détection de vol d’une carte de crédit, le nombre de transactions frauduleuses est bien inférieur à celui des transactions normales. Autrement dit, les anomalies sont peu nombreuses et le système doit se contenter de très peu d’exemples pour s’entraîner à la détection. Dans certains cas, il n’est même pas possible de mesurer préalablement les anomalies. Pour l’aviation civile et militaire, plusieurs capteurs sont posés sur les différents moteurs des appareils. Le but est de détecter s’il y a un problème dans le fonctionnement complexe de la propulsion des appareils. Cependant, en phase de test, il est trop couteux de détériorer un moteur pour prendre des simples mesures. L’algorithme de détection d’anomalies doit se contenter, pour s’entraîner, de données où le moteur est en bon état.

Triebwerk
De manière générale, on distingue les trois scénarios suivants, avec un degré de difficulté habituellement croissant : la détection d’anomalie supervisée, semi-supervisée et non supervisée.

Détection d’anomalie supervisée :

C’est le cas le plus simple, mais aussi le moins fréquent et le moins réaliste. Dans ce scénario, des données représentant chaque anomalie sont présentes en quantité suffisante, ainsi que des données sans anomalies. Simple car il s’agit d’un problème de classification, avec deux classes ou plus selon le nombre d’anomalies considérées, où des méthodes éprouvées peuvent être appliquées. Moins fréquent et moins réaliste car il est rarement aisé d’obtenir des données avec label et représentatives pour chaque classe, particulièrement pour les anomalies. Même si l’on ne prend pas un cas extrême comme celui du moteur d’avion, il est facile d’imaginer que récolter des données pour toutes les anomalies imaginables est une tâche ardue. Pour cette raison, ce scénario n’est que rarement applicable.

Détection d’anomalies semi-supervisée :

Dans ce cas de figure, les données à disposition pour entraîner l’algorithme et/ou construire un modèle sont disponibles seulement pour l’état normal, c’est-à-dire sans anomalies. L’exemple du moteur d’avion se situe dans cette catégorie. Du fait que ce scénario correspond à des conditions réelles, cela en fait un domaine de recherche très actif.

La difficulté ici réside dans la création d’un model exhaustif qui représente l’ensemble des données normales. Mais il faut faire attention que ce modèle ne soit pas trop généraliste non plus et ne considère pas les anomalies comme des instances normales (voir l’article « Les 5 plus grandes difficultés de la détection d’anomalies » paragraphe « Choix du seuil de décision »).

Détection d’anomalies non supervisée :

Le dernier scénario ne requière pas de données avec label pour s’entraîner. C’est donc le scénario le plus largement applicable. Pour identifier les anomalies, l’algorithme part du principe que le nombre d’instance normales et bien plus élevé que le nombre d’anomalies.

Dans l’exemple de détection de vol de carte de crédit, l’algorithme s’entraînerait sur l’ensemble des transactions disponibles. Il considérerait les transactions à très gros montant comme anormales vu que celles-ci sont bien moins fréquentes. A contrario, les transactions frauduleuses à petit montant seraient plus difficilement détectables. Notons que dans un cas réel, l’algorithme considérerait également d’autres paramètres comme la date de la transaction, le lieu, la marchandise achetée, etc.