[PYTHON] [Malédiction dimensionnelle] Si le nombre de capteurs est changé en ∞, une anomalie peut-elle être détectée?

Depuis que l'IOT est devenu populaire, des efforts ont été faits pour augmenter le nombre de capteurs afin de prévoir et d'entretenir les machines. Cela se fait.

La rumeur veut qu'il y ait eu des cas où 100 capteurs sont connectés à une seule machine.

La question est donc de savoir s'il est juste d'augmenter le nombre de capteurs? En d'autres termes, est-ce que ** l'augmentation du nombre de capteurs supplémentaires affecte les performances de détection d'anomalies? Quand C'est-à-dire.

Dans cet article, nous nous concentrons sur la malédiction de la dimension, "Si vous augmentez le nombre de capteurs supplémentaires, la détection des anomalies Qu'arrivera-t-il à la représentation? "

image.png

De la conclusion

Scène supposée

À partir de la conclusion, si le capteur supplémentaire continue d'émettre un signal nul, les performances de détection d'anomalie seront On peut dire qu'il n'y a pratiquement pas de changement. Cependant, parce qu'il contient du bruit, il devient une malédiction de dimension. Si vous augmentez le nombre de capteurs sous l'influence de, les performances de détection d'anomalies se détérioreront.

bruit

Le capteur contient presque toujours du bruit. Même un capteur avec une bonne précision Il contient une petite quantité de bruit. Filtre passe-bas (haut) pour éliminer le bruit Il existe des mesures à installer telles que, mais un tel traitement sort du cadre de cet article.

Dans cet article, nous supposons une scène qui utilise des ** données de capteur brutes contenant du bruit **.

Qu'est-ce qu'une malédiction dimensionnelle?

À mesure que le nombre de dimensions des données augmente, le volume de surface occupe la majeure partie du volume total. C'est un phénomène qui devient. Le problème avec l'apprentissage automatique est la différence de distance entre le point le plus proche et le point le plus éloigné. Le fait est qu'il disparaît presque et qu'il devient difficile de le distinguer par la distance. Consultez les articles suivants pour plus de détails.

À propos de la malédiction de la dimension

Impact sur l'apprentissage supervisé

Personnellement, dans l'apprentissage supervisé, ** la réduction de dimension, etc. peut être explicitement incorporée, donc la malédiction de la dimension Je ne pense pas que cela sera affecté. ** Conversation extrême, même avec des informations de capteur supplémentaires On peut dire que vous devez réduire les quantités d'objets inutiles et utiliser la quantité d'objets qui donne la plus grande précision.

Impact sur l'apprentissage non supervisé

Cependant, dans un apprentissage non supervisé tel que la détection d'anomalies, il n'y a fondamentalement aucune donnée d'anomalie, ou Il est possible que vous ne disposiez que d'une petite quantité de données anormales. Et une petite quantité de données anormales Pour référence, si vous réduisez le nombre de fonctionnalités, il y a un risque de ** réduire le nombre de fonctionnalités dont vous avez vraiment besoin. Par conséquent, si la dimension est facilement réduite par un apprentissage non supervisé, les performances de détection d'anomalies peuvent se détériorer. Il y a.

Cependant, est-il acceptable de placer des informations de capteur inutiles dans le détecteur telles quelles? Performances de détection d'anomalies N'est-ce pas détérioré? La question se pose également. En d'autres termes, des informations de capteur inutiles Le nombre de dimensions augmente car il est inséré, et il est difficile de faire la distinction entre normal et anormal en raison de la malédiction des dimensions N'est-ce pas? La question est. Par conséquent, nous allons mener une expérience en utilisant des données factices.

Expérience

Comme mentionné au début, l'expérience est effectuée avec les paramètres ci-dessus. Les deux méthodes suivantes sont utilisées comme méthodes de détection des anomalies.

Je vais omettre l'introduction détaillée, mais la méthode MT applique les données normales à la distribution normale et utilise la distance Maharanobis. Déterminez si c'est anormal. Plus la distance Maharanobis est grande, plus le degré d'anomalie est élevé. Isolation Forest est une méthode de détection d'anomalies basée sur un arbre décisionnel. Papier original a 500 dimensions Il a été démontré qu'il est valide pour plus de données.

J'ai mis tout le code ici [https://github.com/shinmura0/Number-of-Sensor/blob/master/Infinity_sensor.ipynb.ipynb).

Résultats de la méthode MT

Tout d'abord, générez un capteur fonctionnel ($ x_1, x_2 $) en utilisant des nombres aléatoires.

image.png

À partir de la figure ci-dessus à gauche, vous pouvez voir qu'il existe une corrélation entre $ x_1 et x_2 $. Les points verts sont les données d'entraînement. Si vous remplacez $ x_1 $ par la température, $ x_2 $ par la pression, etc. Cela peut être facile à comprendre.

Les points violets sont des données normales et les points rouges sont des données anormales.

Lorsque la méthode MT est appliquée dans l'espace $ x_1, x_2 $, elle est normale / anormale comme le montre la figure de droite ci-dessus. Il existe une nette différence dans le score anormal (MD = distance de Maharanobis). Plus la distance Maharanobis est grande, plus le degré d'anomalie est élevé. Au fait, la ligne bleu clair est On l'appelle une ellipse à probabilité égale, et la zone où la distance de Maharanobis est la même est représentée par une ligne.

Lorsque le nombre de dimensions passe de 2 à 3

Augmentez le nombre de dimensions de un ($ x_3 $).

image.png

Ajout d'une information de capteur supplémentaire comme celle de droite ($ x_3 $) ci-dessus. $ x_3 $ est, par exemple, un capteur de luminosité Vous pouvez le joindre. $ x_1, x_2 $ (chiffres de gauche et du milieu) étaient des données corrélées et significatives, $ x_3 $ n'a pas de corrélation et n'est que des données bruyantes.

L'espace $ x_1, x_3 $ est illustré ci-dessous.

image.png

En regardant uniquement cette figure, la différence entre les données normales / anormales n'est pas si grande, et la manière de conduire le bruit Par conséquent, il est probable que les données normales soient hors de valeur. Et c'est tout C'est un facteur qui rend difficile la distinction entre anormal et normal.

$ x_1, x_2, x_3 $ Si vous appliquez la méthode MT sur tout l'espace, le score d'anomalie sera le suivant.

image.png

La différence est plus petite que lorsque le nombre de dimensions est de 2, mais les données anormales ont toujours un score plus élevé. Ça devient plus gros.

Lorsque le nombre de dimensions passe de 3 à 100

Le résultat de continuer d'augmenter $ x_3 $ à 98 comme avant est le suivant.

image.png

L'axe horizontal est le nombre de dimensions et l'axe vertical est le score anormal (MD = distance de Maharanobis). Comme vous pouvez le voir, lorsque le nombre de dimensions est de 20, les scores normaux et anormaux sont inversés. En d'autres termes, c'est un faux positif.

Puisqu'il s'agit d'une expérience utilisant des nombres aléatoires, les résultats changeront d'une expérience à l'autre, mais tous les résultats seront aussi longtemps que le nombre de dimensions est petit. Normal et anormal peuvent être détectés correctement.

Résultats de la forêt d'isolement

Lorsque le nombre de dimensions passe de 2 à 100

Le résultat est similaire à la méthode MT.

image.png

Après tout, lorsque le nombre de dimensions est de 20, normal et anormal sont inversés et une fausse détection est effectuée. Isolation Forest utilise scicit-learn, mais le score anormal est dans un souci de clarté. Les nombres sont inversés. (Dans la figure ci-dessus, plus le score d'anomalie est élevé, plus le degré d'anomalie est élevé.)

Pour éviter la malédiction de la dimension

En conséquence, si vous entrez trop d'informations de capteur inutiles, le nombre de dimensions augmentera, et en raison de la malédiction des dimensions Il est devenu difficile de faire la distinction entre normal et anormal. D'autre part, les informations du capteur sont inutilement Si vous le laissez tomber, il y a un risque que les performances de détection d'anomalies se détériorent. Résolvez ce dilemme Les méthodes sont les suivantes.

Résumé

La prochaine fois présentera une méthode pour trouver la cause de la détection d'anomalies. Grâce à cette technique, il est possible d'affiner les capteurs efficaces et ** de réduire le nombre de capteurs supplémentaires. ** **

Recommended Posts

[Malédiction dimensionnelle] Si le nombre de capteurs est changé en ∞, une anomalie peut-elle être détectée?
Astuces Python: Une combinaison de enumerate () et zip (), vérifiant si une chaîne peut être convertie en nombre, triant la chaîne sous forme de nombre
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
Assurez-vous que python peut convertir / convertir une chaîne de caractères en int
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Le nombre est-il équivalent à un entier?
Même si le langage de développement est changé en python3 dans Cloud9, la version 2 est affichée en python --version
Que faire si (base) est affiché au début du terminal Mac
Un script qui peut effectuer des tests de résistance en fonction du nombre de cœurs CPU
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Vérifiez si la chaîne est un nombre en python
Comment connaître le numéro de port du service xinetd
Comment obtenir le nombre de chiffres en Python
Essayez d'estimer le nombre de likes sur Twitter
Lors de l'utilisation de tf.print (), le contenu du tenseur ne peut pas être affiché s'il se trouve dans une f-string.