Czy SVM obsługuje niezrównoważony zestaw danych? Czy to jakieś parametry (takie jak C lub koszt błędnej klasyfikacji) obsługujące niezrównoważony zestaw danych?
Czy SVM obsługuje niezrównoważony zestaw danych? Czy to jakieś parametry (takie jak C lub koszt błędnej klasyfikacji) obsługujące niezrównoważony zestaw danych?
Odpowiedzi:
W przypadku niezrównoważonych zestawów danych zazwyczaj zmieniamy karę za błędną klasyfikację na klasę. Nazywa się to SVM ważonym klasą, co minimalizuje:
gdzie i N reprezentują pozytywne / negatywne przypadki treningowe. W standardowym SVM mamy tylko jedną wartość C , podczas gdy teraz mamy 2. Kara za błędne zaklasyfikowanie dla klasy mniejszości jest wybrana jako większa niż dla klasy większości.
Podejście to wprowadzono dość wcześnie, wspomniano na przykład w artykule z 1997 r .:
Edgar Osuna, Robert Freund i Federico Girosi. Obsługa maszyn wektorowych: szkolenia i aplikacje. Raport techniczny AIM-1602, 1997. ( pdf )
Maszyny SVM są w stanie radzić sobie z zestawami danych o niezrównoważonych częstotliwościach klas. Wiele implementacji pozwala mieć inną wartość kary za luz (C) dla klas dodatnich i ujemnych (co jest asymptotycznie równoważne zmianie częstotliwości klas). Poleciłbym ustawienie wartości tych parametrów w celu maksymalizacji wydajności uogólnienia w zestawie testowym, w którym częstotliwości klasowe są tymi, których spodziewasz się zobaczyć podczas użytkowania.
Byłem jedną z wielu osób, które napisały na ten temat artykuły, oto moje , zobaczę, czy mogę znaleźć coś nowszego / lepszego. Spróbuj Veropoulos, Campbell i Cristianini (1999).