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 .
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ą.
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ć.
poor choice of loss function
do mojej listy. Czy uważasz, że tak jest nawet w przypadku prawidłowych zasad punktacji jako funkcji straty?