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ć.
źródło
poor choice of loss function
do mojej listy. Czy uważasz, że tak jest nawet w przypadku prawidłowych zasad punktacji jako funkcji straty?Odpowiedzi:
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:
Autorzy wyjaśniają:
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.
źródło
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.
Powiedzmy, że mamy funkcję straty, która jest:
Dziesięć razy mniej niż strata przy ustalaniu progu, aby przypisać równe przywołanie i precyzję każdej klasie.
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.
źródło
FP
,TP
itp 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 CohenaZauważ, ż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ę
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.
źródło