Uczenie maszynowe w celu przewidywania prawdopodobieństw klasowych

20

Szukam klasyfikatorów, które generują prawdopodobieństwa, że ​​przykłady należą do jednej z dwóch klas.

Znam regresję logistyczną i naiwne Bayesa, ale czy możesz mi powiedzieć o innych, którzy działają w podobny sposób? Czyli klasyfikatory, które przewidują nie klasy, do których należą przykłady, ale prawdopodobieństwo, że przykłady pasują do konkretnej klasy?

Punkty bonusowe za wszelkie przemyślenia na temat zalet i wad różnych klasyfikatorów (w tym regresji logistycznej i naiwnych Bayesa). Na przykład, czy niektóre są lepsze do klasyfikacji wielu klas?

Gyan Veda
źródło

Odpowiedzi:

5

SVM jest ściśle związana z regresją logistyczną i może być również używana do przewidywania prawdopodobieństw w oparciu o odległość do hiperpłaszczyzny (wynik każdego punktu). Robisz to, robiąc w pewien sposób mapowanie wyników -> prawdopodobieństwa, co jest stosunkowo łatwe, ponieważ problem jest jednowymiarowy. Jednym ze sposobów jest dopasowanie krzywej S (np. Krzywej logistycznej lub jej nachylenia) do danych. Innym sposobem jest użycie regresji izotonicznej w celu dopasowania bardziej ogólnej funkcji rozkładu skumulowanego do danych.

Oprócz SVM możesz użyć odpowiedniej funkcji straty dla dowolnej metody, którą możesz dopasować przy użyciu metod opartych na gradiencie, takich jak głębokie sieci.

Przewidywanie prawdopodobieństwa nie jest obecnie brane pod uwagę przy projektowaniu klasyfikatorów. Jest to dodatek, który odwraca uwagę od wyników klasyfikacji, więc jest odrzucany. Możesz jednak użyć dowolnego binarnego klasyfikatora, aby nauczyć się ustalonego zestawu prawdopodobieństw klasyfikacji (np. „P w [0, 1/4] lub [1/4, 1/2] lub…”) za pomocą „ sondowanie "redukcja Langforda i Zadrożnego.

Rauli
źródło
4
„Prognozowanie prawdopodobieństw nie jest obecnie brane pod uwagę przy projektowaniu klasyfikatorów”. Nie jestem pewien, czy było to prawdą w 2013 r., Ale prawie na pewno jest fałszywe w 2018 r.
Matthew Drury
9

Inną możliwością są sieci neuronowe, jeśli użyjesz entropii krzyżowej jako funkcji kosztu w sigmoidalnych jednostkach wyjściowych. To zapewni Ci szacunkowe dane, których szukasz.

Sieci neuronowe, podobnie jak regresja logistyczna, są klasyfikatorami dyskryminującymi, co oznacza, że ​​próbują zmaksymalizować warunkowy rozkład danych treningowych. Asymptotycznie, w limicie nieskończonych próbek, oba szacunki zbliżają się do tego samego limitu.

W tym artykule znajdziesz szczegółową analizę tego właśnie pytania . Pomysł na wynos jest taki, że chociaż model generatywny ma wyższy błąd asymptotyczny, może zbliżyć się do tego błędu asymptotycznego znacznie szybciej niż model dyskryminacyjny. Dlatego wybór jednego zależy od problemu, dostępnych danych i konkretnych wymagań.

Wreszcie, biorąc pod uwagę szacunki prawdopodobieństw warunkowych jako bezwzględny wynik, na podstawie których podejmowane są decyzje (jeśli o to właśnie chodzi), ogólnie nie ma większego sensu. Ważne jest rozważenie, biorąc pod uwagę konkretną próbkę, najlepszych klas kandydujących wyprowadzonych przez klasyfikator i porównanie powiązanych prawdopodobieństw. Jeśli różnica między dwoma najlepszymi wynikami jest wysoka, oznacza to, że klasyfikator jest bardzo pewny swojej odpowiedzi (niekoniecznie słusznej).

jpmuc
źródło
2

Jest ich wiele - a to, co działa najlepiej, zależy od danych. Istnieje również wiele sposobów oszukiwania - na przykład możesz wykonać kalibrację prawdopodobieństwa na wyjściach dowolnego klasyfikatora, który daje pozory wyniku (tj. Iloczyn iloczynu między wektorem masy a wejściem). Najczęstszym tego przykładem jest skalowanie Platta.

Jest także kwestia kształtu modelu bazowego. Jeśli masz interakcje wielomianowe z danymi, wówczas waniliowa regresja logistyczna nie będzie w stanie dobrze jej modelować. Możesz jednak użyć jądrzanej wersji regresji logistycznej, aby model lepiej pasował do danych. Zwykle zwiększa to „dobroć” wyników prawdopodobieństwa, ponieważ poprawiasz również dokładność klasyfikatora.

Ogólnie rzecz biorąc, większość modeli, które podają prawdopodobieństwa, zwykle używa funkcji logistycznej, więc porównanie może być trudne. Po prostu działa dobrze w praktyce, sieci bayesowskie są alternatywą. Naiwny Bayes po prostu przyjmuje zbyt uproszczone założenie, że jego prawdopodobieństwo jest dobre - i można to łatwo zaobserwować na każdym zestawie danych o rozsądnej wielkości.

Ostatecznie zazwyczaj łatwiej jest podnieść jakość oszacowań prawdopodobieństwa, wybierając model, który lepiej reprezentuje dane. W tym sensie nie ma większego znaczenia, skąd bierze się prawdopodobieństwo. Jeśli możesz uzyskać 70% dokładności za pomocą regresji logistycznej i 98% za pomocą SVM - to samo podanie samego prawdopodobieństwa „pełnej pewności” sprawi, że wyniki będą „lepsze” według większości metod punktacji, nawet jeśli tak naprawdę nie są to prawdopodobieństwa (i wtedy możesz wykonać kalibrację, o której wspomniałem wcześniej, dzięki czemu są one rzeczywiście lepsze).

To samo pytanie w kontekście niemożności uzyskania dokładnego klasyfikatora jest bardziej interesujące, ale nie jestem pewien, czy ktoś badał / porównywał w takim scenariuszu.

Raff.Edward
źródło