Kiedy niezrównoważone dane naprawdę stanowią problem w uczeniu maszynowym?

52

Mieliśmy już wiele pytań na temat niezrównoważonych danych podczas korzystania z regresji logistycznej , SVM , drzew decyzyjnych , tworzenia worków i wielu innych podobnych pytań, co sprawia, że ​​jest to bardzo popularny temat! Niestety, każde z pytań wydaje się być specyficzne dla algorytmu i nie znalazłem żadnych ogólnych wskazówek dotyczących postępowania z niezrównoważonymi danymi.

Cytując jedną z odpowiedzi Marca Claesena , dotyczącą niezrównoważonych danych

(...) w dużej mierze zależy od metody uczenia się. Większość podejść ogólnego przeznaczenia ma jeden (lub kilka) sposobów radzenia sobie z tym.

Ale kiedy dokładnie powinniśmy martwić się o niezrównoważone dane? Na jakie algorytmy ma to największy wpływ i które potrafią sobie z tym poradzić? Jakie algorytmy potrzebowałyby nas do zrównoważenia danych? Wiem, że omawianie każdego z algorytmów byłoby niemożliwe na takiej stronie pytań i odpowiedzi, raczej szukam ogólnych wskazówek, kiedy może to stanowić problem.

Tim
źródło
@MatthewDrury dzięki, to interesujące pytanie, ale IMHO ma inny zakres. Pytam o wytyczne, kiedy to naprawdę jest problem. Z pewnością odpowiedź na pytanie dlaczego prowadzi do odpowiedzi na pytanie kiedy , ale szukam dokładnej odpowiedzi na pytanie kiedy .
Tim
9
Słusznie! Jestem z tobą. Wydaje się, że „literatura” dotyczy tego, jak rozwiązać problem, nie zadając sobie trudu, aby przekonać cię, że w rzeczywistości istnieje problem do rozwiązania, a nawet powiedzieć, w jakich sytuacjach problem występuje lub nie. Dla mnie jedna z najbardziej frustrujących części tego tematu.
Matthew Drury
2
@MatthewDrury to jest właśnie problem!
Tim
1
Całkowite badanie metod nie wchodzi w zakres pytania SE. Czy chcesz uściślić pytanie?
AdamO,

Odpowiedzi:

28

Nie jest to bezpośrednia odpowiedź, ale warto zauważyć, że w literaturze statystycznej niektóre uprzedzenia do niezrównoważonych danych mają swoje historyczne korzenie.

Wiele klasycznych modeli jest starannie uproszczonych przy założeniu zrównoważonych danych, szczególnie w przypadku metod takich jak ANOVA, które są ściśle związane z projektowaniem eksperymentalnym - tradycyjna / oryginalna motywacja do opracowywania metod statystycznych.

Ale arytmetyka statystyczna / probabilistyczna staje się dość brzydka, dość szybko, przy niezrównoważonych danych. Przed powszechnym przyjęciem komputerów ręczne obliczenia były tak obszerne, że oszacowanie modeli na niezrównoważonych danych było praktycznie niemożliwe.

Oczywiście komputery w zasadzie sprawiły, że nie było to problemem. Podobnie, możemy oszacować modele na masywnych zestawach danych, rozwiązać problemy optymalizacji wielowymiarowej i wyciągnąć próbki z analitycznie trudnych do obliczenia rozkładów prawdopodobieństw połączeń, z których wszystkie były funkcjonalnie niemożliwe, jak pięćdziesiąt lat temu.

To stary problem, a naukowcy poświęcili dużo czasu na pracę nad tym problemem ... w międzyczasie wiele zastosowanych problemów wyprzedzało / pomijało te badania, ale stare nawyki umierają ciężko ...

Edytuj, aby dodać:

Zdaję sobie sprawę, że nie wyszłam i po prostu to mówię: nie ma problemu z niskim poziomem korzystania z niezrównoważonych danych. Z mojego doświadczenia wynika, że ​​rada „unikania niezrównoważonych danych” dotyczy albo algorytmu, albo odziedziczonej mądrości. Zgadzam się z AdamO, że ogólnie niezrównoważone dane nie stanowią problemu koncepcyjnego dla dokładnie określonego modelu.

Henz
źródło
4
Chociaż wydaje mi się, że rozumiem, w twoich przesłankach brakuje argumentów na ich poparcie. Czy możesz podać kilka argumentów i / lub przykładów na temat uprzedzeń i tego, jak wpłynęło to na uczenie maszynowe?
Tim
1
Natomiast to co mówisz jest prawdą w większości, to jest również przypadek, że podobne metody ANOVA jest bardziej wytrzymała ze zrównoważonych danych nonnormality jest mniejszy problem z wyważonych danych, na przykład. Ale wierzę, że wszystko to jest ortogonalne w stosunku do intencji tego pytania ...
kjetil b halvorsen
7
Zdaję sobie sprawę, że nie wyszłam i po prostu to mówię: nie ma problemu z niskim poziomem korzystania z niezrównoważonych danych. Z mojego doświadczenia wynika, że ​​rada „unikania niezrównoważonych danych” dotyczy albo algorytmu, albo odziedziczonej mądrości. Zgadzam się z AdamO, że ogólnie niezrównoważone dane nie stanowią problemu koncepcyjnego dla dokładnie określonego modelu.
Henry
1
@ M.HenryL. ten komentarz jest wart uzupełnienia twojej odpowiedzi.
Tim
16

WLOG możesz skupić się na nierównowagach w jednym czynniku, zamiast bardziej dopracowanej koncepcji „rzadkości danych” lub liczby małych komórek.

W analizach statystycznych, które nie koncentrują się na nauce, często stwierdzamy, że podobna lub lepsza moc jest zapewniona, gdy wyniki skłonności są dopasowane do mniejszej grupy do większej grupy. Wynika to częściowo z tego, że dopasowywanie służy podobnemu celowi, co korekta myląca pod względem „równoważenia” determinantów członkostwa w grupie, blokując w ten sposób ich mylące skutki. Uzasadnienie liczby czynników zakłócających, które mogą zostać dostosowane w analizie na wielu odmianach, zależy od wielkości próby. Niektóre praktyczne zasady mówią jedną zmienną na każde 10 do 20 obserwacji. W przypadku niezrównoważonych danych naiwnie wierzysz, że twoje dane są wystarczająco duże, ale przy rzadkiej liczbie osób mających rzadszy stan: inflacja wariancji znacznie zmniejsza moc. W rzeczywistości przesadzasz.

Dlatego przynajmniej w regresji (ale podejrzewam we wszystkich okolicznościach), jedynym problemem związanym z niezrównoważonymi danymi jest to, że skutecznie masz małą próbkę . Jeśli jakakolwiek metoda jest odpowiednia dla liczby osób w rzadszej klasie, nie powinno być problemu, jeśli proporcja członków nie jest zrównoważona.

AdamO
źródło
13

Niezrównoważone dane to tylko problem w zależności od aplikacji. Jeśli na przykład twoje dane wskazują, że A zdarza się 99,99% czasu, a 0,01% czasu B dzieje się, a Ty próbujesz przewidzieć określony wynik, Twój algorytm prawdopodobnie zawsze powie „A.” To jest oczywiście poprawne! Jest mało prawdopodobne, aby Twoja metoda uzyskała lepszą dokładność prognozowania niż 99,99%. Jednak w wielu aplikacjach nie interesuje nas tylko poprawność prognozy, ale także dlaczego czasami zdarza się B. W tym miejscu problemem stają się niezrównoważone dane. Ponieważ trudno jest przekonać twoją metodę, że potrafi przewidzieć poprawność powyżej 99,99%. Metoda jest poprawna, ale nie dotyczy twojego pytania. Zatem rozwiązywanie niezrównoważonych danych jest zasadniczo celowym promowaniem danych w celu uzyskania interesujących wyników zamiast dokładnych wyników.

Zasadniczo istnieją trzy przypadki:

  1. jesteś całkowicie zainteresowany dokładnymi prognozami i uważasz, że Twoje dane są reprenstatywne. W tym przypadku nie musisz wcale poprawiać, wygrzewać się w chwale swoich 99,99% trafnych prognoz :).

  2. Jesteś zainteresowany prognozami, ale twoje dane pochodzą z uczciwej próby, ale jakoś straciłeś wiele obserwacji. Jeśli straciłeś obserwacje w zupełnie przypadkowy sposób, nadal masz się dobrze. Jeśli straciłeś je w sposób stronniczy, ale nie wiesz, jak stronniczy, będziesz potrzebować nowych danych. Jeśli jednak te obserwacje zostaną utracone tylko na podstawie jednego charakteru. (na przykład posortowałeś wyniki w A i B, ale nie w żaden inny sposób, ale straciłeś połowę B) Ypu może przeładować twoje dane.

  3. Nie interesują Cię dokładne prognozy globalne, ale tylko w rzadkich przypadkach. W takim przypadku możesz nadmuchać dane tej sprawy, ładując dane lub jeśli masz wystarczającą ilość danych, rzucając dane w innych przypadkach. Zauważ, że to powoduje błąd danych i wyników, a więc szanse i tego rodzaju wyniki są złe!

Zasadniczo zależy to przede wszystkim od celu. Niektóre cele cierpią na niezrównoważone dane, inne nie. Wszystkie ogólne metody przewidywania cierpią z tego powodu, ponieważ w przeciwnym razie przyniosłyby ogólnie fatalne wyniki.

zen
źródło
7
Jak zmienia się ta historia, gdy ewaluujemy nasze modele w sposób probabilistyczny?
Matthew Drury
@MatthewDrury Prawdopodobieństwa z oryginalnego modelu są w większości prawidłowe dla przypadków 1 i 3. Problem polega na tym, że tylko przy bardzo dużych zestawach danych B można poprawnie oddzielić od A, a prawdopodobieństwo B powoli zbliża się do jego rzeczywistej wartości. Wyjątkiem jest to, że jeśli B jest bardzo wyraźnie oddzielone od A lub całkowicie losowo oddzielone od A, prawdopodobieństwa będą odpowiednio prawie natychmiastowe lub nigdy się nie zbiegną.
zen
@zen Raczej nie zgadzam się, że regresja logistyczna jest mniej podatna na zagrożenia. Regresja logistyczna jest dość podatna na nierównowagę danych, powoduje małe odchylenie próby, a iloraz szans logarytmicznych dąży do współczynnika 2. Warunkowa regresja logistyczna jest alternatywą dla oszacowania tych samych OR bez uprzedzeń.
AdamO,
@AdamO Tak Regresja logistyczna jest nadal podatna na ataki. Ale w przypadku drzew małe skrzynki można całkowicie zignorować. nie jest to również tylko mała próbka. nawet dla dużych n i na przykład 80% -20% rozkład między opcjami drzewa mogą nadal wybierać opcję 80%, nawet jeśli ułamek opcji 20% wyraźnie wzrasta przy pewnej zmiennej x. Jeśli zostanie znaleziona nowa, bardziej ekstremalna obserwacja lub jeśli liczba gałęzi będzie za niska dla dowolnego ekstremalnego punktu, drzewo przewidzi opcję 80%, podczas gdy regresja logistyczna będzie mniej prawdopodobne. Masz rację co do warunkowej regresji logistycznej
zen
2
@MatthewDrury Stephen Senn ma doskonałą dyskusję na ten temat w artykule, który często ponownie czytam . Heurystycznie iloraz szans z tabeli 2x2 z wpisami abcd jest szacowany przez ad / (bc) i ma wariancję 1 / a + 1 / b + 1 / c + 1 / d. Możesz próbkować dowolnie kilka przypadków (a i c), a iloraz szans jest nadal obiektywny, ale wariancja dochodzi do nieskończoności. To kwestia precyzji.
AdamO,
8

Załóżmy, że mamy dwie klasy:

  • A , co stanowi 99,99% populacji
  • B , co stanowi 0,01% populacji

Załóżmy, że jesteśmy zainteresowani identyfikacją elementów klasy B, którymi mogą być osoby dotknięte rzadką chorobą lub oszustem.

Wystarczy zgadnąć, że uczący się uzyskaliby wysokie noty za swoje funkcje utraty, a bardzo niewiele nieprawidłowo sklasyfikowanych elementów może nie poruszać się liczbowo igłą (w tym przypadku w stogu siana). Ten przykład przedstawia intuicję stojącą za jedną z „sztuczek” mających na celu złagodzenie problemu nierównowagi klasy: dostosowanie funkcji kosztu.

Wydaje mi się, że niezrównoważone dane stanowią problem, gdy modele wykazują prawie zerową czułość i swoistość. Zobacz przykład w tym artykule w sekcji „ignorowanie problemu” .

Problemy często mają rozwiązanie. Oprócz wspomnianej sztuczki istnieją inne opcje . Jednak mają swoją cenę: wzrost modelu i złożoności obliczeniowej.

Pytanie dotyczy tego, które modele są bardziej podatne na ustalenie czułości zbliżonej do zera i specyficzności zbliżonej do zera. Wydaje mi się, że zależy to od kilku wymiarów:

  • Mniejsza pojemność, jak zwykle.
  • Niektóre funkcje kosztów mogą zmagać się bardziej niż inne: średni błąd kwadratowy (MSE) jest mniej narażony niż Huber - MSE powinien być mniej łagodny w stosunku do nieprawidłowo sklasyfikowanych elementów klasy B.
IcannotFixThis
źródło
1
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ę
5

Jeśli się nad tym zastanowić: na doskonale oddzielnym, wysoce niezrównoważonym zestawie danych prawie każdy algorytm będzie działał bez błędów.

Dlatego jest to bardziej problem szumu w danych i mniej związany z określonym algorytmem. I nie wiesz z góry, który algorytm najlepiej kompensuje jeden konkretny rodzaj szumu.

Na koniec musisz po prostu wypróbować różne metody i zdecydować się na krzyżową weryfikację.

Gerenuk
źródło
Uważam, że ten komentarz jest nieco niedoceniany. Po prostu spędzam trochę czasu, przekonując kogoś, że nierównowaga klasowa nie zawsze stanowi problem.
RDK,
To nie odpowiada na pytanie. W jaki sposób niezbilansowane klasy „bardziej stanowią problem szumu w danych”?
S. Kolassa - Przywróć Monikę
2
@StephanKolassa To odpowiedź, ponieważ mówi, że niezrównoważone dane nie stanowią (bezpośrednio) problemu. Dlatego nie możesz zapytać, jak to jest. W przypadku bardziej ogólnego pytania „jak radzić sobie z problemami z hałasem w analizie danych” odpowiedź brzmi, że jest on specyficzny dla poszczególnych zestawów danych, a wszystko, co możesz zrobić, to skonfigurować sprawdzanie poprawności i wypróbować wszystko, co działa. Jeśli naprawdę chcesz trochę dyskusji, uważam, że ele.uri.edu/faculty/he/PDFfiles/ImbalancedLearning.pdf ma pomysły. Ale w końcu zrobiłbyś próbkowanie / zmianę wagi / progowanie i nie warto wiedzieć, co dokładnie wydarzyło się w tym zestawie danych.
Gerenuk