Anomalieerkennung mit Dummy-Funktionen (und anderen diskreten / kategorialen Funktionen)

18

tl; dr

  • Was ist die empfohlene Methode zum Umgang mit discreteDaten bei der Erkennung von Anomalien?
  • Was ist die empfohlene Methode zum Umgang mit categoricalDaten bei der Erkennung von Anomalien?
  • Diese Antwort schlägt vor, diskrete Daten zu verwenden, um nur die Ergebnisse zu filtern.
  • Vielleicht den Kategoriewert durch die prozentuale Beobachtungswahrscheinlichkeit ersetzen?

Intro

Dies ist das erste Mal, dass ich hier etwas veröffentliche. Wenn also etwas technisch nicht korrekt erscheint, sei es in Bezug auf die Formatierung oder die Verwendung korrekter Definitionen, möchte ich wissen, was stattdessen hätte verwendet werden sollen.

Weiter.

Ich habe vor kurzem an der Maschinellen Lernklasse von Andrew Ng teilgenommen

Zur Erkennung von Anomalien wurde uns beigebracht, die Normal- / Gauß-Verteilungsparameter für ein bestimmtes Merkmal / eine bestimmte Variable innerhalb eines Datensatzes zu bestimmen und dann die Wahrscheinlichkeit eines ausgewählten Satzes von Trainingsbeispielen / Beobachtungswerten zu bestimmen, wenn dieser bestimmte Wert gegeben ist Gaußsche Verteilung und dann das Produkt der Wahrscheinlichkeiten der Merkmale.xi

Methode

Wähle Merkmale / Variablen, die deiner Meinung nach die fragliche Aktivität erklären: { x 1 , x 2 , , x i }xi

{x1,x2,,xi}

Passen Sie die Parameter des Gaußschen für jedes Merkmal an:

μj=1mi=1mxj(i)
σ2=1mi=1m(xj(i)μj)2

x

p(x)=j=1n p(xj;μj,σj2)

y=1

y={1p(x)<ϵ0p(x)ϵ

Dies gibt uns die Methode, mit der wir feststellen können, ob ein Beispiel einer weiteren Prüfung bedarf.

Meine Fragen)

Dies scheint für kontinuierliche Variablen / Merkmale in Ordnung zu sein, diskrete Daten werden jedoch nicht angesprochen.

[IsMale]0,1p(x)

red1,blue2red1log()

Fragen: (aktualisiert: 24.11.2015)

  • p(x)
  • p(x)
  • Gibt es insgesamt eine andere Methode, die berücksichtigt, was ich hier frage, um weiter zu recherchieren / lernen zu können?
  • Was ist die empfohlene Methode zum Umgang mit discreteDaten bei der Erkennung von Anomalien?
  • Was ist die empfohlene Methode zum Umgang mit categoricalDaten bei der Erkennung von Anomalien?

Bearbeiten: 2017-05-03

  • Diese Antwort schlägt vor, diskrete Daten zu verwenden, um nur die Ergebnisse zu filtern.
  • Vielleicht den Kategoriewert durch die prozentuale Beobachtungswahrscheinlichkeit ersetzen?
Adrian Torrie
quelle
<disclaimer> Ich bin jemand mit gerade genug Statistiken, um gefährlich zu sein. </ disclaimer> Werden wir also gefährlich ... Meine Intuition stimmt mit Ihrer überein, dass der Gaußsche nicht der Weg ist, mit nicht kontinuierlichen Daten umzugehen. Bei kontinuierlichen Daten hat ein Wert in der Zahlenzeile eine andere Beziehung zu allen anderen Werten als eine Zahl in einer Ganzzahlzeile oder eine Binärvariable. Binomialverteilungen beschreiben binäre Variablen. Multinomialverteilungen beschreiben multinomiale Variablen. Sind das nicht alles exponentielle Familienmitglieder?
EngrStudent - Wiedereinsetzung von Monica am
Lesen Sie Folgendes
Adrian Torrie
Eine andere, die zu jeder Diskussion beitragen
Adrian Torrie
pp(x;μ,σ2)=1σ2πe(xμ)22σ2
@uvts_cvs ja es wird die Wahrscheinlichkeitsdichtefunktion des Gaußschen verwendet.
Adrian Torrie

Antworten:

4

Im Allgemeinen ist diese Methode sowohl für diskrete als auch für kategoriale Merkmale für Ausreißeranalysen nicht besonders geeignet. Da mit kategorialen Prädiktoren keine Größenordnung verbunden ist, arbeiten wir mit:

  • Häufigkeit der in den globalen Daten beobachteten Kategorie
  • Häufigkeit der beobachteten Kategorie in Teilbereichen der Daten

Beachten Sie, dass keine dieser Eigenschaften isoliert analysiert werden kann, wie es Ihre Gaußsche Methode erfordert. Stattdessen benötigen wir eine Methode, die kategoriale Merkmale kontextualisiert und die Korrelationscharakteristik der Daten berücksichtigt.

Hier einige Techniken für kategoriale und gemischte Attributdaten, die auf der Ausreißeranalyse von Aggarwal basieren :

  • SS=Qkλk2QkTQkE=QkλkE
  • Wenn Sie rein kategoriale Merkmale haben, passen Sie ein Mischungsmodell an die kategorialen Rohdaten an. Anomale Punkte haben die niedrigste generative Wahrscheinlichkeit.
  • Verwenden Sie die One-Hot-Codierung für kategoriale Prädiktoren und optional die Analyse latenter Variablen ** für Ordinalvariablen mit nicht offensichtlichen kontinuierlichen Zuordnungen
    • Standardisieren Sie die Nicht-One-Hot-Features (One-Hot-Features sind bereits implizit standardisiert) und führen Sie eine Hauptkomponentenanalyse durch . Führen Sie eine Dimensionsreduktion mit den Hauptkomponenten durch (oder einem weichen PCA-Ansatz, bei dem Eigenvektoren mit Eigenwerten gewichtet werden) und führen Sie eine typische kontinuierliche Ausreißeranalyse durch (z. B. ein Mischungsmodell oder Ihre Gaußsche Methode).
    • Führen Sie eine winkelbasierte Analyse durch. Berechnen Sie für jede Beobachtung die Kosinusähnlichkeiten zwischen allen Punktpaaren. Beobachtungen mit der geringsten Varianz dieser Ähnlichkeiten (bekannt als "Angle-Based Outlier Factor") sind höchstwahrscheinlich Ausreißer. Möglicherweise ist eine abschließende Analyse der empirischen Verteilung von ABOF erforderlich, um festzustellen, was anomal ist.
    • Wenn Sie Ausreißer gekennzeichnet haben: Passen Sie ein Vorhersagemodell an die konstruierten Daten an (logistische Regression, SVM usw.).

* Diskrete Merkmale können möglicherweise ungefähr in Ihrer Gaußschen Methode behandelt werden. Unter den richtigen Bedingungen kann ein Merkmal durch eine Normalverteilung gut approximiert werden (z. B. binomische Zufallsvariable mit npq> 3). Wenn nicht, behandeln Sie sie wie oben beschrieben.

** Dies ähnelt Ihrer Vorstellung von "Ersetzen Sie den Kategoriewert durch die prozentuale Wahrscheinlichkeit der Beobachtung".

khol
quelle
K=1
@Akababa Mit dem EM-Algorithmus können Sie beispielsweise MLEs für multinomiale Parameter berechnen. Unter der Annahme der Unabhängigkeit der multinomialen Wohnmobile lässt sich dieser Ansatz auf beliebige kategoriale Prädiktorsätze verallgemeinern. Beispiel hier
khol
0

Die Andrew-Ng-Mathematik behandelt "diskrete" Daten genauso wie "nicht-diskrete" Daten. Alles, was wir tun müssen, ist eine empirische Schätzung der Normalverteilungsparameter, und dies kann perfekt für diskrete Daten durchgeführt werden.

Wenn Sie darüber nachdenken, geht es beim maschinellen Lernen sowieso immer um diskrete Daten: Die Anzahl der Datenpunkte ist nicht unendlich und die Anzahl der Bits, die von Computern verarbeitet werden, ist nicht unendlich.

Wenn diskrete Datenpunkte miteinander verglichen werden können, gibt es für Methoden des maschinellen Lernens keinen grundsätzlichen Unterschied, wenn es beispielsweise um Länge geht: 1,15 Fuß 1,34 Fuß 3,4 Fuß

oder wie viele Äste sind auf dem Baum: 1 2 3 5

Sie können Gleitkommazahlen oder ganze Zahlen auch addieren und mitteln.

Nun zu kategorialen Daten. Kategoriale Datenpunkte können nicht verglichen werden (Auto gegen Motorrad gegen Boot). Wie gehen wir damit um?

Die Anzahl der Kategorien muss mindestens zwei betragen, um einen Sinn zu ergeben. Ansonsten, worum geht es bei der konstanten Funktion? Bei 2 Kategorien können wir ein Kategoriefeature als binäres Feature {0, 1} darstellen. 0 und 1 können für Mathematik verwendet werden, siehe oben.

Wenn die Anzahl der Kategorien (K) [3 .. inf] ist, ordnen wir unser einzelnes Merkmal K binären, sich gegenseitig ausschließenden Merkmalen zu. Beispielsweise wird die Kategorie "Motorrad" zu einer Kombination von Binärfunktionen {IsCar: 0, IsMotorcycle: 1, IsBoat: 0}, Bootspunkt wird zu {IsCar: 0, IsMotorcycle: 0, IsBoat: 1} usw.

Aus diesen neuen Merkmalen können wir empirische Verteilungsparameter abschätzen. Wir werden einfach mehr Dimensionen haben, das ist alles.

Oscar92
quelle
1
Dies erklärt Dummy-Codierung, aber das ist keine Antwort auf die Frage
Pieter