Automatische Funktionsauswahl zur Erkennung von Anomalien

11

Was ist der beste Weg, um Funktionen für die Erkennung von Anomalien automatisch auszuwählen?

Ich behandle normalerweise Anomaly Detection als Algorithmus , wo die Merkmale von menschlichen Experten ausgewählt werden: was zählt , ist der Ausgangsbereich (wie in „abnormal Eingang - abnormal Ausgang“) , so auch mit vielen Funktionen , die Sie können mit einer viel kleineren Teilmenge kommen durch die Kombination von die Funktionen.

Unter der Annahme, dass eine Feature-Liste im Allgemeinen sehr umfangreich sein kann, ist manchmal ein automatisiertes Lernen vorzuziehen. Soweit ich sehen kann, gibt es einige Versuche:

  • "Automatisierte Funktionsauswahl für die Erkennung von Anomalien" ( pdf ), die die Beschreibung der Support-Vektordaten verallgemeinert
  • "Ein schnelles Host-basiertes Intrusion Detection-System mit Rough-Set-Theorie" (kein PDF verfügbar?), Das vermutlich die Rough-Set-Theorie verwendet
  • "Lernregeln für die Erkennung von Anomalien bei feindlichem Netzwerkverkehr" ( pdf , Video ), die einen statistischen Ansatz verwenden

Jetzt frage ich mich also, ob es jemand sagen kann - unter der Annahme einer Anomalieerkennung und eines wirklich großen (Hunderte?) Funktionsumfangs:

  1. Sind diese riesigen Funktionen überhaupt sinnvoll? Sollten wir die Funktionen nicht einfach auf ein paar Dutzend reduzieren und das war's?
  2. Wenn große Funktionssätze sinnvoll sind, welcher der oben genannten Ansätze würde bessere Vorhersagen liefern, und warum? Gibt es etwas, das nicht aufgeführt ist und viel besser ist?
  3. Warum sollten sie bessere Ergebnisse liefern, beispielsweise im Vergleich zur Dimensionsreduzierung oder Merkmalskonstruktion über Clustering / Ranking / etc?
andreister
quelle
Ihr Link hat keine spezielle Frage für mich aufgeworfen. Können Sie das Problem kurz beschreiben? Was ist das Ziel? Ist es ein überwachtes oder unbeaufsichtigtes Lernproblem?
AdamO
Die Frage stammte von ML.SE, die jetzt geschlossen ist - anscheinend hatten die Admins nicht alle Fragen zusammengeführt. Ich habe den Text jetzt bearbeitet, um das Problem explizit anzugeben!
andreister

Antworten:

1

Ein praktischer Ansatz (zumindest im Fall von überwachtem Lernen) besteht darin, alle möglicherweise relevanten Merkmale einzubeziehen und ein (verallgemeinertes) lineares Modell (logistische Regression, lineares SVM usw.) mit Regularisierung (L1 und / oder L2) zu verwenden. Es gibt Open-Source-Tools (z. B. Vowpal Wabbit), die Billionen von Beispiel- / Feature-Kombinationen für diese Modelltypen verarbeiten können, sodass Skalierbarkeit kein Problem darstellt (außerdem kann immer eine Unterabtastung verwendet werden). Die Regularisierung hilft bei der Auswahl der Features.

Jewgeni
quelle
Aber wie wählt man Features in unbeaufsichtigten Einstellungen aus (ohne dass lineare Modelle usw. verwendet werden müssen, um wichtige Features zu erhalten)? Eine Möglichkeit, die ich mir vorstellen kann, ist die Verwendung von PCA, um eine gewisse Varianz beizubehalten und die Datengröße zu reduzieren. Aber auch hier scheint es gefährlich, Daten bei der Erkennung von Anomalien zu reduzieren, da Ihnen möglicherweise tatsächliche Ausreißer fehlen, die Sie vorhersagen wollten. Daher die Verwirrung.
Sangram