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?
machine-learning
svm
unbalanced-classes
RockTheStar
źródło
źródło
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.P N C
Podejście to wprowadzono dość wcześnie, wspomniano na przykład w artykule z 1997 r .:
źródło
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).
źródło