Jaki jest najlepszy sposób automatycznego wybierania funkcji do wykrywania anomalii?
Zazwyczaj traktuję Wykrywanie Anomalii jako algorytm, w którym cechy są wybierane przez ludzkich ekspertów: liczy się zakres wyjściowy (jak w „nienormalnym wejściu - nienormalnym wyjściu”), więc nawet przy wielu funkcjach można uzyskać znacznie mniejszy podzbiór, łącząc funkcje.
Zakładając jednak, że w ogólnym przypadku lista funkcji może być ogromna, być może czasem preferowane jest automatyczne uczenie się. O ile widzę, istnieją pewne próby:
- „Automatyczny wybór funkcji do wykrywania anomalii” ( pdf ), który uogólnia opis danych wektorowych wsparcia
- „Szybki system wykrywania włamań oparty na hoście, wykorzystujący teorię zbiorów wstępnych” (brak pliku pdf?), Który, jak sądzę, wykorzystuje teorię zbiorów wstępnych
- „Zasady uczenia się dotyczące anomalii w wykrywaniu wrogiego ruchu sieciowego” ( pdf , wideo ), w którym zastosowano podejście statystyczne
Zastanawiam się teraz, czy ktokolwiek może powiedzieć - zakładając wykrywanie anomalii i naprawdę duży (setki?) Zestaw funkcji:
- Czy te ogromne zestawy funkcji mają w ogóle sens? Czy nie powinniśmy po prostu ograniczać konfiguracji funkcji, powiedzmy, o kilkadziesiąt i to wszystko?
- Jeśli ogromne zestawy funkcji mają sens, które z powyższych podejść dałoby lepsze przewidywania i dlaczego? Czy jest coś nie wymienionego, co jest znacznie lepsze?
- Dlaczego mieliby dawać lepsze wyniki w porównaniu, powiedzmy, ze zmniejszeniem wymiarów lub konstruowaniem cech poprzez grupowanie / ranking / etc?
feature-selection
outliers
andreister
źródło
źródło
Odpowiedzi:
Jednym praktycznym podejściem (przynajmniej w przypadku nadzorowanego uczenia się) jest uwzględnienie wszystkich możliwie istotnych cech i zastosowanie (uogólnionego) modelu liniowego (regresja logistyczna, liniowy svm itp.) Z regularyzacją (L1 i / lub L2). Istnieją narzędzia typu open source (np. Vowpal Wabbit), które radzą sobie z bilionami kombinacji przykład / funkcja dla tego typu modeli, więc skalowalność nie stanowi problemu (poza tym zawsze można użyć podpróbkowania). Regularyzacja pomaga radzić sobie z wyborem funkcji.
źródło