Przeżuwając regresję logistyczną

Przeżuwając regresję logistyczną

W tym artykule omówimy teoretyczne podstawy transformacji funkcji regresji liniowej do funkcji odwrotnej logit-transformacji (inaczej nazywanej funkcją logistycznej odpowiedzi). Następnie, posługując się zasobami metody największej wiarygodności, zgodnie z modelem regresji logistycznej, wyprowadzimy funkcję straty Logistic Loss, innymi słowy, określimy funkcję, na podstawie której w modelu regresji logistycznej dobiera się parametry wektora wag Przeżuwając regresję logistyczną.

Plan artykułu:

  1. Przypomnimy o liniowej zależności między dwiema zmiennymi
  2. Ujawnimy potrzebę transformacji funkcji regresji liniowej Przeżuwając regresję logistyczną do funkcji logistycznej odpowiedzi Przeżuwając regresję logistyczną
  3. Przeprowadzimy transformacje i wyprowadzimy funkcji logistycznej odpowiedzi
  4. Postaramy się zrozumieć, dlaczego metoda najmniejszych kwadratów jest niewłaściwa przy dopasowywaniu parametrów Przeżuwając regresję logistyczną funkcje Logistic Loss
  5. Używamy metoda największej wiarygodności określenie funkcji dopasowywania parametrów Przeżuwając regresję logistyczną:

    5.1. Przypadek 1: funkcja Logistic Loss dla obiektów z oznaczeniem klas 0 i 1:

    Przeżuwając regresję logistyczną

    5.2. Przypadek 2: funkcja Logistic Loss dla obiektów z oznaczeniem klas -1 i +1:

    Przeżuwając regresję logistyczną


Artykuł obfituje w proste przykłady, w których wszystkie obliczenia można łatwo wykonać ustnie lub na papierze, w niektórych przypadkach może być potrzebny kalkulator. Przygotuj się 🙂

Artykuł ten przeznaczony jest w większym stopniu dla data scientistów z podstawową wiedzą na temat podstaw uczenia maszynowego.

W artykule znajdziesz również kod do rysowania wykresów i obliczeń. Cały kod napisany jest w języku python 2.7. Z góry wyjaśnię o 'nowości' używanej wersji — to jedno z warunków przejścia znanego kursu od Yandeksu na równie znanej platformie edukacji online Coursera, a jak można się domyślić, materiał został przygotowany na podstawie tego kursu.

01. Liniowa zależność

Zasadniczo można zadać pytanie — co mają wspólnego liniowa zależność i regresja logistyczna?

To proste! Regresja logistyczna jest jednym z modeli, które należą do klasyfikatorów liniowych. Mówiąc prościej, zadaniem klasyfikatora liniowego jest przewidywanie wartości docelowych Przeżuwając regresję logistyczną na podstawie zmiennych (regresorów) Przeżuwając regresję logistyczną. Przyjmuje się, że zależność między cechami Przeżuwając regresję logistyczną a wartościami docelowymi Przeżuwając regresję logistyczną jest liniowa. Stąd właśnie nazwa klasyfikatora — liniowy. Jeśli bardzo ogólnie podsumować, to w podstawie modelu regresji logistycznej leży założenie o istnieniu liniowej zależności między cechami Przeżuwając regresję logistyczną a wartościami docelowymi Przeżuwając regresję logistyczną. Oto ona — zależność.

W studiu mamy pierwszy przykład, który, rzecz jasna, dotyczy liniowej zależności badanych wielkości. Podczas pisania artykułu natknąłem się na przykład, który stał się już dla wielu znany — zależność natężenia prądu od napięcia. ('Analiza regresji praktycznej', N. Draper, G. Smith). Zajmiemy się nim również tutaj.

Zgodnie z zgodnie z prawem Ohma:

Przeżuwając regresję logistyczną, gdzie Przeżuwając regresję logistyczną — natężenie prądu, Przeżuwając regresję logistyczną — napięcie, Przeżuwając regresję logistyczną — oporność.

Gdybyśmy nie znali prawa Ohma, moglibyśmy znaleźć zależność empirycznie, zmieniając Przeżuwając regresję logistyczną i mierząc Przeżuwając regresję logistyczną, przy czym Przeżuwając regresję logistyczną pozostawałoby stałe. Wówczas zobaczylibyśmy, że wykres zależności Przeżuwając regresję logistyczną od Przeżuwając regresję logistyczną tworzy mniej lub bardziej prostą linię przechodzącą przez początek układu współrzędnych. Powiedzieliśmy 'mniej lub bardziej', ponieważ, choć zależność jest faktycznie precyzyjna, nasze pomiary mogą zawierać małe błędy, dlatego punkty na wykresie mogą nie znaleźć się dokładnie na linii, ale będą losowo rozrzucone wokół niej.

Wykres 1 'Zależność Przeżuwając regresję logistyczną od Przeżuwając regresję logistyczną»

Przeżuwając regresję logistyczną

Kod do rysowania wykresu

import matplotlib.pyplot as plt
%matplotlib inline

import numpy as np

import random

R = 13.75

x_line = np.arange(0,220,1)
y_line = []
for i in x_line:
    y_line.append(i/R)
    
y_dot = []
for i in y_line:
    y_dot.append(i + random.uniform(-0.9, 0.9))


fig, axes = plt.subplots(figsize=(14,6), dpi=80)
plt.plot(x_line, y_line, color='purple', lw=3, label='I = U/R')
plt.scatter(x_line, y_dot, color='red', label='Rzeczywiste wyniki')
plt.xlabel('I', size=16)
plt.ylabel('U', size=16)
plt.legend(prop={'size': 14})
plt.show()

02. Konieczność przekształceń równania regresji liniowej

Rozważmy kolejny przykład. Załóżmy, że pracujemy w banku i mamy zadanie określić prawdopodobieństwo zwrotu kredytu przez pożyczkobiorcę w zależności od kilku czynników. Aby uprościć zadanie, rozważmy tylko dwa czynniki: miesięczną pensję pożyczkobiorcy oraz miesięczną kwotę płatności na spłatę kredytu.

Zadanie jest bardzo umowne, ale na tym przykładzie będziemy mogli zrozumieć, dlaczego do jego rozwiązania nie wystarczy zastosowanie funkcji regresji liniowej, a także dowiemy się, jakie przekształcenia funkcji są wymagane.

Wracając do przykładu. Jasne jest, że im wyższa pensja, tym więcej kredytobiorca będzie mógł miesięcznie przeznaczyć na spłatę kredytu. Przy tym, dla określonego przedziału wynagrodzeń, ta zależność będzie całkowicie liniowa. Weźmy na przykład przedział wynagrodzeń od 60 000 PLN do 200 000 PLN i załóżmy, że w tym przedziale wynagrodzeń, zależność wysokości miesięcznej raty od wysokości wynagrodzenia jest liniowa. Załóżmy, że dla podanego przedziału wysokości wynagrodzeń ustalono, że stosunek wynagrodzenia do płatności nie może być niższy niż 3, a kredytobiorca powinien mieć jeszcze 5 000 PLN w zapasie. I tylko w takim przypadku uznamy, że kredytobiorca spłaci kredyt bankowi. Wtedy równanie regresji liniowej przyjmie postać:

Przeżuwając regresję logistyczną

gdzie Przeżuwając regresję logistyczną, Przeżuwając regresję logistyczną, Przeżuwając regresję logistyczną, Przeżuwając regresję logistycznąwynagrodzenie Przeżuwając regresję logistyczną-go kredytobiorcy, Przeżuwając regresję logistycznąpłatność kredytu Przeżuwając regresję logistyczną-go kredytobiorcy.

Podstawiając do równania wynagrodzenie i płatność kredytu z ustalonymi parametrami Przeżuwając regresję logistyczną można podjąć decyzję o przyznaniu lub odmowie kredytu.

Na wstępie warto zauważyć, że przy danych parametrach Przeżuwając regresję logistyczną funkcja regresji liniowej, stosowana w funkcji logistycznego odpowiedzi będzie wydawać wysokie wartości, które utrudnią przeprowadzanie obliczeń w celu określenia prawdopodobieństw spłaty kredytu. Dlatego proponuje się zmniejszyć nasze współczynniki, powiedzmy, 25 000 razy. Z tej transformacji w współczynnikach nie zmieni się decyzja o przyznaniu kredytu. Zapamiętajmy ten moment na przyszłość, a teraz, aby było jeszcze jaśniej, o czym mowa, rozważmy sytuację z trzema potencjalnymi kredytobiorcami.

Tabela 1 „Potencjalni kredytobiorcy”

Przeżuwając regresję logistyczną

Kod do tworzenia tabeli

import pandas as pd

r = 25000.0
w_0 = -5000.0/r
w_1 = 1.0/r
w_2 = -3.0/r

data = {'Kredytobiorca':np.array(['Wania', 'Fedya', 'Lesha']), 
        'Wynagrodzenie':np.array([120000,180000,210000]),
       'Płatność':np.array([3000,50000,70000])}

df = pd.DataFrame(data)

df['f(w,x)'] = w_0 + df['Wynagrodzenie']*w_1 + df['Płatność']*w_2

decyzja = []
for i in df['f(w,x)']:
    if i > 0:
        dec = 'Zatwierdzone'
        decyzja.append(dec)
    else:
        dec = 'Odmowa'
        decyzja.append(dec)
        
df['Decyzja'] = decyzja

df[['Kredytobiorca', 'Wynagrodzenie', 'Płatność', 'f(w,x)', 'Decyzja']]

Zgodnie z danymi w tabeli, Wania przy wynagrodzeniu 120 000 PLN chce uzyskać kredyt, którego miesięczną spłatę wynosi 3 000 PLN. Określiliśmy, że dla zatwierdzenia kredytu, wysokość wynagrodzenia Wani musi przekraczać trzykrotność płatności, a ponadto powinno zostać 5 000 PLN. Wania spełnia to wymaganie: Przeżuwając regresję logistycznąZostaje nawet 106.000 zł. Mimo że przy obliczeniach Przeżuwając regresję logistyczną zmniejszyliśmy współczynniki Przeżuwając regresję logistyczną w 25.000 razy, otrzymaliśmy ten sam wynik – kredyt może zostać zatwierdzony. Fedya również otrzyma kredyt, natomiast Leszy, mimo że zarabia najwięcej, będzie musiał ograniczyć swoje apetyt.

Narysujmy wykres w takim przypadku.

Wykres 2 „Klasyfikacja kredytobiorców”

Przeżuwając regresję logistyczną

Kod do rysowania wykresu

salary = np.arange(60000,240000,20000)
payment = (-w_0-w_1*salary)/w_2


fig, axes = plt.subplots(figsize=(14,6), dpi=80)
plt.plot(salary, payment, color='grey', lw=2, label='$f(w,x_i)=w_0 + w_1x_{i1} + w_2x_{i2}$')
plt.plot(df[df['Decision'] == 'Approved']['Salary'], df[df['Decision'] == 'Approved']['Payment'], 
         'o', color='green', markersize=12, label='Decyzja - Kredyt zatwierdzony')
plt.plot(df[df['Decision'] == 'Refusal']['Salary'], df[df['Decision'] == 'Refusal']['Payment'], 
         's', color='red', markersize=12, label='Decyzja - Kredyt odmówiony')
plt.xlabel('Wynagrodzenie', size=16)
plt.ylabel('Płatność', size=16)
plt.legend(prop={'size':14})
plt.show()

Zatem nasza prosta, zbudowana zgodnie z funkcją Przeżuwając regresję logistyczną, oddziela „złych” kredytobiorców od „dobrych”. Kredytobiorcy, których życzenia nie zgadzają się z możliwościami, znajdują się powyżej prostej (Lesza), ci, którzy są w stanie, według parametrów naszego modelu, spłacić kredyt, są poniżej prostej (Wania i Fedya). Można to powiedzieć tak — nasza prosta dzieli kredytobiorców na dwa klasy. Oznaczmy je następująco: do klasy Przeżuwając regresję logistyczną przypiszemy tych kredytobiorców, którzy najprawdopodobniej spłacą kredyt, do klasy Przeżuwając regresję logistyczną lub Przeżuwając regresję logistyczną przypiszemy tych kredytobiorców, którzy najprawdopodobniej nie będą w stanie spłacić kredytu.

Podsumujmy wnioski z tego prostego przykładu. Weźmy punkt Przeżuwając regresję logistyczną i, podstawiając współrzędne punktu do odpowiedniego równania prostej Przeżuwając regresję logistyczną, rozważmy trzy opcje:

  1. Jeśli punkt znajduje się poniżej prostej, i przypisujemy go do klasy Przeżuwając regresję logistyczną, to wartość funkcji Przeżuwając regresję logistyczną będzie dodatnia od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną. Oznacza to, że możemy uznać, iż prawdopodobieństwo spłaty kredytu znajduje się w granicach Przeżuwając regresję logistyczną. Im większa wartość funkcji, tym wyższe prawdopodobieństwo.
  2. Jeśli punkt znajduje się powyżej prostej i przypisujemy go do klasy Przeżuwając regresję logistyczną lub Przeżuwając regresję logistyczną, to wartość funkcji będzie ujemna od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną. Wówczas uznamy, że prawdopodobieństwo spłaty zadłużenia znajduje się w granicach Przeżuwając regresję logistyczną i im większa wartość funkcji w module, tym większa nasza pewność.
  3. Punkt znajduje się na prostej, na granicy między dwoma klasami. W takim przypadku wartość funkcji Przeżuwając regresję logistyczną będzie równa Przeżuwając regresję logistyczną i prawdopodobieństwo spłaty kredytu wynosi Przeżuwając regresję logistyczną.

Teraz wyobraźmy sobie, że mamy nie dwa czynniki, a dziesiątki, nie trzech kredytobiorców, a tysiące. Wtedy zamiast prostej mamy m-мерna płaszczyzna i współczynniki Przeżuwając regresję logistyczną będą brane nie z powietrza, lecz wyprowadzone zgodnie z zasadami, na podstawie zgromadzonych danych o pożyczkobiorcach, którzy zwrócili lub nie zwrócili kredytu. Rzeczywiście, zauważcie, obecnie wybieramy pożyczkobiorców przy już znanych współczynnikach Przeżuwając regresję logistyczną. W rzeczywistości zadaniem modelu regresji logistycznej jest właśnie określenie parametrów Przeżuwając regresję logistyczną, przy których wartość funkcji strat Logistic Loss będzie dążyć do minimum. Ale o tym, jak oblicza się wektor Przeżuwając regresję logistyczną, dowiemy się w piątej części artykułu. A na razie wracamy do obiecanej ziemi — do naszego bankiera i trzech jego klientów.

Dzięki funkcji Przeżuwając regresję logistyczną wiemy, komu można dać kredyt, a komu należy odmówić. Ale z taką informacją nie można iść do dyrektora, ponieważ chciano od nas uzyskać prawdopodobieństwo zwrotu kredytu przez każdego pożyczkobiorcę. Co robić? Odpowiedź jest prosta — musimy jakoś przekształcić funkcję Przeżuwając regresję logistyczną, której wartości leżą w zakresie Przeżuwając regresję logistyczną na funkcję, której wartości będą leżały w zakresie Przeżuwając regresję logistyczną. Taka funkcja istnieje, nazywa się funkcją odpowiedzi logistycznej lub odwrotną transformacją logit. Oto ona:

Przeżuwając regresję logistyczną

Zobaczmy krok po kroku, jak uzyskuje się funkcję odpowiedzi logistycznej. Zauważmy, że będziemy się cofać, to znaczy założymy, że znamy wartość prawdopodobieństwa, które leży w przedziale od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną i potem będziemy "rozkręcać" tę wartość na cały zakres liczb od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną.

03. Wyprowadzamy funkcję odpowiedzi logistycznej

Krok 1. Przekształcimy wartości prawdopodobieństwa w zakres Przeżuwając regresję logistyczną

Na czas transformacji funkcji Przeżuwając regresję logistyczną do funkcji logistycznej odpowiedzi Przeżuwając regresję logistyczną zostawimy w spokoju naszego analityka kredytowego, a zamiast tego przejdziemy się do biur bukmacherskich. Nie, oczywiście, nie będziemy obstawiać, wszystko, co nas tam interesuje, to sens wyrażenia, na przykład szansa 4 do 1. Szanse, znane wszystkim grającym w zakłady graczom, są stosunkiem "sukcesów" do "porażek". Z perspektywy prawdopodobieństw, szanse to prawdopodobieństwo zajścia zdarzenia podzielone przez prawdopodobieństwo, że zdarzenie się nie wydarzy. Zapiszmy wzór na szansę zajścia zdarzenia Przeżuwając regresję logistyczną:

Przeżuwając regresję logistyczną

, gdzie Przeżuwając regresję logistyczną — prawdopodobieństwo zajścia zdarzenia, Przeżuwając regresję logistyczną — prawdopodobieństwo NIE zajścia zdarzenia

Na przykład, jeśli prawdopodobieństwo, że młody, silny i szybki koń o przydomku „Wiatraczek” pokona na wyścigach starą i zwiotczałą staruszkę o imieniu „Matylda”, wynosi Przeżuwając regresję logistyczną, więc szanse sukcesu „Wietrzyka” wyniosą Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną Przeżuwając regresję logistyczną i odwrotnie, znając szanse, łatwo obliczymy prawdopodobieństwo Przeżuwając regresję logistyczną:

Przeżuwając regresję logistyczną

W ten sposób nauczyliśmy się „tłumaczyć” prawdopodobieństwo na szanse, które przyjmują wartości od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną. Zróbmy kolejny krok i nauczmy się „tłumaczyć” prawdopodobieństwo na całą prostą liczbową od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną.

Krok 2. Przetłumaczymy wartości prawdopodobieństwa na zakres Przeżuwając regresję logistyczną

Krok ten jest bardzo prosty – przelogarytmujemy szanse przy podstawie liczby Eulera Przeżuwając regresję logistyczną i otrzymamy:

Przeżuwając regresję logistyczną

Teraz wiemy, że jeśli Przeżuwając regresję logistyczną, to obliczenie wartości Przeżuwając regresję logistyczną będzie bardzo proste, a co więcej, powinno być dodatnie: Przeżuwając regresję logistyczną. I tak jest.

Dla ciekawości sprawdźmy, co się stanie, jeśli Przeżuwając regresję logistyczną, wtedy oczekujemy uzyskać wartość ujemną Przeżuwając regresję logistyczną. Sprawdzamy: Przeżuwając regresję logistyczną. Zgadza się.

Teraz wiemy, jak przetłumaczyć wartość prawdopodobieństwa od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną na całą prostą liczbową od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną. W następnym kroku zrobimy odwrotnie.

A tymczasem zauważmy, że zgodnie z zasadami logarytmowania, znając wartość funkcji Przeżuwając regresję logistyczną, można obliczyć szanse:

Przeżuwając regresję logistyczną

Ta metoda określania szans przyda nam się w następnym kroku.

Krok 3. Wyprowadzimy wzór do obliczenia Przeżuwając regresję logistyczną

Zatem nauczyliśmy się, znając Przeżuwając regresję logistyczną, znajdować wartości funkcji Przeżuwając regresję logistyczną. Jednak w rzeczywistości potrzebujemy rzeczy odwrotnej – znając wartość Przeżuwając regresję logistyczną znajdować Przeżuwając regresję logistyczną. W tym celu odwołamy się do pojęcia odwrotnej funkcji szans, zgodnie z którą:

Przeżuwając regresję logistyczną

W artykule nie będziemy wyprowadzać powyższego wzoru, ale sprawdzimy na liczbach z powyższego przykładu. Wiemy, że przy szansach równych 4 do 1 (Przeżuwając regresję logistyczną), prawdopodobieństwo wystąpienia zdarzenia wynosi 0,8 (Przeżuwając regresję logistyczną). Zróbmy podstawienie: Przeżuwając regresję logistyczną. To zgadza się z naszymi wcześniejszymi obliczeniami. Przechodzimy dalej.

W poprzednim kroku wyprowadziliśmy, że Przeżuwając regresję logistyczną, więc możemy dokonać zamiany w odwrotnej funkcji szans. Otrzymamy:

Przeżuwając regresję logistyczną

Podzielmy zarówno licznik, jak i mianownik przez Przeżuwając regresję logistyczną, wtedy:

Przeżuwając regresję logistyczną

Dla bezpieczeństwa, aby upewnić się, że nigdzie się nie pomyliliśmy, zróbmy jeszcze jedno małe sprawdzenie. W kroku 2 określiliśmy, że Przeżuwając regresję logistyczną . Wtedy, podstawiając wartość Przeżuwając regresję logistycznądo funkcji odpowiedzi logistycznej, oczekujemy uzyskać Przeżuwając regresję logistyczną . Podstawiamy i otrzymujemy: Przeżuwając regresję logistycznąGratuluję, szanowny czytelniku, właśnie wyprowadziliśmy i przetestowaliśmy funkcję odpowiedzi logistycznej. Zobaczmy wykres tej funkcji. Przeżuwając regresję logistyczną

Wykres 3 „Funkcja odpowiedzi logistycznej”

Wykres 3 „Funkcja odpowiedzi logistycznej”

Przeżuwając regresję logistyczną

Kod do rysowania wykresu

import math

def logit (f):
    return 1/(1+math.exp(-f))

f = np.arange(-7,7,0.05)
p = []

for i in f:
    p.append(logit(i))

fig, axes = plt.subplots(figsize = (14,6), dpi = 80)
plt.plot(f, p, color = 'grey', label = '$ 1 / (1+e^{-w^Tx_i})$')
plt.xlabel('$f(w,x_i) = w^Tx_i$', size = 16)
plt.ylabel('$p_{i+}$', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

W literaturze można również spotkać nazwę tej funkcji jako funkcja sigmoid. Na wykresie wyraźnie widać, że główna zmiana prawdopodobieństwa przynależności obiektu do klasy następuje w stosunkowo wąskim zakresie Przeżuwając regresję logistyczną, gdzieś od Przeżuwając regresję logistyczną do Przeżuwając regresję logistyczną.

Proponuję wrócić do naszego analityka kredytowego i pomóc mu w obliczeniu prawdopodobieństwa spłaty kredytów, w przeciwnym razie ryzykuje, że nie dostanie premii 🙂

Tabela 2 "Potencjalni pożyczkobiorcy"

Przeżuwając regresję logistyczną

Kod do tworzenia tabeli

proba = []
for i in df['f(w,x)']:
    proba.append(round(logit(i),2))
    
df['Prawdopodobieństwo'] = proba

df[['Pożyczkobiorca', 'Wynagrodzenie', 'Płatność', 'f(w,x)', 'Decyzja', 'Prawdopodobieństwo']]

Zatem prawdopodobieństwo zwrotu kredytu ustaliliśmy. Ogólnie rzecz biorąc, to wygląda na prawdę.

Rzeczywiście, prawdopodobieństwo, że Wanja przy wynagrodzeniu 120.000 zł będzie w stanie co miesiąc przekazywać bankowi 3.000 zł, zbliża się do 100%. Przy okazji, musimy rozumieć, że bank może przyznać kredyt również Leszkowi, pod warunkiem, że polityka banku przewiduje na przykład kredytowanie klientów z prawdopodobieństwem zwrotu kredytu większym niż, powiedzmy, 0.3. Po prostu w takim przypadku bank utworzy większy rezerwę na możliwe straty.

Należy także zauważyć, że stosunek wynagrodzenia do płatności nie mniejszy niż 3 i z zapasem 5.000 zł został wzięty z sufitu. Dlatego nie mogliśmy używać w pierwotnej postaci wektora wag Przeżuwając regresję logistyczną. Musieliśmy znacząco zmniejszyć współczynniki, więc podzieliliśmy każdy współczynnik przez 25.000, to znaczy, w zasadzie dostosowaliśmy wynik. Zrobiono to celowo, aby uprościć zrozumienie materiału na początkowym etapie. W rzeczywistości jednak nie musimy wymyślać i dostosowywać współczynników, tylko je znajdować. Właśnie w następnych sekcjach artykułu wyprowadzimy równania, za pomocą których dobierane są parametry Przeżuwając regresję logistyczną.

04. Metoda najmniejszych kwadratów przy określaniu wektora wag Przeżuwając regresję logistyczną w funkcji odpowiedzi logistycznej

Taka metoda doboru wektora wag jest nam już znana Przeżuwając regresję logistyczną, jako metoda najmniejszych kwadratów (MNK) i właściwie, dlaczego więc nie używać jej w zadaniach klasyfikacji binarnej? Rzeczywiście, nic nie stoi na przeszkodzie, aby używać MNK, tylko ten sposób w zadaniach klasyfikacji daje mniej dokładne wyniki niż Logistic LossIstnieje teoretyczne uzasadnienie. Zacznijmy od jednego prostego przykładu.

Załóżmy, że nasze modele (używające MSE i Logistic Loss) już zaczęły dobór wektora wag Przeżuwając regresję logistyczną i zatrzymaliśmy obliczenia na pewnym kroku. Nie ma znaczenia, w połowie, na końcu czy na początku, najważniejsze, że mamy już pewne wartości wektora wag i załóżmy, że na tym kroku wektory wag Przeżuwając regresję logistyczną dla obu modeli nie mają różnic. Weźmy więc otrzymane wagi i podstawimy je w funkcji logistycznej odpowiedzi (Przeżuwając regresję logistyczną) dla jakiegoś obiektu, który należy do klasy Przeżuwając regresję logistyczną. Zbadamy dwa przypadki, kiedy zgodnie z dobranym wektorem wag nasz model mocno się myli, a odwrotnie — model jest mocno pewny, że obiekt należy do klasy Przeżuwając regresję logistyczną. Zobaczymy, jakie kary będą "nałożone" przy użyciu MNK i Logistic Loss.

Kod do obliczania kar w zależności od używanej funkcji straty

# класс объекта
y = 1
# вероятность отнесения объекта к классу в соответствии с параметрами w
proba_1 = 0.01

MSE_1 = (y - proba_1)**2
print 'Штраф MSE при грубой ошибке =', MSE_1

# напишем функцию для вычисления f(w,x) при известной вероятности отнесения объекта к классу +1 (f(w,x)=ln(odds+))
def f_w_x(proba):
    return math.log(proba/(1-proba)) 

LogLoss_1 = math.log(1+math.exp(-y*f_w_x(proba_1)))
print 'Штраф Log Loss при грубой ошибке =', LogLoss_1

proba_2 = 0.99

MSE_2 = (y - proba_2)**2
LogLoss_2 = math.log(1+math.exp(-y*f_w_x(proba_2)))

print '**************************************************************'
print 'Штраф MSE при сильной уверенности =', MSE_2
print 'Штраф Log Loss при сильной уверенности =', LogLoss_2

Przypadek z poważnym błędem — model przypisuje obiekt do klasy Przeżuwając regresję logistyczną z prawdopodobieństwem 0,01

Kara przy użyciu MNK wyniesie:
Przeżuwając regresję logistyczną

Kara przy użyciu Logistic Loss wyniesie:
Przeżuwając regresję logistyczną

Przypadek z dużą pewnością — model przypisuje obiekt do klasy Przeżuwając regresję logistyczną z prawdopodobieństwem 0,99

Kara przy użyciu MNK wyniesie:
Przeżuwając regresję logistyczną

Kara przy użyciu Logistic Loss wyniesie:
Przeżuwając regresję logistyczną

Ten przykład dobrze ilustruje, że przy poważnym błędzie funkcja straty Log Loss kara model znacznie mocniej, niż MSE. Teraz zajmijmy się tym, jakie są teoretyczne przesłanki używania funkcji straty Log Loss w zadaniach klasyfikacji.

05. Metoda największej wiarygodności i regresja logistyczna

Jak obiecano na początku, artykuł obfituje w proste przykłady. W studiu kolejny przykład i starzy goście — kredytobiorcy banku: Wania, Fiedia i Liesha.

Na wszelki wypadek, zanim rozwiniemy przykład, przypomnę, że w życiu mamy do czynienia z zestawem danych składającym się z tysięcy lub milionów obiektów z dziesiątkami lub setkami cech. Jednak tutaj liczby zostały dobrane tak, aby łatwo mieściły się w głowie początkującego data scientista.

Wracamy do przykładu. Załóżmy, że dyrektor banku postanowił udzielić kredytu wszystkim potrzebującym, mimo że algorytm sugerował, by nie przyznawać go Łeszy. Po pewnym czasie dowiadujemy się, kto z trójki bohaterów spłacił kredyt, a kto nie. Jak można się było spodziewać: Wasia i Fiedia spłacili kredyt, a Łesza – nie. Teraz wyobraźmy sobie, że ten wynik będzie dla nas nowym zbiorem treningowym i, jakby to ująć, zniknęły nam wszystkie dane dotyczące czynników wpływających na prawdopodobieństwo spłaty kredytu (wynagrodzenie kredytobiorcy, wysokość miesięcznej raty). Możemy intuicyjnie założyć, że co trzeci kredytobiorca nie zwraca bankowi kredytu, innymi słowy - prawdopodobieństwo zwrotu kredytu przez następnego kredytobiorcę Przeżuwając regresję logistyczną. Istnieje teoretyczne potwierdzenie tego intuicyjnego założenia, a opiera się ono na metodzie największej wiarygodności, która w literaturze często jest nazywana zasadą największej wiarygodności.

Na początek zapoznajmy się z aparatem pojęciowym.

Wiarygodność próby to prawdopodobieństwo uzyskania exakt takiej próby, uzyskania dokładnie takich obserwacji / wyników, tzn. iloczyn prawdopodobieństw uzyskania każdego z wyników próby (na przykład spłata lub niespłata kredytu przez Wasię, Fiedię i Łeszę jednocześnie).

Funkcja wiarygodności łączy wiarygodność próby z wartościami parametrów rozkładu.

W naszym przypadku zbiór treningowy przedstawia uogólniony schemat Bernoulliego, w którym zmienna losowa przyjmuje tylko dwa wartości: Przeżuwając regresję logistyczną lub Przeżuwając regresję logistyczną. W związku z tym wiarygodność próby można zapisać jako funkcję wiarygodności od parametru Przeżuwając regresję logistyczną w następujący sposób:

Przeżuwając regresję logistyczną
Przeżuwając regresję logistyczną

Powyższy zapis można zinterpretować w ten sposób. Wspólne prawdopodobieństwo, że Wasia i Fiedia spłacą kredyt wynosi Przeżuwając regresję logistyczną, prawdopodobieństwo, że Łesza NIE spłaci kredytu wynosi Przeżuwając regresję logistyczną (ponieważ miało miejsce dokładnie NIE spłacenie kredytu), a zatem wspólne prawdopodobieństwo wszystkich trzech zdarzeń wynosi Przeżuwając regresję logistyczną.

Metoda największej wiarygodności jest to metoda oszacowania nieznanego parametru przez maksymalizację funkcji wiarygodności. W naszym przypadku należy znaleźć taką wartość Przeżuwając regresję logistyczną, przy której Przeżuwając regresję logistyczną osiąga maksimum.

Skąd w ogóle wzięła się idea poszukiwania wartości nieznanego parametru, w którym funkcja prawdopodobieństwa osiąga maksimum? Źródła tej idei pochodzą z przekonania, że próbka jest jedynym dostępnym źródłem wiedzy o populacji ogólnej. Wszystko, co wiemy o populacji ogólnej, jest przedstawione w próbce. Dlatego możemy powiedzieć, że próbka jest najbardziej dokładnym odzwierciedleniem populacji ogólnej dostępnym dla nas. W związku z tym musimy znaleźć taki parametr, przy którym istniejąca próbka staje się najbardziej prawdopodobna.

Oczywiście mamy do czynienia z problemem optymalizacyjnym, w którym musimy znaleźć punkt ekstremum funkcji. Aby znaleźć punkt ekstremum, należy rozważyć warunek pierwszego porządku, czyli przyrównać pochodną funkcji do zera i rozwiązać równanie w stosunku do poszukiwanego parametru. Jednak poszukiwanie pochodnej iloczynu wielu czynników może okazać się czasochłonne, aby tego uniknąć, istnieje szczególna technika — przejście do logarytmu. funkcji wiarygodności. Dlaczego możliwe jest takie przejście? Zwróćmy uwagę, że nie szukamy samego ekstremum funkcji,Przeżuwając regresję logistycznąale punktu ekstremum, czyli takiej wartości nieznanego parametru, Przeżuwając regresję logistyczną, przy której Przeżuwając regresję logistyczną która osiąga maksimum. Przechodząc do logarytmu, punkt ekstremum nie zmienia się (choć samo ekstremum będzie się różnić), ponieważ logarytm jest funkcją monotoniczną.

Zgodnie z powyższym, kontynuujmy nasz przykład z pożyczkami od Wasy, Fiedzi i Leszka. Na początku przejdźmy do logarytmu funkcji prawdopodobieństwa.:

Przeżuwając regresję logistyczną

Teraz możemy z łatwością zróżnicować wyrażenie względem Przeżuwając regresję logistyczną:

Przeżuwając regresję logistyczną

I na koniec rozważmy warunek pierwszego porządku — przyrównajmy pochodną funkcji do zera:

Przeżuwając regresję logistyczną

W ten sposób nasza intuicyjna ocena prawdopodobieństwa spłaty pożyczki Przeżuwając regresję logistyczną została teoretycznie uzasadniona.

Świetnie, ale co teraz zrobić z taką informacją? Jeśli uznamy, że co trzeci pożyczkobiorca nie zwróci bankowi pieniędzy, to bank nieuchronnie zbankrutuje. Tak to wygląda, ale przy ocenie prawdopodobieństwa spłaty pożyczki równej Przeżuwając regresję logistyczną Nie uwzględniliśmy czynników wpływających na spłatę kredytu: wynagrodzenie kredytobiorcy i wysokość miesięcznej raty. Przypomnijmy, że wcześniej obliczyliśmy prawdopodobieństwo spłaty kredytu przez każdego klienta z uwzględnieniem tych czynników. Logicznym jest, że i prawdopodobieństwa, które uzyskaliśmy, będą różne od stałej równej Przeżuwając regresję logistyczną.

Zdefiniujmy prawdopodobieństwo próbek:

Kod do obliczeń prawdopodobieństw próbek

from functools import reduce

def likelihood(y, p):
    line_true_proba = []
    for i in range(len(y)):
        ltp_i = p[i]**y[i]*(1-p[i])**(1-y[i])
        line_true_proba.append(ltp_i)
    likelihood = []
    return reduce(lambda a, b: a*b, line_true_proba)
        
    
y = [1.0, 1.0, 0.0]
p_log_response = df['Probability']
const = 2.0/3.0
p_const = [const, const, const]


print 'Prawdopodobieństwo próbki przy stałej wartości p=2/3:', round(likelihood(y, p_const), 3)

print '****************************************************************************************************'

print 'Prawdopodobieństwo próbki przy obliczonej wartości p:', round(likelihood(y, p_log_response), 3)

Prawdopodobieństwo próbki przy stałej wartości Przeżuwając regresję logistyczną:

Przeżuwając regresję logistyczną

Prawdopodobieństwo próbki przy obliczaniu prawdopodobieństwa spłaty kredytu z uwzględnieniem czynników Przeżuwając regresję logistyczną:

Przeżuwając regresję logistyczną
Przeżuwając regresję logistyczną

Prawdopodobieństwo próbki, obliczone w zależności od czynników, okazało się wyższe niż prawdopodobieństwo przy stałej wartości prawdopodobieństwa. Co to oznacza? Oznacza to, że wiedza o czynnikach pozwoliła bardziej precyzyjnie dobrać prawdopodobieństwo spłaty kredytu dla każdego klienta. Dlatego, przy udzielaniu kolejnego kredytu, właściwszym będzie użycie modelu oceny prawdopodobieństwa spłaty zadłużenia, zaproponowanego na końcu trzeciego rozdziału artykułu.

Ale w takim razie, jeśli musimy zmaksymalizować funkcję prawdopodobieństwa próbki, to czemu nie użyć jakiegoś algorytmu, który wygeneruje prawdopodobieństwa dla Wasy, Fedi i Lesi, na przykład, równe 0.99, 0.99 i 0.01 odpowiednio. Może taki algorytm dobrze sprawdzi się na zbiorze uczącym, ponieważ przybliży wartość prawdopodobieństwa próbki do Przeżuwając regresję logistyczną, ale po pierwsze taki algorytm prawdopodobnie napotka trudności w uogólnianiu, po drugie, ten algorytm z pewnością nie będzie liniowy. A jeśli metody przeciwdziałania nadmiernemu dopasowaniu (a także słabe uogólnienie) wyraźnie nie są częścią tego artykułu, to w odniesieniu do drugiego punktu przeanalizujmy to bliżej. Wystarczy odpowiedzieć na proste pytanie. Czy prawdopodobieństwo spłaty kredytu przez Włodka i Staszka może być takie samo, biorąc pod uwagę znane nam czynniki? Z punktu widzenia zdrowego rozsądku oczywiście nie, nie może. Włodek będzie odkładał 2,5% swojej pensji miesięcznie na spłatę kredytu, a Staszek — prawie 27,8%. Również na wykresie 2 „Klasyfikacja klientów” widzimy, że Włodek jest znacznie dalej od linii dzielącej klasy niż Staszek. I w końcu wiemy, że funkcja Przeżuwając regresję logistyczną dla Włodka i Staszka przyjmuje różne wartości: 4,24 dla Włodka i 1,0 dla Staszka. Gdyby Staszek na przykład zarabiał znacznie więcej lub prosił o mniejszy kredyt, to prawdopodobieństwa spłaty kredytu dla Włodka i Staszka byłyby zbliżone. Innymi słowy, liniowej zależności nie da się oszukać. A gdybyśmy rzeczywiście obliczyli współczynniki Przeżuwając regresję logistyczną, a nie wzięli ich z sufitu, moglibyśmy śmiało stwierdzić, że nasze wartości Przeżuwając regresję logistyczną najlepiej pozwalają ocenić prawdopodobieństwo spłaty kredytu przez każdego kredytobiorcę, ale ponieważ zgodziliśmy się przyjąć, że określenie współczynników Przeżuwając regresję logistyczną zostało przeprowadzone zgodnie z zasadami, to musimy przyjąć — nasze współczynniki pozwalają na najlepszą ocenę prawdopodobieństwa 🙂

Jednakże zboczyliśmy z tematu. W tej sekcji musimy ustalić, jak definiowany jest wektor wag Przeżuwając regresję logistyczną, który jest potrzebny do oceny prawdopodobieństwa spłaty kredytu przez każdego kredytobiorcę.

Krótko podsumowując, z jakim arsenałem występujemy w poszukiwaniu współczynników Przeżuwając regresję logistyczną:

1. Zakładamy, że zależność między zmienną zależną (wartością prognozowaną) a czynnikiem wpływającym na rezultat jest liniowa. Z tego powodu stosuje się funkcja regresji liniowej postać Przeżuwając regresję logistyczną, której linia dzieli obiekty (klientów) na klasy Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną lub Przeżuwając regresję logistyczną (klienci, którzy mogą spłacić kredyt i ci, którzy nie mogą). W naszym przypadku równanie ma postać Przeżuwając regresję logistyczną.

2. Używamy funkcji odwrotnej transformacji logit postać Przeżuwając regresję logistyczną do określenia prawdopodobieństwa przynależności obiektu do klasy Przeżuwając regresję logistyczną.

3. Rozważamy naszą próbkę szkoleniową jako realizację uogólnioną schematy Bernoulliego, czyli dla każdego obiektu generowana jest losowa wielkość, która z prawdopodobieństwem Przeżuwając regresję logistyczną (swoim dla każdego obiektu) przyjmuje wartość 1 i z prawdopodobieństwem Przeżuwając regresję logistyczną – 0.

4. Wiemy, że musimy maksymalizować funkcję prawdopodobieństwa próbki biorąc pod uwagę przyjęte czynniki, aby posiadana próbka była najbardziej wiarygodna. Innymi słowy, musimy dopasować takie parametry, przy których próbka będzie najbardziej wiarygodna. W naszym przypadku dobieranym parametrem jest prawdopodobieństwo spłaty kredytu Przeżuwając regresję logistyczną, które z kolei zależy od nieznanych współczynników Przeżuwając regresję logistyczną. Oznacza to, że musimy znaleźć taki wektor wag Przeżuwając regresję logistyczną, przy którym prawdopodobieństwo próbki będzie maksymalne.

5. Wiemy, że dla maksymalizacji funkcji prawdopodobieństwa próbki można używać metoda największej wiarygodności. I znane są nam wszelkie sprytne triki dotyczące tej metody.

Tak to wygląda, wieloaspektowe 🙂

A teraz przypomnijmy sobie, że na początku artykułu chcieliśmy wyprowadzić dwa rodzaje funkcji straty Logistic Loss w zależności od tego, jak oznaczone są klasy obiektów. Zwykle w zadaniach klasyfikacji z dwoma klasami klasy oznaczane są jako Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną lub Przeżuwając regresję logistyczną. W zależności od oznaczenia, na wyjściu otrzymamy odpowiednią funkcję straty.

Przypadek 1. Klasyfikacja obiektów na Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną

Na początku, przy ustalaniu prawdopodobieństwa próbki, w którym prawdopodobieństwo spłaty zadłużenia przez pożyczkobiorcę było obliczane na podstawie czynników i zadanych współczynników Przeżuwając regresję logistyczną, zastosowaliśmy wzór:

Przeżuwając regresję logistyczną

W rzeczywistości Przeżuwając regresję logistyczną — to wartość funkcji logistycznego odzewu Przeżuwając regresję logistyczną przy zadanym wektorze wag Przeżuwając regresję logistyczną

W takim razie nic nie stoi na przeszkodzie, aby zapisać funkcję prawdopodobieństwa próbki w ten sposób:

Przeżuwając regresję logistyczną

Bywa tak, że czasami niektórzy początkujący analitycy mają trudności z natychmiastowym zrozumieniem, jak działa ta funkcja. Przyjrzyjmy się 4 krótkim przykładom, które wszystko wyjaśnią:

1. Jeśli Przeżuwając regresję logistyczną (tj. zgodnie z próbką szkoleniową obiekt należy do klasy +1), a nasz algorytm Przeżuwając regresję logistyczną określa prawdopodobieństwo przypisania obiektu do klasy Przeżuwając regresję logistyczną równe 0.9, wtedy ten fragment prawdopodobieństwa próbki będzie obliczany w ten sposób:

Przeżuwając regresję logistyczną

2. Jeśli Przeżuwając regresję logistyczną, a Przeżuwając regresję logistyczną, więc obliczenia będą takie:

Przeżuwając regresję logistyczną

3. Jeśli Przeżuwając regresję logistyczną, a Przeżuwając regresję logistyczną, więc obliczenia będą takie:

Przeżuwając regresję logistyczną

4. Jeśli Przeżuwając regresję logistyczną, a Przeżuwając regresję logistyczną, więc obliczenia będą takie:

Przeżuwając regresję logistyczną

Oczywiście, że funkcja prawdopodobieństwa będą maksymalizowane w przypadkach 1 i 3 lub ogólnie — przy prawidłowo odgadniętych wartościach prawdopodobieństw przypisania obiektu do klasy Przeżuwając regresję logistyczną.

W związku z tym, że przy ustalaniu prawdopodobieństwa przypisania obiektu do klasy Przeżuwając regresję logistyczną nie znamy tylko współczynników Przeżuwając regresję logistyczną, więc będziemy ich szukać. Jak wspomniano wcześniej, jest to zadanie optymalizacji, w którym na początku potrzebujemy znaleźć pochodną funkcji prawdopodobieństwa względem wektora wag Przeżuwając regresję logistyczną. Jednak przedtem warto uprościć sobie zadanie: pochodną będziemy szukać od logarytmu funkcji wiarygodności.

Przeżuwając regresję logistyczną

Dlaczego po logarytmowaniu, w funkcji błędu logistycznego, zmieniliśmy znak z Przeżuwając regresję logistyczną na Przeżuwając regresję logistyczną. Wszyscy prosto, ponieważ w zadaniach oceny jakości modelu powszechnie minimalizuje się wartość funkcji, więc pomnożyliśmy prawą stronę wyrażenia przez Przeżuwając regresję logistyczną i w związku z tym zamiast maksymalizacji, teraz minimalizujemy funkcję.

Właściwie, teraz, na waszych oczach, została wyprowadzona funkcja straty — Logistic Loss dla zbioru treningowego z dwoma klasami: Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną.

Teraz, aby znaleźć współczynniki, wystarczy znaleźć pochodną funkcji błędu logistycznego i następnie, korzystając z metod numerycznych optymalizacji, takich jak spadek gradientowy lub stochastyczny spadek gradientowy, dobrać najbardziej optymalne współczynniki Przeżuwając regresję logistyczną. Jednak, biorąc pod uwagę już nie małą objętość artykułu, proponuje się przeprowadzenie różniczkowania samodzielnie lub może będzie to temat na następny artykuł z większą ilością arytmetyki bez tak szczegółowych przykładów.

Przypadek 2. Klasyfikacja obiektów na Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną

Podejście będzie takie samo jak w przypadku klas Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną, ale sama droga do wyprowadzenia funkcji straty Logistic Loss, będzie bardziej kręta. Zaczynamy. Będziemy używać operatora „jeśli…, to…”. To znaczy, jeśli Przeżuwając regresję logistyczną-ty obiekt należy do klasy Przeżuwając regresję logistyczną, to do obliczenia prawdopodobieństwa zbioru użyjemy prawdopodobieństwa Przeżuwając regresję logistyczną, jeśli obiekt należy do klasy Przeżuwając regresję logistyczną, to do prawdopodobieństwa podstawiamy Przeżuwając regresję logistyczną. Tak wygląda funkcja prawdopodobieństwa:

Przeżuwając regresję logistyczną

Rozważmy jak to działa. Rozważmy 4 przypadki:

1. Jeśli Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną, więc do prawdopodobieństwa zbioru „wejdzie” Przeżuwając regresję logistyczną

2. Jeśli Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną, więc do prawdopodobieństwa zbioru „wejdzie” Przeżuwając regresję logistyczną

3. Jeśli Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną, więc do prawdopodobieństwa zbioru „wejdzie” Przeżuwając regresję logistyczną

4. Jeśli Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną, więc do prawdopodobieństwa zbioru „wejdzie” Przeżuwając regresję logistyczną

Jasne jest, że w 1 i 3 przypadku, gdy prawdopodobieństwa zostały poprawnie określone przez algorytm, funkcja prawdopodobieństwa będzie maksymalizowana, to właśnie to chcieliśmy uzyskać. Jednak takie podejście jest dość nieporęczne i później rozważymy bardziej zwarty zapis. Ale najpierw, logarytmujemy funkcję prawdopodobieństwa zmieniając znak, ponieważ teraz będziemy ją minimalizować.

Przeżuwając regresję logistyczną

Podstawimy zamiast Przeżuwając regresję logistyczną wyrażenie Przeżuwając regresję logistyczną:

Przeżuwając regresję logistyczną

Uprościmy prawe wyrażenie pod logarytmem, używając prostych technik arytmetycznych, i uzyskamy:

Przeżuwając regresję logistyczną

A teraz nadszedł czas, aby pozbyć się operatora „jeśli…, to…”. Zauważmy, że kiedy obiekt Przeżuwając regresję logistyczną należy do klasy Przeżuwając regresję logistyczną, to w wyrażeniu pod logarytmem, w mianowniku, Przeżuwając regresję logistyczną podnosimy do potęgi Przeżuwając regresję logistyczną, jeśli obiekt należy do klasy Przeżuwając regresję logistyczną, więc $e$ podnosimy do potęgi Przeżuwając regresję logistyczną. W związku z tym można uprościć zapis potęgi — połączyć oba przypadki w jeden: Przeżuwając regresję logistyczną. Wtedy funkcja błędu logistycznego przyjmie postać:

Przeżuwając regresję logistyczną

Zgodnie z zasadami logarytmowania, odwracamy ułamek i wyciągamy znak "Przeżuwając regresję logistyczną" (minus) przed logarytm, otrzymujemy:

Przeżuwając regresję logistyczną

Przed Państwem funkcja strat logistic Loss, która jest stosowana w zbiorze uczącym z obiektami należącymi do klas: Przeżuwając regresję logistyczną i Przeżuwając regresję logistyczną.

Cóż, w tym momencie żegnam się i kończymy artykuł.

Przeżuwając regresję logistyczną Poprzednia praca autora — „Przekształcenie równania regresji liniowej w postać macierzową”

Materiały pomocnicze

1. Literatura

1) Praktyczna analiza regresji / N. Draper, G. Smith – 2. wyd. – Moskwa: Finanse i statystyka, 1986 (tłumaczenie z angielskiego)

2) Teoria prawdopodobieństwa i statystyka matematyczna / W.E. Gmurman — 9. wyd. — Moskwa: Wyższa szkoła, 2003

3) Teoria prawdopodobieństwa / N.I. Czerowa — Nowosybirsk: Nowosybirskie uniwersytet państwowy, 2007

4) Analiza biznesowa: od danych do wiedzy / Paklin N.B., Oreszkow W.I. — 2. wyd. — Petersburg: Piter, 2013

5) Data Science Nauka o danych od podstaw / Joel Grasz — Petersburg: BHW Petersburg, 2017

6) Praktyczna statystyka dla specjalistów Data Science / P. Bruce, E. Bruce — Petersburg: BHW Petersburg, 2018

2. Wykłady, kursy (wideo)

1) Istota metody największej wiarygodności, Borys Dymisiew

2) Metoda największej wiarygodności w przypadku ciągłym, Borys Dymisiew

3) Regresja logistyczna. Otwarty kurs ODS, Yury Kashnitsky

4) Wykład 4, Jewgienij Sokołow (od 47 minuty wideo)

5) Regresja logistyczna, Wjacesław Woroncow

3. Źródła internetowe

1) Modele liniowe klasyfikacji i regresji

2) Jak łatwo zrozumieć regresję logistyczną

3) Funkcja błędu logistycznego

4) Niezależne próby i wzór Bernoulliego

5) Ballada o MMP

6) Metoda największej wiarygodności

7) Wzory i właściwości logarytmów

8) Dlaczego liczba Przeżuwając regresję logistyczną?

9) Liniowy klasyfikator

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster