Jaka jest podstawowa przyczyna problemu braku równowagi klas?

30

Ostatnio dużo myślałem o „problemie nierównowagi klas” w uczeniu maszynowym / statystycznym i coraz głębiej odczuwam, że po prostu nie rozumiem, co się dzieje.

Najpierw pozwól mi zdefiniować (lub spróbować) zdefiniować moje warunki:

Problemem klasa nierównowaga w maszyny / uczenia statystycznego jest obserwacja, że niektóre klasyfikacji binarnej (*) algorytmy nie wykonywać dobrze, gdy proporcja klas 0 do 1 klasy jest bardzo przekrzywiony.

Tak więc w powyższym przykładzie, na przykład, gdyby istniało sto klas na każdą klasę, powiedziałbym, że brak równowagi klas wynosi od do lub .0111001%

Większość stwierdzeń o problemach, które widziałem, brakuje tego, co uważałbym za wystarczające kwalifikacje (jakie modele zmagają się, jak niezrównoważony jest problem), i to jest jedno źródło mojego zamieszania.

Przegląd standardowych tekstów w uczeniu maszynowym / statystycznym niewiele pokazuje:

  • Elementy oparte na statystyce i wprowadzenie do uczenia statystycznego nie zawierają w indeksie „nierównowagi klasowej”.
  • Uczenie maszynowe dla predykcyjnej analizy danych również nie zawiera „nierównowagi klas” w indeksie.

  • Murphy'ego Machine Learning: probabilistyczny Perspektywa ma zawierać „class nierównowagę * w indeksie Odniesienie jest w części poświęconej SVM, gdzie znalazłem następujący komentarz kuszące.:

    Warto pamiętać, że wszystkie te trudności i mnogość heurystyk, które zaproponowano w celu ich naprawienia, zasadniczo powstają, ponieważ maszyny SVM nie modelują niepewności za pomocą prawdopodobieństw, więc ich wyniki wyjściowe nie są porównywalne we wszystkich klasach.

Ten komentarz bardzo mi się podoba z moją intuicją i doświadczeniem: w mojej poprzedniej pracy rutynowo dopasowywaliśmy regresje logistyczne i modele drzew wzmocnione gradientem (w celu zminimalizowania prawdopodobieństwa logarytmii dwumianowej) do niezrównoważonych danych (rzędu nierównowagi klasy ), z brak oczywistych problemów z wydajnością.1%

Czytałem (gdzieś), że modele oparte na drzewach klasyfikacyjnych (same drzewa i losowy las) również cierpią z powodu problemu braku równowagi klas. To trochę zamazuje wody, drzewa w pewnym sensie zwracają prawdopodobieństwo: rekord głosowania dla klasy docelowej w każdym węźle końcowym drzewa.

Podsumowując, tak naprawdę chcę pojęciowego zrozumienia sił, które prowadzą do problemu nierównowagi klas (jeśli istnieje).

  • Czy to coś, co robimy sobie ze źle dobranymi algorytmami i leniwymi domyślnymi progami klasyfikacji?
  • Czy zniknie, jeśli zawsze dopasujemy modele prawdopodobieństwa, które optymalizują właściwe kryteria punktacji? Inaczej mówiąc, czy przyczyną jest po prostu zły wybór funkcji straty, tj. Ocena mocy predykcyjnej modelu na podstawie twardych reguł klasyfikacji i ogólnej dokładności?
  • Jeśli tak, to czy modele, które nie optymalizują właściwych reguł punktacji, są wtedy bezużyteczne (lub przynajmniej mniej przydatne)?

(*) Przez klasyfikację rozumiem dowolny model statystyczny dopasowany do danych odpowiedzi binarnej. Ja nie zakładając, że moim celem jest trudne zadanie do jednej lub drugiej klasy, choć może to być.

Matthew Drury
źródło
1
Oczywisty problem może powstać, gdy uczący się będzie karał za straty każdej klasy w ten sam sposób. Zwracanie wszystkiego tej samej klasy mogłoby teoretycznie zminimalizować całkowitą stratę.
Firebug,
1
Zapomniałem dodać poor choice of loss functiondo mojej listy. Czy uważasz, że tak jest nawet w przypadku prawidłowych zasad punktacji jako funkcji straty?
Matthew Drury,
Chyba tak. Wydaje mi się, że możemy sformułować problem, w którym minimalizowanie utraty większej klasy tylko minimalizuje również utratę całego problemu, podczas gdy generalnie klasa mniejszości jest bardziej interesująca.
Firebug
3
Zgadzam się z sentymentem pytania. Miałem roboczą hipotezę (choć chętnie ją odrzucam), że per se nie ma problemu z nierównowagą klas, tylko że trenujemy z funkcjami utraty, które nie reprezentują tego, co użyjemy do pomiaru sukcesu na danych testowych. I trudno to nazwać błędem, ponieważ jest to prawie standardowa praktyka: np. Nie jest standardem bezpośrednia optymalizacja AUC lub F1, ale są to typowe wskaźniki sukcesu w przypadku problemów z nierównowagą klas. Więc może to jest problem nierównowagi klasowej?
DavidR
9
Przyczyną problemu nierównowagi klasowej jest konwencja o zastosowaniu dokładności jako funkcji straty. nierównowaga klasowa jest cechą charakterystyczną problemu (na przykład diagnostyka rzadkich chorób), którą można rozwiązać za pomocą kilku strategii. Jednym z nich jest użycie wagi klasy odwrotnej do wielkości klasy podczas obliczania funkcji straty. Poza tym AUC jako funkcja straty jest dobrym pomysłem, ponieważ wyraźnie rozróżnia między wynikiem pozytywnym a fałszywie dodatnim. Dlatego głównym problemem problemu nierównowagi klasowej jest funkcja straty. Świetne pytanie, na które nie odważę się odpowiedzieć.
Nikolas Rieble

Odpowiedzi:

4

Wpis z Encyklopedii uczenia maszynowego ( https://cling.csd.uwo.ca/papers/cost_sensitive.pdf ) pomaga wyjaśnić, że to, co nazywa się „problemem nierównowagi klas”, lepiej rozumieć jako trzy oddzielne problemy:

 (1) assuming that an accuracy metric is appropriate when it is not

 (2) assuming that the test distribution matches the training 
     distribution when it does not

 (3) assuming that you have enough minority class data when you do not

Autorzy wyjaśniają:

Zestawy danych niezrównoważonych klas występują w wielu rzeczywistych aplikacjach, w których rozkłady klas danych są wysoce niezrównoważone. Ponownie, bez utraty ogólności, zakładamy, że klasa mniejszościowa lub rzadka jest klasą pozytywną, a klasa większościowa jest klasą negatywną. Często klasa mniejszości jest bardzo mała, na przykład 1% zbioru danych. Jeśli zastosujemy najbardziej tradycyjne (niewrażliwe na koszty) klasyfikatory w zbiorze danych, będą one prawdopodobnie przewidywać wszystko jako ujemne (klasa większości). Często uważano to za problem w uczeniu się na wysoce niezrównoważonych zestawach danych.

Jednak, jak wskazał (Provost, 2000), w tradycyjnych klasyfikatorach niewrażliwych na koszty często przyjmuje się dwa podstawowe założenia. Po pierwsze, celem klasyfikatorów jest maksymalizacja dokładności (lub minimalizacja poziomu błędu); po drugie, rozkład klas zestawów danych szkoleniowych i testowych jest taki sam. Przy tych dwóch założeniach przewidywanie wszystkiego jako negatywne dla wysoce niezrównoważonego zestawu danych jest często słuszne. (Drummond i Holte, 2005) pokazują, że zwykle bardzo trudno jest przewyższyć ten prosty klasyfikator w tej sytuacji.

Zatem problem niezrównoważonej klasy staje się znaczący tylko wtedy, gdy jedno lub oba powyższe założenia nie są prawdziwe; to znaczy, jeśli koszt różnych rodzajów błędów (fałszywie dodatni i fałszywie ujemny w klasyfikacji binarnej) nie jest taki sam lub jeśli rozkład klas w danych testowych jest inny niż w danych szkoleniowych. Pierwszym przypadkiem można skutecznie zaradzić, stosując metody w meta-learningu wrażliwym na koszty.

W przypadku, gdy koszt błędnej klasyfikacji nie jest równy, zwykle droższe jest błędne zaklasyfikowanie przykładu mniejszościowego (pozytywnego) do klasy większościowej (negatywnej), niż przykład większościowy do klasy mniejszościowej (w przeciwnym razie bardziej prawdopodobne jest przewidzenie wszystkiego jako negatywny). To znaczy, FN> FP. Zatem, biorąc pod uwagę wartości FN i FP, do rozwiązania problemu nierównowagi klas można stosować i stosowano różnorodne wrażliwe na koszty metody meta-uczenia się (Ling i Li, 1998; Japkowicz i Stephen, 2002). Jeśli wartości FN i FP nie są wyraźnie nieznane, FN i FP można przypisać proporcjonalnie do p (-): p (+) (Japkowicz i Stephen, 2002).

W przypadku gdy rozkłady klas zestawów danych szkoleniowych i testowych są różne (na przykład, jeśli dane szkoleniowe są wysoce niezrównoważone, ale dane testowe są bardziej zrównoważone), oczywistym podejściem jest próbkowanie danych szkoleniowych w taki sposób, aby ich rozkład klas był taki sam jak dane testowe (przez nadmierne próbkowanie klasy mniejszości i / lub niepełne próbkowanie klasy większości) (Provost, 2000).

Zauważ, że czasami liczba przykładów klasy mniejszości jest zbyt mała, aby klasyfikatorzy mogli się odpowiednio uczyć. Jest to problem niewystarczających (małych) danych szkoleniowych, innych niż w przypadku niezrównoważonych zestawów danych.

Tak więc, jak sugeruje Murphy, nie ma z natury nic problematycznego w stosowaniu niezrównoważonych klas, pod warunkiem, że unikniesz tych trzech błędów. Modele, które dają prawdopodobieństwo późniejsze, ułatwiają uniknięcie błędu (1) niż modele dyskryminujące, takie jak SVM, ponieważ umożliwiają oddzielenie wnioskowania od podejmowania decyzji. (Zobacz Biskup w części 1.5.4 Wnioskowanie i decyzja w celu dalszego omówienia tego ostatniego punktu.)

Mam nadzieję, że to pomaga.

Bill Vander Lugt
źródło
1
Zamierzałem zamieścić coś podobnego. jeden mały komentarz - myślę, że szalenie jest podkreślenie większej klasy. Wyrzuca to twoje dane i na pewno nie zapewni lepszego wyniku. Podoba mi się koncepcja podziału wnioskowania i klasyfikacji. na część wnioskowania nie ma wpływu nierównowaga, ale na podejmowanie decyzji (klasyfikację) może mieć znaczny wpływ.
prawdopodobieństwo
@probabilityislogic (i Bill Vander Lugt): Istnieje inny możliwy problem, który nie został omówiony w tym tekście: czy dyskryminujący Ansatz jest odpowiedni. Nieodpowiednie podejście do modelu dyskryminującego, w którym bardziej odpowiednia byłaby jedna klasa, może również prowadzić do „problemów z nierównowagą klas”.
cbeleites obsługuje Monikę
8

Wszystko, co wymaga optymalizacji w celu zminimalizowania funkcji straty, dostatecznie wypukłe da rozwiązanie, które jest globalnym minimum tej funkcji straty. Mówię „wystarczająco wypukły”, ponieważ głębokie sieci nie są na ogół wypukłe, ale dają rozsądne minimum w praktyce, z ostrożnym wyborem szybkości uczenia się itp.

Dlatego zachowanie takich modeli jest definiowane przez cokolwiek, co umieścimy w funkcji straty.

F

yf=f(x)

FGbFFbG

yg={Bif f(x)>bAotherwise

bG

FGG

Powiedzmy, że mamy funkcję straty, która jest:

L=1Nn=1NIyig(xi)

Ic1c0yiig(xi)i

990.9=89.1990.1=9.910.9=0.910.1=0.1

L=(9.9+0.1)/100=0.1

G1/100

L=0.01

Dziesięć razy mniej niż strata przy ustalaniu progu, aby przypisać równe przywołanie i precyzję każdej klasie.

GG

G

Alternatywnie możemy zmodyfikować zestaw danych, klonując każdy przykład B 99 razy, co spowoduje również, że funkcja straty nie będzie miała minimum na pozycji innej niż nasz wcześniejszy idealny próg.

Hugh Perkins
źródło
4
Czy możesz spróbować uszczegółowić swoją odpowiedź na zadawane pytania? Choć wyraźnie przemyślany, brzmi głównie jako komentarz, a nie odpowiedź. Na przykład dla celów komentowania można argumentować, że stosowanie niewłaściwej reguły oceniania, takiej jak zdefiniowana funkcja straty, jest zasadniczo błędne, a zatem późniejsza analiza jest nieważna.
usεr11852 mówi: Przywróć Monic
G
2
Generalnie się zgadzam; Nie jestem w pełni przekonany o konieczności prawidłowej reguły punktacji, ale z drugiej strony „faktycznym celem” każdego modelu klasyfikacji jest użyteczna prognoza przynależności do klasy, tj. potrzebujesz świadomej funkcji narzędzia. Uważam, że ogólnie na niezrównoważony problemów przypisywania kosztów / gain FP, TPitp jest prawdopodobnie najlepszym sposobem, aby mieć odpowiednią funkcję użytkową; przy braku odpowiedniej wiedzy w tej dziedzinie może to być owłosione. Prawie zawsze używam jako mojego pierwszego wyboru Cohenak, z tego powodu nieco konserwatywny wskaźnik „zgody”.
usεr11852 mówi: Przywróć Monic
Poszukałem „funkcji użytkowej”, ale nic nie wyszło. Czy masz link / referencję? Myślę z kontekstu, że to, co nazywacie „funkcją użytkową”, jest zasadniczo modelemfapowyżej? Modelfajest niezmienny w różnych scenariuszach. Ciekawym pytaniem może być to, czy trenuje się modelsol bezpośrednio, wykorzystując niezrównoważone dane, będzie stanowić model bazowy, prawdopodobnie dorozumiany fa być podobny / identyczny z modelem fa przeszkolony, poprzez model treningowy sol, na zrównoważonych danych?
Hugh Perkins
3
Zakłada to domyślnie (1), że KPI, który próbujemy zmaksymalizować, jest dokładnością, oraz (2), że dokładność jest odpowiednim KPI do oceny modelu klasyfikacji. To nie jest
S. Kolassa - Przywróć Monikę
0

Zauważ, że klasyfikatory jednoklasowe nie mają problemu z nierównowagą, ponieważ patrzą na każdą klasę niezależnie od wszystkich innych klas i mogą poradzić sobie z „nieklasowymi” po prostu nie modelując ich. (Oczywiście mogą mieć problem ze zbyt małą próbką).

Wiele problemów, które byłyby odpowiednio modelowane przez klasyfikatory jednoklasowe, prowadzi do źle zdefiniowanych modeli, gdy stosuje się podejścia dyskryminacyjne, których jednym z objawów są „problemy z nierównowagą klas”.

Jako przykład rozważmy produkt, który może być dobry do sprzedaży lub nie. Taka sytuacja zazwyczaj charakteryzuje się

class         | "good"                        | "not good"
--------------+-------------------------------+------------------------------------------
sample size   | large                         | small
              |                               |
feature space | single, well-delimited region | many possibilities of *something* wrong 
              |                               | (possibly well-defined sub-groups of
              |                               |    particular fault reasons/mechanisms) 
              |                               | => not a well defined region, 
              |                               | spread over large parts of feature space
              |                               |
future cases  | can be expected to end up     | may show up *anywhere* 
              | inside modeled region         | (except in good region)

Zatem klasa „dobra” jest dobrze zdefiniowana, podczas gdy klasa „dobra” jest źle zdefiniowana. Jeśli taką sytuację modeluje dyskryminujący klasyfikator, mamy dwojaki „problem nierównowagi”: nie tylko ma małą próbkę klasy „niezadowalającej”, ale ma nawet mniejszą gęstość próbki (mniej próbek rozłożonych na większa część przestrzeni obiektów).

Ten rodzaj „problemu nierównowagi klas” zniknie, gdy zadanie zostanie modelowane jako rozpoznawanie jednej klasy dobrze zdefiniowanej „dobrej” klasy.

cbeleites obsługuje Monikę
źródło