[PYTHON] [Dimensionsfluch] Wenn die Anzahl der Sensoren auf ∞ geändert wird, kann eine Abnormalität festgestellt werden?

Seit das IOT populär geworden ist, wurden Anstrengungen unternommen, um die Anzahl der Sensoren zu erhöhen, um Maschinen vorherzusagen und zu warten. Es wird getan.

Gerüchten zufolge gab es Fälle, in denen 100 Sensoren an einer einzelnen Maschine angebracht waren.

Die Frage ist also, ob es gerecht ist, die Anzahl der Sensoren zu erhöhen. Mit anderen Worten, wirkt sich ** die Erhöhung der Anzahl zusätzlicher Sensoren auf die Leistung der Anomalieerkennung aus? Wann Das heißt.

In diesem Artikel konzentrieren wir uns auf den Fluch der Dimension: "Wenn Sie die Anzahl der zusätzlichen Sensoren erhöhen, erkennen Sie Anomalien Was wird mit der Aufführung passieren? "

image.png

Aus der Schlussfolgerung

Angenommene Szene

Wenn der zusätzliche Sensor weiterhin ein Nullsignal aussendet, ist die Leistung bei der Erkennung von Anomalien gleich Man kann sagen, dass sich fast nichts ändert. Da es jedoch Rauschen enthält, wird es zu einem Fluch der Dimension. Wenn Sie die Anzahl der Sensoren unter dem Einfluss von erhöhen, verschlechtert sich die Leistung bei der Erkennung von Anomalien.

Lärm

Der Sensor enthält fast immer Rauschen. Sogar ein Sensor mit guter Genauigkeit Es enthält eine geringe Menge an Lärm. Tiefpassfilter zur Rauschunterdrückung Es gibt Maßnahmen wie z. B. zu installieren, aber eine solche Verarbeitung fällt nicht in den Geltungsbereich dieses Artikels.

In diesem Artikel nehmen wir eine Szene an, die ** rohe Sensordaten mit Rauschen ** verwendet.

Was ist ein Dimensionsfluch?

Mit zunehmender Anzahl der Dimensionen der Daten nimmt das Oberflächenvolumen den größten Teil des Gesamtvolumens ein. Es ist ein Phänomen, das wird. Das Problem beim maschinellen Lernen ist der Unterschied in der Entfernung zwischen dem nächsten Punkt und dem am weitesten entfernten Punkt. Es verschwindet fast und macht es schwierig, es nach Entfernung zu unterscheiden. Weitere Informationen finden Sie in den folgenden Artikeln.

Über den Fluch der Dimension

Auswirkungen auf das überwachte Lernen

Persönlich kann beim überwachten Lernen ** Dimensionsreduktion usw. explizit einbezogen werden, so der Fluch der Dimension Ich denke nicht, dass es betroffen sein wird. ** Extremes Gespräch, auch mit zusätzlichen Sensorinformationen Es kann gesagt werden, dass es besser ist, unnötige Merkmalsmengen zu reduzieren und die Merkmalsmenge zu verwenden, die die höchste Genauigkeit ergibt.

Auswirkungen auf unbeaufsichtigtes Lernen

Beim unbeaufsichtigten Lernen wie der Erkennung von Anomalien gibt es jedoch im Grunde keine Anomaliedaten oder Möglicherweise haben Sie nur eine geringe Menge an abnormalen Daten zur Hand. Und eine kleine Menge abnormaler Daten Wenn Sie als Referenz die Anzahl der Funktionen reduzieren, besteht das Risiko, dass ** die Anzahl der Funktionen, die Sie wirklich benötigen, reduziert wird. Wenn daher die Abmessungen durch unbeaufsichtigtes Lernen leicht verringert werden können, kann sich die Leistung der Anomalieerkennung verschlechtern. Es gibt.

Ist es jedoch in Ordnung, unnötige Sensorinformationen so wie sie sind in den Detektor einzugeben? Leistung bei der Erkennung von Anomalien Ist es nicht verschlechtert? Die Frage kommt auch auf. Mit anderen Worten, unnötige Sensorinformationen Die Anzahl der Dimensionen nimmt zu, weil sie eingefügt werden, und es ist aufgrund des Fluches der Dimensionen schwierig, zwischen normal und abnormal zu unterscheiden Ist es nicht? Die Frage ist. Daher werden wir ein Experiment mit Dummy-Daten durchführen.

Experiment

Wie eingangs erwähnt, wird das Experiment mit den obigen Einstellungen durchgeführt. Die folgenden zwei Methoden werden als Anomalieerkennungsmethoden verwendet.

Ich werde die detaillierte Einführung weglassen, aber MT-Methode wendet normale Daten auf die Normalverteilung an und verwendet den Maharanobis-Abstand. Stellen Sie fest, ob es abnormal ist. Je größer der Maharanobis-Abstand ist, desto höher ist der Grad der Abnormalität. Isolation Forest ist eine auf Entscheidungsbäumen basierende Methode zur Erkennung von Anomalien. Originalpapier hat 500 Dimensionen Es wurde gezeigt, dass es für weitere Daten gültig ist.

Ich habe den gesamten Code hier eingefügt [https://github.com/shinmura0/Number-of-Sensor/blob/master/Infinity_sensor.ipynb.ipynb].

Ergebnisse der MT-Methode

Generieren Sie zunächst einen funktionierenden Sensor ($ x_1, x_2 $) mit Zufallszahlen.

image.png

In der Abbildung links oben sehen Sie, dass zwischen $ x_1 und x_2 $ eine Korrelation besteht. Die grünen Punkte sind die Trainingsdaten. Wenn Sie $ x_1 $ durch Temperatur, $ x_2 $ durch Druck usw. ersetzen. Es kann leicht zu verstehen sein.

Die violetten Punkte sind normale Daten und die roten Punkte sind abnormale Daten.

Wenn die MT-Methode im Bereich $ x_1, x_2 $ angewendet wird, ist sie normal / abnormal, wie in der rechten Abbildung oben gezeigt. Es gibt einen deutlichen Unterschied in der abnormalen Punktzahl (MD = Maharanobis-Abstand). Je größer der Maharanobis-Abstand ist, desto höher ist der Grad der Abnormalität. Die hellblaue Linie ist übrigens Eine Ellipse mit gleicher Wahrscheinlichkeit ist eine Linie, die Bereiche mit demselben Maharanobis-Abstand darstellt.

Wenn die Anzahl der Dimensionen von 2 auf 3 geändert wird

Erhöhen Sie die Anzahl der Dimensionen um eins ($ x_3 $).

image.png

Eine zusätzliche Sensorinformation wie die rechts ($ x_3 $) oben wurde hinzugefügt. $ x_3 $ ist beispielsweise ein Helligkeitssensor Sie können es anhängen. $ x_1 und x_2 $ (linke und mittlere Zahl) waren korrelierte und aussagekräftige Daten, $ x_3 $ hat keine Korrelation und ist nur verrauschte Daten.

Der Raum $ x_1, x_3 $ ist unten dargestellt.

image.png

Betrachtet man nur diese Zahl, so ist der Unterschied zwischen normalen / abnormalen Daten und der Art des Fahrgeräuschs nicht so groß Daher ist es wahrscheinlich, dass normale Daten keinen Wert haben. Und das ist es Dies ist ein Faktor, der es schwierig macht, zwischen abnormal und normal zu unterscheiden.

$ x_1, x_2, x_3 $ Wenn Sie die MT-Methode auf den gesamten Raum anwenden, lautet die Anomaliebewertung wie folgt.

image.png

Der Unterschied ist kleiner als bei einer Anzahl von 2 Dimensionen, aber die abnormalen Daten weisen immer noch eine höhere Punktzahl auf. Es wird größer.

Wenn die Anzahl der Dimensionen von 3 auf 100 geändert wird

Das Ergebnis der weiteren Erhöhung von $ x_3 $ auf 98 wie zuvor ist wie folgt.

image.png

Die horizontale Achse ist die Anzahl der Dimensionen und die vertikale Achse ist die abnormale Punktzahl (MD = Maharanobis-Abstand). Wie Sie sehen können, werden bei einer Anzahl von Dimensionen von 20 die normalen und abnormalen Werte umgekehrt. Mit anderen Worten, es ist falsch positiv.

Da es sich um ein Experiment mit Zufallszahlen handelt, ändern sich die Ergebnisse von Experiment zu Experiment, aber alle Ergebnisse sind so lang, wie die Anzahl der Dimensionen gering ist. Normal und abnormal konnten korrekt erkannt werden.

Isolation Forest Ergebnisse

Wenn die Anzahl der Dimensionen von 2 auf 100 geändert wird

Das Ergebnis ähnelt der MT-Methode.

image.png

Wenn die Anzahl der Dimensionen 20 beträgt, werden normal und abnormal umgekehrt, und es wird eine falsche Erkennung durchgeführt. Isolation Forest verwendet Scicit-Learn, aber die abnormale Punktzahl dient der Klarheit. Die Zahlen sind invertiert. (In der obigen Abbildung ist der Grad der Anomalie umso höher, je höher der Anomalie-Score ist.)

Um den Fluch der Dimension zu vermeiden

Wenn Sie zu viele unnötige Sensorinformationen eingeben, erhöht sich die Anzahl der Dimensionen und dies ist auf den Fluch der Dimensionen zurückzuführen Es ist schwierig geworden, zwischen normal und abnormal zu unterscheiden. Andererseits sind die Sensorinformationen unnötig Wenn Sie es fallen lassen, besteht das Risiko, dass sich die Leistung bei der Erkennung von Anomalien verschlechtert. Löse dieses Dilemma Die Methoden sind wie folgt.

Zusammenfassung

Nächstes Mal wird eine Methode zum Auffinden der Ursache für die Erkennung von Anomalien einführen. Mit dieser Technik ist es möglich, die effektiven Sensoren einzugrenzen und ** die Anzahl der zusätzlichen Sensoren zu reduzieren. ** ** **

Recommended Posts

[Dimensionsfluch] Wenn die Anzahl der Sensoren auf ∞ geändert wird, kann eine Abnormalität festgestellt werden?
Python-Tricks: Eine Kombination aus enumerate () und zip (), bei der überprüft wird, ob eine Zeichenfolge in eine Zahl konvertiert werden kann, wobei die Zeichenfolge als Zahl sortiert wird
[Python] Ein Programm, um die Anzahl der Äpfel und Orangen zu ermitteln, die geerntet werden können
Stellen Sie sicher, dass Python eine Zeichenfolge in int konvertieren / konvertieren kann
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
Entspricht die Zahl einer Ganzzahl?
Auch wenn die Entwicklungssprache in Cloud9 in Python3 geändert wird, wird Version 2 in Python - Version angezeigt
Was tun, wenn (Basis) am Anfang des Mac-Terminals angezeigt wird?
Ein Skript, das Stresstests entsprechend der Anzahl der CPU-Kerne durchführen kann
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
Wie man die Portnummer des xinetd-Dienstes kennt
So ermitteln Sie die Anzahl der Stellen in Python
Versuchen Sie, die Anzahl der Likes auf Twitter zu schätzen
Bei Verwendung von tf.print () kann der Inhalt des Tensors nicht angezeigt werden, wenn er sich innerhalb der F-Zeichenfolge befindet.