Automatyczny wybór funkcji do wykrywania anomalii


11

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:

  1. 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?
  2. 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?
  3. Dlaczego mieliby dawać lepsze wyniki w porównaniu, powiedzmy, ze zmniejszeniem wymiarów lub konstruowaniem cech poprzez grupowanie / ranking / etc?

Twój link nie przyniósł mi żadnego konkretnego pytania. Czy możesz podać krótki opis problemu? Jaki jest cel? Czy jest to problem uczenia się pod nadzorem lub bez nadzoru?
— AdamO,

Pytanie pochodzi od ML.SE, które jest teraz zamknięte - najwyraźniej administratorzy nie połączyli wszystkich pytań. Zredagowałem teraz tekst, aby wyraźnie określić problem!
— andreister

Odpowiedzi:


1

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.


Ale jak wybrać funkcje w nienadzorowanych ustawieniach (bez potrzeby korzystania z modeli liniowych itp., Aby wymyślić ważne funkcje)? Jednym ze sposobów, w jaki mogę wymyślić, jest użycie PCA, aby zachować pewną wariancję i zmniejszyć rozmiar danych. Ale znowu zmniejszenie danych w problemach z wykrywaniem anomalii wydaje się niebezpieczne, ponieważ może się okazać, że brakuje rzeczywistych wartości odstających, które chciałbyś przewidzieć. Stąd zamieszanie.
— exAres
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.