Regresja logistyczna to model do klasyfikacji binarnej. Łączy cechy wejściowe w wynik liniowy, przepuszcza ten wynik przez funkcję sigmoidalną i daje liczbę między 00 a 11, którą w dopasowanym modelu interpretuje się jako oszacowane prawdopodobieństwo klasy pozytywnej.

Mimo nazwy regresja logistyczna jest zwykle używana do rozstrzygania między dwiema klasami, takimi jak zaliczenie/niezaliczenie, spam/nie spam czy niewypłacalność/brak niewypłacalności. Słowo „regresja” odnosi się do liniowego wzoru wewnątrz modelu, a nie do przewidywania ciągłej wartości wyjściowej.

Wzór regresji logistycznej w skrócie

Binarna regresja logistyczna używa zależności

p(y=1x)=σ(z),z=β0+β1x1++βnxnp(y=1 \mid x) = \sigma(z), \qquad z = \beta_0 + \beta_1 x_1 + \cdots + \beta_n x_n

z funkcją sigmoidalną

σ(z)=11+ez\sigma(z) = \frac{1}{1 + e^{-z}}

Część liniowa zz może być dowolną liczbą rzeczywistą. Funkcja sigmoidalna ściska tę wartość do przedziału (0,1)(0,1), dlatego wynik można wykorzystać jako oszacowanie prawdopodobieństwa.

Dlaczego funkcja sigmoidalna jest ważna

Gdyby użyć surowego wyniku liniowego zz jako prawdopodobieństwa, można by otrzymać niemożliwe wartości, takie jak 1.71.7 albo 0.4-0.4. Funkcja sigmoidalna naprawia ten problem, odwzorowując duże ujemne wyniki na wartości bliskie 00, duże dodatnie wyniki na wartości bliskie 11, a wyniki bliskie 00 na wartości bliskie 0.50.5.

Daje to praktyczną interpretację:

  • jeśli zz jest bardzo ujemne, model skłania się ku klasie 00
  • jeśli zz jest bliskie 00, model jest niepewny
  • jeśli zz jest bardzo dodatnie, model skłania się ku klasie 11

Krzywa jest najbardziej stroma w pobliżu z=0z=0. To znaczy, że mała zmiana wyniku może mocno zmienić prawdopodobieństwo w okolicy 0.50.5, ale znacznie mniej wtedy, gdy prawdopodobieństwo jest już bliskie 00 albo 11.

Przykład regresji logistycznej krok po kroku

Załóżmy, że model używa jednej cechy xx i ma postać

z=7+0.1xz = -7 + 0.1x

Możesz myśleć o xx jako o wyniku testu, a o y=1y=1 jako o „zaliczeniu”. Współczynniki są tu tylko przykładem pokazującym mechanikę działania.

Jeśli x=65x = 65, to

z=7+0.1(65)=0.5z = -7 + 0.1(65) = -0.5

Zatem przewidywane prawdopodobieństwo wynosi

p(y=1x=65)=σ(0.5)=11+e0.50.378p(y=1 \mid x=65) = \sigma(-0.5) = \frac{1}{1 + e^{0.5}} \approx 0.378

Jeśli x=80x = 80, to

z=7+0.1(80)=1z = -7 + 0.1(80) = 1

oraz

p(y=1x=80)=σ(1)=11+e10.731p(y=1 \mid x=80) = \sigma(1) = \frac{1}{1 + e^{-1}} \approx 0.731

Ten sam model daje więc około 37.8%37.8\% szans na zaliczenie przy x=65x=65 i około 73.1%73.1\% przy x=80x=80. Wynik wzrósł o 1.51.5, ale końcowa wartość nadal pozostała między 00 a 11, ponieważ funkcja sigmoidalna wygina wynik do postaci prawdopodobieństwa.

Jeśli teraz wybierzesz próg 0.50.5, pierwszy przypadek zostanie sklasyfikowany jako klasa 00, a drugi jako klasa 11. Ten ostatni krok zależy od progu. Samo oszacowanie prawdopodobieństwa już nie.

Przydatny skrót myślowy: przy progu 0.50.5 klasa zmienia się dokładnie wtedy, gdy z=0z=0, ponieważ σ(0)=0.5\sigma(0)=0.5.

Jak regresja logistyczna staje się klasyfikatorem

Wynik modelu jest oszacowaniem prawdopodobieństwa. Regułę klasyfikacji dodaje się dopiero później.

Na przykład przy progu 0.50.5:

  • przewiduj klasę 11, jeśli p(y=1x)0.5p(y=1 \mid x) \ge 0.5
  • przewiduj klasę 00, jeśli p(y=1x)<0.5p(y=1 \mid x) < 0.5

Ale 0.50.5 nie zawsze jest właściwym progiem. Jeśli fałszywie dodatnie i fałszywie ujemne wyniki mają różne koszty albo klasy są silnie niezrównoważone, lepszy może być inny próg.

Co oznaczają współczynniki

Znak współczynnika mówi o kierunku wpływu na wynik liniowy zz:

  • jeśli βi>0\beta_i > 0, zwiększenie xix_i podnosi zz i zwykle zwiększa p(y=1x)p(y=1 \mid x)
  • jeśli βi<0\beta_i < 0, zwiększenie xix_i obniża zz i zwykle zmniejsza p(y=1x)p(y=1 \mid x)

Ta część jest prosta. Bardziej subtelne jest to, że prawdopodobieństwo nie zmienia się liniowo wraz z cechą, ponieważ krzywa sigmoidalna nie jest linią prostą.

W standardowej regresji logistycznej model liniowy działa na skali logarytmu ilorazu szans:

log(p1p)=β0+β1x1++βnxn\log\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 x_1 + \cdots + \beta_n x_n

Oznacza to, że wzrost cechy o jedną jednostkę liniowo zmienia logarytm ilorazu szans, gdy pozostałe cechy są utrzymywane na stałym poziomie. To bardziej precyzyjne niż stwierdzenie, że prawdopodobieństwo zmienia się o stałą wartość.

Częste błędy w regresji logistycznej

Traktowanie wyniku jako pewnej klasy

Przewidywanie takie jak 0.730.73 nie oznacza, że zdarzenie na pewno zajdzie. Oznacza, że model przypisuje temu wejściu około 73%73\% oszacowanego prawdopodobieństwa klasy pozytywnej.

Założenie, że próg musi wynosić 0.50.5

0.50.5 jest częste, ale to wybór, a nie prawo. Najlepszy próg zależy od zastosowania.

Myślenie, że prawdopodobieństwo zmienia się liniowo

Wynik zz jest liniowy względem danych wejściowych, ale prawdopodobieństwo już nie. Zmiana cechy o jedną jednostkę może mieć inny efekt w pobliżu p=0.5p=0.5 niż w pobliżu p=0.95p=0.95.

Zapominanie, że model jest binarny, chyba że zostanie rozszerzony

Podstawowa regresja logistyczna obsługuje dwie klasy. Istnieją wersje wieloklasowe, ale są to rozszerzenia, a nie ten sam binarny układ zapisany inaczej.

Kiedy stosuje się regresję logistyczną

Regresję logistyczną często stosuje się wtedy, gdy zmienna docelowa ma postać tak/nie, na przykład przy wykrywaniu spamu, obecności choroby, odejściu klienta, niewypłacalności kredytu albo wynikach zaliczenie/niezaliczenie.

Model ten pozostaje popularny, ponieważ jest prosty, szybki i dość łatwy do interpretacji. Jest szczególnie przydatny, gdy chcesz mieć klasyfikator bazowy, gdy zbiór danych nie jest bardzo duży albo gdy potrzebujesz oszacowanych prawdopodobieństw, a nie tylko twardych etykiet.

Prosty sposób, by to sobie wyobrazić

Pomyśl o regresji logistycznej jak o maszynie działającej w dwóch krokach:

  1. Zsumuj dowody w postaci wyniku liniowego.
  2. Zamień ten wynik na prawdopodobieństwo za pomocą funkcji sigmoidalnej.

Taki obraz wystarcza, by zrozumieć większość przykładów wprowadzających i zobaczyć, dlaczego regresja logistyczna leży na styku modeli liniowych i zadań klasyfikacyjnych.

Spróbuj podobnego zadania z regresji logistycznej

Wybierz prosty wynik, na przykład

z=3+0.5xz = -3 + 0.5x

Oblicz σ(z)\sigma(z) dla kilku wartości xx, takich jak 22, 66 i 1010. Zobacz, jak wynik liniowy zmienia się równomiernie, podczas gdy prawdopodobieństwo wygina się w krzywą w kształcie litery S. Następnie wypróbuj inny próg i sprawdź, kiedy zmienia się przewidywana klasa.

Potrzebujesz pomocy z zadaniem?

Prześlij pytanie i otrzymaj zweryfikowane rozwiązanie krok po kroku w kilka sekund.

Otwórz GPAI Solver →