Czy próg decyzyjny jest hiperparametrem w regresji logistycznej?


13

Przewidywane klasy z (binarnej) regresji logistycznej są określane przy użyciu progu prawdopodobieństwa członkostwa w klasie generowanego przez model. Jak rozumiem, domyślnie używa się zwykle 0,5.

Ale zmiana progu zmieni przewidywane klasyfikacje. Czy to oznacza, że ​​próg jest hiperparametrem? Jeśli tak, dlaczego (na przykład) nie jest możliwe łatwe przeszukiwanie siatki progów za pomocą metody scikit-learn GridSearchCV(tak jak w przypadku parametru regularyzacji C).


1
„Jak rozumiem, domyślnie używa się zwykle 0,5”. Zależy od znaczenia słowa „typowy”. W praktyce nikt nie powinien tego robić.
Matthew Drury


Ściśle mówiąc, nie masz na myśli regresji logistycznej, masz na myśli użycie jednego regresora logistycznego z progiem klasyfikacji binarnej (możesz również wytrenować jeden regresor dla każdej z dwóch klas, z niewielką liczbą losową lub wagą, aby uniknąć ich liniowej zależności).
smci

Odpowiedzi:


12

Próg decyzyjny tworzy kompromis między liczbą przewidywanych pozytywnych wyników a liczbą negatywnych prognoz, ponieważ - tautologicznie, zwiększenie progu decyzyjnego zmniejszy przewidywaną liczbę pozytywnych i zwiększy liczbę negatywnych przewidujesz

Próg decyzyjny nie jest hiperparametrem w sensie strojenia modelu, ponieważ nie zmienia elastyczności modelu.

Sposób, w jaki myślisz o słowie „strojenie” w kontekście progu decyzyjnego, różni się od tego, jak dostrojone są hiperparametry. Zmiana hiperparametrów C i innych modeli zmienia model(np. współczynniki regresji logistycznej będą różne), podczas gdy dostosowanie progu może zrobić tylko dwie rzeczy: wymienić TP na FN i FP na TN. Jednak model pozostaje taki sam, ponieważ nie zmienia to współczynników. (To samo dotyczy modeli, które nie mają współczynników, takich jak losowe lasy: zmiana progu nic nie zmienia w drzewach.) W wąskim znaczeniu masz rację, że znalezienie najlepszego kompromisu między błędami jest „dostrajanie”, ale mylisz się, sądząc, że zmiana progu jest powiązana z hiperparametrami innych modeli w sposób zoptymalizowany przez GridSearchCV.

Innymi słowy, zmiana progu decyzyjnego odzwierciedla z twojej strony wybór liczby fałszywych pozytywów i fałszywych negatywów, które chcesz mieć. Rozważ hipotetyczne, że ustawiłeś próg decyzyjny na całkowicie niewiarygodną wartość, taką jak -1. Wszystkie prawdopodobieństwa są nieujemne, więc przy tym progu przewidzisz „dodatni” dla każdej obserwacji. Z pewnego punktu widzenia jest to świetne, ponieważ twoja fałszywa ujemna stopa wynosi 0,0. Jednak współczynnik fałszywie dodatnich wyników jest również ekstremalny na poziomie 1,0, więc w tym sensie wybór progu na -1 jest okropny.

Idealnym rozwiązaniem jest oczywiście TPR 1,0 i FPR 0,0 i FNR 0,0. Ale zwykle nie jest to możliwe w aplikacjach rzeczywistych, więc pytanie brzmi: „ile FPR jestem gotów zaakceptować za ile TPR?”. I to jest motywacja krzywych.


Dzięki za odpowiedź @Sycorax. Prawie mnie przekonałeś. Ale czy nie możemy sformalizować pomysłu „ile FPR jestem skłonny zaakceptować za ile TPR”? np. przy użyciu macierzy kosztów. Jeśli mamy macierz kosztów, to czy nie byłoby pożądane znalezienie optymalnego progu poprzez dostrajanie, ponieważ dostroiłbyś hiperparametr? Czy jest lepszy sposób na znalezienie optymalnego progu?
Nick

1
CGridSearchCV

@Sycorax Czy próg i przecięcie (warunek polaryzacji) nie robią w zasadzie tego samego? Tzn. Możesz utrzymać próg na stałym poziomie 0,5, ale odpowiednio zmienić punkt przecięcia; to „zmieni model” (jak na twój ostatni komentarz), ale będzie miało identyczny efekt pod względem przewidywań binarnych. Czy to jest poprawne? Jeśli tak, to nie jestem pewien, czy ścisłe rozróżnienie między „zmianą modelu” a „zmianą reguły decyzyjnej” jest w tym przypadku tak znaczące.
ameba mówi Przywróć Monikę

@amoeba To uwaga prowokująca. Będę musiał to rozważyć. Podejrzewam, że twoja sugestia sprowadza się do „utrzymania progu na 0,5 i potraktowania przecięcia jako hiperparametru, który dostroisz”. Nic matematycznie nie powstrzyma cię przed zrobieniem tego, z wyjątkiem obserwacji, że model nie maksymalizuje już swojego prawdopodobieństwa. Ale osiągnięcie MLE może nie być priorytetem w określonym kontekście.
Sycorax mówi Przywróć Monikę

10

Ale zmiana progu zmieni przewidywane klasyfikacje. Czy to oznacza, że ​​próg jest hiperparametrem?

Tak, to trochę. Jest to hiperparametr twojej reguły decyzyjnej , ale nie regresja leżąca u jej podstaw.

Jeśli tak, dlaczego (na przykład) nie jest możliwe łatwe przeszukiwanie siatki progów za pomocą metody GridSearchCV scikit-learn (tak jak w przypadku parametru regularyzacji C).

Jest to błąd projektowy w sklearn. Najlepszą praktyką w przypadku większości scenariuszy klasyfikacji jest dopasowanie modelu bazowego (który przewiduje prawdopodobieństwa) przy użyciu pewnej miary jakości tych prawdopodobieństw (np. Utraty logarytmicznej w regresji logistycznej). Następnie należy dostosować próg decyzyjny dotyczący tych prawdopodobieństw, aby zoptymalizować niektóre cele biznesowe reguły klasyfikacji. Biblioteka powinna ułatwiać optymalizację progu decyzyjnego w oparciu o pewną miarę jakości, ale nie sądzę, że robi to dobrze.

Myślę, że to jedno z miejsc, w których sklearn źle to zrozumiał. Biblioteka zawiera metodę predictdla wszystkich modeli klasyfikacyjnych, dla której ustalono progi 0.5. Ta metoda jest bezużyteczna i zdecydowanie opowiadam się za tym, aby nigdy jej nie wywoływać. Szkoda, że ​​sklearn nie zachęca do lepszego przepływu pracy.


Podzielam również twój sceptycyzm co do predictdomyślnego wyboru metody 0,5 jako granicy, ale GridSearchCVakceptuję scorerobiekty, które mogą dostroić modele w odniesieniu do utraty entropii poza próbą. Czy brakuje mi twojego punktu?
Sycorax mówi Przywróć Monikę

Zgadza się, jest to najlepsza praktyka, ale nie zachęca użytkowników do dostosowania progów decyzyjnych.
Matthew Drury

Gotcha Rozumiem co masz na myśli!
Sycorax mówi Przywróć Monikę

1
@Sycorax próbował edytować, aby wyjaśnić!
Matthew Drury
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.