Do pracy badawczej korzystałem z jednej klasy SVM , zaimplementowanej w scikit-learn. Ale nie rozumiem tego dobrze.
Czy ktoś może podać proste, dobre wyjaśnienie jednej klasy SVM ?
Do pracy badawczej korzystałem z jednej klasy SVM , zaimplementowanej w scikit-learn. Ale nie rozumiem tego dobrze.
Czy ktoś może podać proste, dobre wyjaśnienie jednej klasy SVM ?
Odpowiedzi:
Problemem rozwiązanym przez One Class SVM, jak głosi dokumentacja, jest wykrywanie nowości . Oryginalny artykuł opisujący, jak używać SVM do tego zadania, brzmi „ Wspieraj wektorową metodę wykrywania nowości ”.
Ideą wykrywania nowości jest wykrywanie rzadkich zdarzeń, tj. Zdarzeń, które zdarzają się rzadko, a zatem których masz bardzo mało próbek. Problem polega na tym, że zwykły sposób szkolenia klasyfikatora nie zadziała.
Jak więc zdecydować, jaki jest nowy wzór ?. Wiele podejść opiera się na oszacowaniu gęstości prawdopodobieństwa danych. Nowość odpowiada próbkom, w których gęstość prawdopodobieństwa jest „bardzo niska”. Jak niski zależy od zastosowania.
Obecnie SVM są metodami maksymalnego marginesu, tzn. Nie modelują rozkładu prawdopodobieństwa. Tutaj chodzi o znalezienie funkcji dodatniej dla regionów o wysokiej gęstości punktów i ujemnej dla małych gęstości.
Kruche szczegóły podano w artykule. ;) Jeśli naprawdę zamierzasz przejść przez artykuł, upewnij się, że najpierw rozumiesz ustawienia podstawowego algorytmu SVM do klasyfikacji. Znacznie ułatwi to zrozumienie granic i motywacji algorytmu.
Możesz użyć SVM klasy One dla niektórych potoków do Active Learning w jakiś częściowo nadzorowany sposób.
Przykład: Ponieważ SVM zajmuje się opisaną powyżej metodą maksymalnego marginesu, możesz uznać te regiony marginesów za granice dla określonej klasy i wykonać ponowne etykietowanie.