Czy obsługa Vector Machine obsługuje niezrównoważony zestaw danych?


14

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?


1
Co powoduje, że zbiór danych jest „niezrównoważony”?
whuber

1
@ Whuber zestaw danych klasyfikacyjnych o bardzo zróżnicowanym rozpowszechnieniu klas jest często określany jako niezrównoważony.
Marc Claesen

1
@Marc To może być prawda, ale jest to niejasna koncepcja. Ile jest „w dużej mierze zmienne”? Dlaczego ma to w ogóle mieć znaczenie, z wyjątkiem szczególnych okoliczności? Uważam, że ważne jest, abyśmy zrozumieli, co proponuje autor tego pytania poprzez „niezrównoważony”, zamiast akceptować czyjeś inteligentne domysły dotyczące zamierzonego znaczenia.
whuber

Niezrównoważone zestawy danych @whuber to powszechna koncepcja uczenia maszynowego. Pod względem aplikacji z powodu np. Wykrycia spamu itp. Być może z powodu przewagi algorytmów celujących w błąd błędnej klasyfikacji zamiast prawdopodobieństwa. To z kolei sprawia, że ​​ważenie błędu jest problematyczne.
seanv507

2
Dziękuję @seanv za wyjaśnienie. Problem terminologiczny naprawdę wydaje się polegać na tym, że „uchwyty” nie odnoszą się do „można zastosować”, ale raczej implikuje ustawienie, w którym (1) istnieje klasa, która jest w takiej mniejszości, na jej wydajność prognozy może mieć duży wpływ obecność innych klas, a (2) dokładne przewidywanie dla klasy mniejszościowej jest interesujące. W tym sensie „niezbilansowany zestaw danych” jest raczej niepełnym opisem problemu, ale ponieważ wydaje się, że termin zyskał pewną walutę, nie ma sensu narzekać.
whuber

Odpowiedzi:


18

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:

minw,b,ξi=1Nj=1Nαiαjyiyjκ(xi,xj)+CposiPξi+CnegiNξi,s.t.yi(j=1Nαjyjκ(xi,xj)+b)1ξi,i=1Nξi0,i=1N

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.PNC

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 )

Cpos=2CnegC=Cneg


Fajne dzięki! Ponadto, czy regresja logistyczna, navie bayes, drzewo decyzyjne radzą sobie z takim problemem braku równowagi?
RockTheStar

regresja logistyczna z pewnością tak robi, po prostu inaczej oceniasz prawdopodobieństwo pozytywnych i negatywnych wzorców.
Dikran Marsupial

Regresja logistyczna i SVM zapewniają wewnętrzne sposoby. Nie znam na pamięć tych wszystkich innych metod, ale nadpróbkowanie klasy mniejszościowej działa prawie dla każdej metody (choć nie jest to matematycznie eleganckie).
Marc Claesen

1
Fajnie, dzięki @Dikran. Marc: tak, proste oversampling działa ogólnie. Zależy to jednak od sytuacji. To, co się dzieje, polega na tym, że dodajesz „wagi” do danych mniejszości, kiedy przesadzasz z mniejszością (powtarzając punkty mniejszości w tych samych lokalizacjach). Pomaga to zasadniczo poprawić „uwzględnienie” przykładu mniejszości. Jednak granica decyzyjna klasyfikacji stanie się wtedy dość napięta (niewystarczająco ogólna), to znaczy może wystąpić przeregulowanie). Dlatego może być konieczne rozważenie niektórych probablistycznych technik próbkowania, takich jak SMOTE.
RockTheStar

10

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).


Dikran, dlaczego jest tylko asymptotycznie równoważny ... z pewnością jest dokładnie równoważny różnemu ważeniu różnych błędów klasowych?
seanv507

Jest to dokładnie równoważenie ważenia błędów klas, ale to nie to samo, co ponowne próbkowanie danych (na początek wagi są ciągle zmienne, ale dane są dyskretne). Jest to jeden z asymptotycznych wyników oczekiwań (które w większości przypadków nie wydają się szczególnie przydatne).
Dikran Marsupial
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.