Czy regresja logistyczna jest w rzeczywistości algorytmem regresji?

11

Zazwyczaj definicja regresji (o ile mi wiadomo) przewiduje ciągłą zmienną wyjściową z danego zestawu zmiennych wejściowych .

Regresja logistyczna jest algorytmem klasyfikacji binarnej, więc daje wyniki jakościowe.

Czy to naprawdę algorytm regresji? Jeśli tak, to dlaczego?

joews
źródło

Odpowiedzi:

23

Regresja logistyczna to przede wszystkim regresja. Staje się klasyfikatorem poprzez dodanie reguły decyzyjnej. Podam przykład, który sięga wstecz. Oznacza to, że zamiast brać dane i dopasowywać model, zacznę od modelu, aby pokazać, jak to naprawdę jest problem regresji.

W regresji logistycznej modelujemy iloraz szans lub logit, że wystąpi zdarzenie, które jest ciągłą wielkością. Jeżeli prawdopodobieństwo wystąpienia zdarzenia wynosi , szanse są następujące:ZAP.(ZA)

P.(ZA)1-P.(ZA)

Szanse w dzienniku wynoszą zatem:

log(P.(ZA)1-P.(ZA))

Podobnie jak w regresji liniowej, modelujemy to za pomocą liniowej kombinacji współczynników i predyktorów:

logit=b0+b1x1+b2)x2)+

Wyobraź sobie, że otrzymujemy model tego, czy dana osoba ma siwe włosy. Nasz model używa wieku jako jedynego predyktora. Tutaj nasze wydarzenie A = osoba ma siwe włosy:

dzienne szanse na siwe włosy = -10 + 0,25 * wiek

...Regresja! Oto trochę kodu Python i wykres:

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

x = np.linspace(0, 100, 100)

def log_odds(x):
    return -10 + .25 * x

plt.plot(x, log_odds(x))
plt.xlabel("age")
plt.ylabel("log odds of gray hair")

wykres logarytmicznych szans dla naszego przykładu z zabawkami

Teraz zróbmy z niego klasyfikator. Najpierw musimy przekształcić logarytmiczne szanse, aby uzyskać nasze prawdopodobieństwo . Możemy użyć funkcji sigmoidalnej:P.(ZA)

P.(ZA)=11+exp(-zaloguj kursy))

Oto kod:

plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")

wykres prawdopodobieństwa siwych włosów dla naszego przykładu zabawki

Ostatnią rzeczą, którą musimy uczynić z tego klasyfikatora, jest dodanie reguły decyzyjnej. Jedną z bardzo powszechnych zasad jest klasyfikowanie sukcesu za każdym razem, gdy . Przyjmiemy tę zasadę, co oznacza, że ​​nasz klasyfikator będzie przewidywał siwe włosy za każdym razem, gdy dana osoba ma więcej niż 40 lat, i będzie przewidywać włosy siwe, gdy dana osoba ma mniej niż 40 lat.P.(ZA)>0,5

Regresja logistyczna działa również świetnie jako klasyfikator w bardziej realistycznych przykładach, ale zanim będzie klasyfikatorem, musi być techniką regresji!

Ben
źródło
Chociaż w praktyce ludzie używają regresji logistycznej jako synonimu regresji logistycznej + klasyfikatora binarnego.
jinawee
10

Krótka odpowiedź

Tak, regresja logistyczna jest algorytmem regresji i przewiduje ciągły wynik: prawdopodobieństwo zdarzenia. To, że używamy go jako binarnego klasyfikatora, wynika z interpretacji wyniku.

Szczegół

Regresja logistyczna jest rodzajem uogólnionego modelu regresji liniowej.

W zwykłym modelu regresji liniowej wynik ciągły yjest modelowany jako suma iloczynu predyktorów i ich efektu:

y = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e

gdzie ejest błąd.

Uogólnione modele liniowe nie modelują ybezpośrednio. Zamiast tego używają transformacji, aby rozszerzyć domenę yna wszystkie liczby rzeczywiste. Ta transformacja nazywa się funkcją link. W przypadku regresji logistycznej funkcją łącza jest funkcja logit (zazwyczaj patrz uwaga poniżej).

Funkcja logowania jest zdefiniowana jako

ln(y/(1 + y))

Formą regresji logistycznej jest zatem:

ln(y/(1 + y)) = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e

gdzie yjest prawdopodobieństwo zdarzenia.

Fakt, że używamy go jako binarnego klasyfikatora, wynika z interpretacji wyniku.

Uwaga: probit to kolejna funkcja łącza używana do regresji logistycznej, ale najczęściej używana jest logit.

Christopher Louden
źródło
1

W trakcie dyskusji definicja regresji przewiduje zmienną ciągłą. Regresja logistyczna jest klasyfikatorem binarnym. Regresja logistyczna to zastosowanie funkcji logit na wyjściu zwykłego podejścia regresyjnego. Funkcja Logit zmienia się (-inf, + inf) na [0,1]. Myślę, że to właśnie z powodów historycznych zachowało to imię.

Mówiąc coś w stylu „Zrobiłem regresję, aby sklasyfikować obrazy. W szczególności użyłem regresji logistycznej”. jest źle.

iliasfl
źródło
2
Regresję logistyczną można wykorzystać jako binarny klasyfikator, ale nie jest to z natury jeden. Możesz użyć go do oszacowania szans lub określenia związku zmiennej predykcyjnej z wynikiem.
MattBagg,
0

fafa:XRP.(Y=1|λ,x)=11+mi-λT.x[0,1]λxsjasoln(P.(Y=1|λ,x))

Pan Sigma.
źródło