Mastegant la regressió logística

Mastegant la regressió logística

En aquest article, analitzarem els càlculs teòrics de la transformació funcions de regressió lineal в funció de transformació logit inversa (també anomenada funció de resposta logística). Després, utilitzant l'arsenal mètode de màxima probabilitat, d'acord amb el model de regressió logística, obtenim la funció de pèrdua Pèrdua logística, o dit d'una altra manera, definirem una funció amb la qual es seleccionen els paràmetres del vector pes en el model de regressió logística Mastegant la regressió logística.

Esquema de l'article:

  1. Repetim la relació lineal entre dues variables
  2. Identifiquem la necessitat de transformació funcions de regressió lineal Mastegant la regressió logística в funció de resposta logística Mastegant la regressió logística
  3. Realitzem les transformacions i la sortida funció de resposta logística
  4. Intentem entendre per què el mètode dels mínims quadrats és dolent a l'hora de seleccionar paràmetres Mastegant la regressió logística funcions Pèrdua logística
  5. Fem servir mètode de màxima probabilitat per determinar funcions de selecció de paràmetres Mastegant la regressió logística:

    5.1. Cas 1: funció Pèrdua logística per a objectes amb designacions de classe 0 и 1:

    Mastegant la regressió logística

    5.2. Cas 2: funció Pèrdua logística per a objectes amb designacions de classe -1 и +1:

    Mastegant la regressió logística


L'article està ple d'exemples senzills en què tots els càlculs són fàcils de fer oralment o en paper; en alguns casos, pot ser necessària una calculadora. Així que prepareu-vos :)

Aquest article està destinat principalment a científics de dades amb un nivell inicial de coneixements sobre els conceptes bàsics de l'aprenentatge automàtic.

L'article també proporcionarà codi per dibuixar gràfics i càlculs. Tot el codi està escrit en l'idioma python 2.7. Permeteu-me explicar per endavant la "novetat" de la versió utilitzada: aquesta és una de les condicions per fer el conegut curs de Yandex en una plataforma educativa en línia igualment coneguda Coursera, i, com es podria suposar, el material es va preparar a partir d'aquest curs.

01. Dependència en línia recta

És bastant raonable fer la pregunta: què hi tenen a veure la dependència lineal i la regressió logística?

És fàcil! La regressió logística és un dels models que pertanyen al classificador lineal. En paraules senzilles, la tasca d'un classificador lineal és predir valors objectiu Mastegant la regressió logística a partir de variables (regressors) Mastegant la regressió logística. Es creu que la dependència entre les característiques Mastegant la regressió logística i valors objectiu Mastegant la regressió logística lineal. D'aquí el nom del classificador - lineal. Per dir-ho molt aproximadament, el model de regressió logística es basa en el supòsit que hi ha una relació lineal entre les característiques Mastegant la regressió logística i valors objectiu Mastegant la regressió logística. Aquesta és la connexió.

Hi ha el primer exemple a l'estudi, i es tracta, correctament, de la dependència rectilínia de les magnituds que s'estudien. En el procés de preparació de l'article, em vaig trobar amb un exemple que ja ha posat molta gent al límit: la dependència del corrent de la tensió. ("Anàlisi de regressió aplicada", N. Draper, G. Smith). Aquí també ho mirarem.

Segons Llei d'Ohm:

Mastegant la regressió logísticaOn Mastegant la regressió logística - Potència actual, Mastegant la regressió logística - voltatge, Mastegant la regressió logística - resistència.

Si no ho sabéssim llei d'Ohm, llavors podríem trobar la dependència empíricament canviant Mastegant la regressió logística i mesurar Mastegant la regressió logística, tot donant suport Mastegant la regressió logística fixat. Aleshores veurem que el gràfic de dependència Mastegant la regressió logística d' Mastegant la regressió logística dóna una línia més o menys recta per l'origen. Diem "més o menys" perquè, tot i que la relació és realment precisa, les nostres mesures poden contenir errors petits i, per tant, és possible que els punts del gràfic no caiguin exactament a la línia, sinó que s'hi repartiran aleatòriament.

Gràfic 1 “Dependència” Mastegant la regressió logística d' Mastegant la regressió logística»

Mastegant la regressió logística

Codi de dibuix del gràfic

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 = 'Actual results')
plt.xlabel('I', size = 16)
plt.ylabel('U', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

02. La necessitat de transformar l'equació de regressió lineal

Vegem un altre exemple. Imaginem que treballem en un banc i la nostra tasca és determinar la probabilitat que el prestatari amorteixi el préstec en funció de determinats factors. Per simplificar la tasca, tindrem en compte només dos factors: el sou mensual del prestatari i l'import mensual de devolució del préstec.

La tasca és molt condicional, però amb aquest exemple podem entendre per què no n'hi ha prou amb utilitzar-la funcions de regressió lineal, i també esbrina quines transformacions s'han de dur a terme amb la funció.

Tornem a l'exemple. S'entén que com més gran sigui el sou, més el prestatari podrà destinar mensualment per amortitzar el préstec. Al mateix temps, per a un determinat rang salarial aquesta relació serà força lineal. Per exemple, prenem un rang salarial de 60.000 RUR a 200.000 RUR i suposem que en el rang salarial especificat, la dependència de la mida del pagament mensual de la mida del sou és lineal. Diguem que per al rang de salaris especificat es va revelar que la relació salari/pagament no pot baixar de 3 i que el prestatari encara ha de tenir 5.000 RUR en reserva. I només en aquest cas, assumirem que el prestatari retornarà el préstec al banc. Aleshores, l'equació de regressió lineal tindrà la forma:

Mastegant la regressió logística

on Mastegant la regressió logística, Mastegant la regressió logística, Mastegant la regressió logística, Mastegant la regressió logística - el salari Mastegant la regressió logística-è prestatari, Mastegant la regressió logística - pagament del préstec Mastegant la regressió logística-è prestatari.

Substituint el salari i el pagament del préstec amb paràmetres fixos a l'equació Mastegant la regressió logística Vostè pot decidir si concedir o rebutjar un préstec.

De cara al futur, observem que, amb els paràmetres donats Mastegant la regressió logística funció de regressió lineal, utilitzat en Funcions de resposta logística produirà grans valors que complicaran els càlculs per determinar les probabilitats de devolució del préstec. Per tant, es proposa reduir els nostres coeficients, diguem-ne, en 25.000 vegades. Aquesta transformació dels coeficients no canviarà la decisió d'emetre un préstec. Recordem aquest punt per al futur, però ara, per aclarir encara més de què estem parlant, considerem la situació amb tres possibles prestataris.

Taula 1 "Prestataris potencials"

Mastegant la regressió logística

Codi per generar la taula

import pandas as pd

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

data = {'The borrower':np.array(['Vasya', 'Fedya', 'Lesha']), 
        'Salary':np.array([120000,180000,210000]),
       'Payment':np.array([3000,50000,70000])}

df = pd.DataFrame(data)

df['f(w,x)'] = w_0 + df['Salary']*w_1 + df['Payment']*w_2

decision = []
for i in df['f(w,x)']:
    if i > 0:
        dec = 'Approved'
        decision.append(dec)
    else:
        dec = 'Refusal'
        decision.append(dec)
        
df['Decision'] = decision

df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision']]

D'acord amb les dades de la taula, Vasya, amb un sou de 120.000 RUR, vol rebre un préstec perquè el pugui retornar mensualment a 3.000 RUR. Vam determinar que per aprovar el préstec, el sou de Vasya ha de superar el triple de l'import del pagament i encara hi ha de quedar 5.000 RUR. Vasya compleix aquest requisit: Mastegant la regressió logística. Fins i tot queden 106.000 RUR. Malgrat que a l'hora de calcular Mastegant la regressió logística hem reduït les probabilitats Mastegant la regressió logística 25.000 vegades, el resultat va ser el mateix: el préstec es pot aprovar. Fedya també rebrà un préstec, però Lesha, malgrat que és el que més en rep, haurà de frenar la gana.

Dibuixem un gràfic per a aquest cas.

Gràfic 2 "Classificació dels prestataris"

Mastegant la regressió logística

Codi per dibuixar el gràfic

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 = 'Decision - Loan approved')
plt.plot(df[df['Decision'] == 'Refusal']['Salary'], df[df['Decision'] == 'Refusal']['Payment'], 
         's', color = 'red', markersize = 12, label = 'Decision - Loan refusal')
plt.xlabel('Salary', size = 16)
plt.ylabel('Payment', size = 16)
plt.legend(prop = {'size': 14})
plt.show()

Així doncs, la nostra recta, construïda d'acord amb la funció Mastegant la regressió logística, separa els prestataris "dolents" dels "bons". Els prestataris els desitjos dels quals no coincideixen amb les seves capacitats estan per sobre de la línia (Lesha), mentre que els que, segons els paràmetres del nostre model, són capaços de pagar el préstec estan per sota de la línia (Vasya i Fedya). En altres paraules, podem dir això: la nostra línia directa divideix els prestataris en dues classes. Denotem-los així: a classe Mastegant la regressió logística Classificarem els prestataris que tenen més probabilitats de retornar el préstec com a Mastegant la regressió logística o Mastegant la regressió logística Inclourem aquells prestataris que probablement no podran pagar el préstec.

Resumim les conclusions d'aquest exemple senzill. Prenem un punt Mastegant la regressió logística i, substituint les coordenades del punt en l'equació corresponent de la recta Mastegant la regressió logística, considereu tres opcions:

  1. Si el punt està sota la línia i l'assignem a la classe Mastegant la regressió logística, després el valor de la funció Mastegant la regressió logística serà positiu de Mastegant la regressió logística до Mastegant la regressió logística. Això vol dir que podem suposar que la probabilitat de pagar el préstec és dins Mastegant la regressió logística. Com més gran sigui el valor de la funció, més gran serà la probabilitat.
  2. Si un punt està per sobre d'una línia i l'assignem a la classe Mastegant la regressió logística o Mastegant la regressió logística, aleshores el valor de la funció serà negatiu de Mastegant la regressió logística до Mastegant la regressió logística. Aleshores assumirem que la probabilitat de pagament del deute és dins Mastegant la regressió logística i, com més gran sigui el valor absolut de la funció, més gran serà la nostra confiança.
  3. El punt està en una línia recta, al límit entre dues classes. En aquest cas, el valor de la funció Mastegant la regressió logística serà igual Mastegant la regressió logística i la probabilitat de retornar el préstec és igual a Mastegant la regressió logística.

Ara, imaginem que no tenim dos factors, sinó desenes, i no tres, sinó milers de prestataris. Aleshores en comptes d'una línia recta tindrem m-dimensional pla i coeficients Mastegant la regressió logística no se'ns treu de la nada, sinó que se'ns derivarà d'acord amb totes les regles, i sobre la base de les dades acumulades dels prestataris que han pagat o no el préstec. I, de fet, tingueu en compte que ara estem seleccionant prestataris utilitzant coeficients ja coneguts Mastegant la regressió logística. De fet, la tasca del model de regressió logística és precisament determinar els paràmetres Mastegant la regressió logística, en què el valor de la funció de pèrdua Pèrdua logística tendirà al mínim. Però sobre com es calcula el vector Mastegant la regressió logística, ho trobarem més a la secció 5a de l'article. Mentrestant, tornem a la terra promesa: al nostre banquer i als seus tres clients.

Gràcies a la funció Mastegant la regressió logística sabem a qui es pot donar un préstec i a qui cal denegar. Però no podeu anar al director amb aquesta informació, perquè volien obtenir de nosaltres la probabilitat de devolució del préstec per part de cada prestatari. Què fer? La resposta és senzilla: hem de transformar d'alguna manera la funció Mastegant la regressió logística, els valors del qual es troben dins el rang Mastegant la regressió logística a una funció els valors de la qual estaran dins l'interval Mastegant la regressió logística. I aquesta funció existeix, s'anomena funció de resposta logística o transformació de logit invers. Trobar-se:

Mastegant la regressió logística

Vegem pas a pas com funciona funció de resposta logística. Tingueu en compte que caminarem en sentit contrari, és a dir. suposarem que coneixem el valor de probabilitat, que es troba en el rang de Mastegant la regressió logística до Mastegant la regressió logística i després "desbobinarem" aquest valor a tot el rang de nombres des de Mastegant la regressió logística до Mastegant la regressió logística.

03. Deduïm la funció de resposta logística

Pas 1. Converteix els valors de probabilitat en un rang Mastegant la regressió logística

Durant la transformació de la funció Mastegant la regressió logística в funció de resposta logística Mastegant la regressió logística Deixarem sol el nostre analista de crèdit i farem un recorregut per les cases d'apostes. No, és clar, no farem apostes, l'únic que ens interessa és el significat de l'expressió, per exemple, la possibilitat és 4 a 1. Les probabilitats, familiars per a tots els apostadors, són la proporció d'"èxits" a " fracassos”. En termes de probabilitat, les probabilitats són la probabilitat que es produeixi un esdeveniment dividida per la probabilitat que l'esdeveniment no es produeixi. Escrivim la fórmula de la possibilitat que es produeixi un esdeveniment Mastegant la regressió logística:

Mastegant la regressió logística

On Mastegant la regressió logística - probabilitat que es produeixi un esdeveniment, Mastegant la regressió logística — probabilitat que un esdeveniment NO es produeixi

Per exemple, si la probabilitat que un cavall jove, fort i juganer anomenat "Veterok" venci a una vella i flàccida anomenada "Matilda" en una cursa és igual a Mastegant la regressió logística, llavors les possibilitats d'èxit de "Veterok" seran Mastegant la regressió logística к Mastegant la regressió logística Mastegant la regressió logística i viceversa, coneixent les probabilitats, no ens serà difícil calcular la probabilitat Mastegant la regressió logística:

Mastegant la regressió logística

Així, hem après a "traduir" la probabilitat en atzars, que prenen valors Mastegant la regressió logística до Mastegant la regressió logística. Fem un pas més i aprenem a "traduir" la probabilitat a la recta numèrica sencera Mastegant la regressió logística до Mastegant la regressió logística.

Pas 2. Converteix els valors de probabilitat en un rang Mastegant la regressió logística

Aquest pas és molt senzill: portem el logaritme de les probabilitats a la base del nombre d'Euler Mastegant la regressió logística i obtenim:

Mastegant la regressió logística

Ara sabem que si Mastegant la regressió logísticai després calcula el valor Mastegant la regressió logística serà molt senzill i, a més, hauria de ser positiu: Mastegant la regressió logística. Això és cert.

Per curiositat, comprovem què passa si Mastegant la regressió logística, llavors esperem veure un valor negatiu Mastegant la regressió logística. Comprovem: Mastegant la regressió logística. Això està bé.

Ara sabem com convertir el valor de probabilitat de Mastegant la regressió logística до Mastegant la regressió logística al llarg de tota la recta numèrica des de Mastegant la regressió logística до Mastegant la regressió logística. En el següent pas farem el contrari.

De moment, observem que d'acord amb les regles del logaritme, coneixent el valor de la funció Mastegant la regressió logística, podeu calcular les probabilitats:

Mastegant la regressió logística

Aquest mètode per determinar les probabilitats ens serà útil en el següent pas.

Pas 3. Deduïm una fórmula per determinar Mastegant la regressió logística

Així que vam aprendre, sabent Mastegant la regressió logística, trobar els valors de la funció Mastegant la regressió logística. Tanmateix, de fet, necessitem exactament el contrari: conèixer el valor Mastegant la regressió logística trobar Mastegant la regressió logística. Per fer-ho, passem a un concepte com la funció de probabilitats inverses, segons el qual:

Mastegant la regressió logística

A l'article no derivarem la fórmula anterior, però la comprovarem utilitzant els números de l'exemple anterior. Sabem que amb probabilitats de 4 a 1 (Mastegant la regressió logística), la probabilitat que es produeixi l'esdeveniment és 0.8 (Mastegant la regressió logística). Fem una substitució: Mastegant la regressió logística. Això coincideix amb els nostres càlculs fets anteriorment. Posem-nos en marxa.

En l'últim pas ho vam deduir Mastegant la regressió logística, el que significa que podeu fer una substitució a la funció de probabilitats inverses. Obtenim:

Mastegant la regressió logística

Dividiu el numerador i el denominador per Mastegant la regressió logística, Aleshores:

Mastegant la regressió logística

Per si de cas, per assegurar-nos que no ens hem equivocat enlloc, farem una petita comprovació més. Al pas 2, fem Mastegant la regressió logística determinat que Mastegant la regressió logística. Després, substituint el valor Mastegant la regressió logística a la funció de resposta logística, esperem arribar Mastegant la regressió logística. Substituïm i obtenim: Mastegant la regressió logística

Enhorabona, estimat lector, acabem de derivar i provar la funció de resposta logística. Vegem el gràfic de la funció.

Gràfic 3 “Funció de resposta logística”

Mastegant la regressió logística

Codi per dibuixar el gràfic

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()

A la literatura també podeu trobar el nom d'aquesta funció com funció sigmoide. El gràfic mostra clarament que el canvi principal en la probabilitat que un objecte pertanyi a una classe es produeix dins d'un rang relativament petit. Mastegant la regressió logística, en algun lloc de Mastegant la regressió logística до Mastegant la regressió logística.

Suggereixo tornar al nostre analista de crèdit i ajudar-lo a calcular la probabilitat de devolució del préstec, en cas contrari s'arrisca a quedar-se sense una bonificació :)

Taula 2 "Prestataris potencials"

Mastegant la regressió logística

Codi per generar la taula

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

df[['The borrower', 'Salary', 'Payment', 'f(w,x)', 'Decision', 'Probability']]

Per tant, hem determinat la probabilitat de devolució del préstec. En general, això sembla ser cert.

De fet, la probabilitat que Vasya, amb un sou de 120.000 RUR, pugui donar 3.000 RUR al banc cada mes és propera al 100%. Per cert, hem d'entendre que un banc pot emetre un préstec a Lesha si la política del banc preveu, per exemple, préstecs a clients amb una probabilitat de devolució del préstec superior, per exemple, a 0.3. És que en aquest cas el banc crearà una reserva més gran per a possibles pèrdues.

També cal destacar que es va extreure del sostre la ràtio salari/pagament d'almenys 3 i amb un marge de 5.000 RUR. Per tant, no podríem utilitzar el vector de pesos en la seva forma original Mastegant la regressió logística. Calia reduir molt els coeficients, i en aquest cas vam dividir cada coeficient per 25.000, és a dir, en el fons, vam ajustar el resultat. Però això es va fer específicament per simplificar la comprensió del material en l'etapa inicial. A la vida, no caldrà inventar i ajustar coeficients, sinó trobar-los. En els següents apartats de l'article derivarem les equacions amb les quals es seleccionen els paràmetres Mastegant la regressió logística.

04. Mètode dels mínims quadrats per a la determinació del vector de pesos Mastegant la regressió logística en la funció de resposta logística

Ja coneixem aquest mètode per seleccionar un vector de pesos Mastegant la regressió logísticaCom Mètode dels mínims quadrats (LSM) i de fet, per què no l'utilitzem llavors en problemes de classificació binària? De fet, res no t'impedeix utilitzar MNC, només aquest mètode en problemes de classificació dóna resultats que són menys precisos que Pèrdua logística. Hi ha una base teòrica per a això. Vegem primer un exemple senzill.

Suposem que els nostres models (usant MSE и Pèrdua logística) ja han començat a seleccionar el vector de pesos Mastegant la regressió logística i vam aturar el càlcul en algun pas. No importa si al mig, al final o al principi, el més important és que ja tenim alguns valors del vector de pesos i suposem que en aquest pas, el vector de pesos Mastegant la regressió logística per als dos models no hi ha diferències. A continuació, agafeu els pesos resultants i substituïu-los funció de resposta logística (Mastegant la regressió logística) per a algun objecte que pertany a la classe Mastegant la regressió logística. Examinem dos casos en què, d'acord amb el vector de pesos seleccionat, el nostre model està molt equivocat i viceversa: el model està molt segur que l'objecte pertany a la classe. Mastegant la regressió logística. Vegem quines multes s'emetran en utilitzar-lo MNC и Pèrdua logística.

Codi per calcular penalitzacions en funció de la funció de pèrdua utilitzada

# класс объекта
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

Un cas d'error — el model assigna un objecte a una classe Mastegant la regressió logística amb una probabilitat de 0,01

Pena per ús MNC serà:
Mastegant la regressió logística

Pena per ús Pèrdua logística serà:
Mastegant la regressió logística

Un cas de forta confiança — el model assigna un objecte a una classe Mastegant la regressió logística amb una probabilitat de 0,99

Pena per ús MNC serà:
Mastegant la regressió logística

Pena per ús Pèrdua logística serà:
Mastegant la regressió logística

Aquest exemple il·lustra bé que en cas d'error greu la funció de pèrdua Pèrdua de registre penalitza el model molt més que MSE. Entenem ara quins són els antecedents teòrics per utilitzar la funció de pèrdua Pèrdua de registre en problemes de classificació.

05. Mètode de màxima versemblança i regressió logística

Com es va prometre al principi, l'article està ple d'exemples senzills. A l'estudi hi ha un altre exemple i vells convidats: prestataris bancaris: Vasya, Fedya i Lesha.

Per si de cas, abans de desenvolupar l'exemple, permeteu-me recordar-vos que a la vida estem davant d'una mostra d'entrenament de milers o milions d'objectes amb desenes o centenars de característiques. Tanmateix, aquí es prenen els números perquè puguin encaixar fàcilment al cap d'un científic de dades novell.

Tornem a l'exemple. Imaginem que el director del banc va decidir concedir un préstec a tothom que ho necessitava, malgrat que l'algoritme li va dir que no l'emetés a Lesha. I ara ha passat prou temps i sabem quin dels tres herois va pagar el préstec i quin no. Què s'esperava: Vasya i Fedya van pagar el préstec, però Lesha no. Imaginem ara que aquest resultat serà una nova mostra de formació per a nosaltres i, al mateix temps, és com si totes les dades sobre els factors que influeixen en la probabilitat de devolució del préstec (sou del prestatari, mida de la mensualitat) haguessin desaparegut. Aleshores, de manera intuïtiva, podem suposar que un tercer prestatari no retorna el préstec al banc, o en altres paraules, la probabilitat que el següent prestatari pagui el préstec. Mastegant la regressió logística. Aquesta suposició intuïtiva té confirmació teòrica i es basa en mètode de màxima probabilitat, sovint a la literatura s'anomena principi de màxima versemblança.

En primer lloc, familiaritzem-nos amb l'aparell conceptual.

Probabilitat de mostreig és la probabilitat d'obtenir exactament aquesta mostra, obtenint exactament aquestes observacions/resultats, és a dir. el producte de les probabilitats d'obtenir cadascun dels resultats de la mostra (per exemple, si el préstec de Vasya, Fedya i Lesha es va reemborsar o no al mateix temps).

Funció de versemblança relaciona la probabilitat d'una mostra amb els valors dels paràmetres de distribució.

En el nostre cas, la mostra d'entrenament és un esquema de Bernoulli generalitzat, en el qual la variable aleatòria només pren dos valors: Mastegant la regressió logística o Mastegant la regressió logística. Per tant, la probabilitat de mostra es pot escriure com una funció de probabilitat del paràmetre Mastegant la regressió logística de la manera següent:

Mastegant la regressió logística
Mastegant la regressió logística

L'entrada anterior es pot interpretar de la següent manera. La probabilitat conjunta que Vasya i Fedya retornin el préstec és igual a Mastegant la regressió logística, la probabilitat que Lesha NO retorni el préstec és igual a Mastegant la regressió logística (ja que NO va ser el reemborsament del préstec que va tenir lloc), per tant, la probabilitat conjunta dels tres esdeveniments és igual Mastegant la regressió logística.

Mètode de màxima versemblança és un mètode per estimar un paràmetre desconegut mitjançant la maximització funcions de versemblança. En el nostre cas, hem de trobar aquest valor Mastegant la regressió logísticaen el qual Mastegant la regressió logística arriba al seu màxim.

D'on ve la idea real: buscar el valor d'un paràmetre desconegut en què la funció de probabilitat arriba al màxim? Els orígens de la idea parteixen de la idea que una mostra és l'única font de coneixement de què disposem sobre la població. Tot el que sabem sobre la població està representat a la mostra. Per tant, l'únic que podem dir és que una mostra és el reflex més exacte de la població de què disposem. Per tant, hem de trobar un paràmetre en què la mostra disponible esdevingui la més probable.

Òbviament, estem davant d'un problema d'optimització en el qual hem de trobar el punt extrem d'una funció. Per trobar el punt extrem, cal considerar la condició de primer ordre, és a dir, igualar la derivada de la funció a zero i resoldre l'equació respecte al paràmetre desitjat. Tanmateix, cercar la derivada d'un producte d'un gran nombre de factors pot ser una tasca llarga; per evitar-ho, hi ha una tècnica especial: canviar al logaritme funcions de versemblança. Per què és possible una transició així? Fixem-nos en el fet que no busquem l'extrem de la funció en siMastegant la regressió logística, i el punt extrem, és a dir, el valor del paràmetre desconegut Mastegant la regressió logísticaen el qual Mastegant la regressió logística arriba al seu màxim. Quan es mou a un logaritme, el punt extrem no canvia (tot i que l'extrem en si diferirà), ja que el logaritme és una funció monòtona.

D'acord amb l'anterior, continuem desenvolupant el nostre exemple amb préstecs de Vasya, Fedya i Lesha. Primer passem a logaritme de la funció de versemblança:

Mastegant la regressió logística

Ara podem diferenciar fàcilment l'expressió per Mastegant la regressió logística:

Mastegant la regressió logística

I, finalment, considerem la condició de primer ordre: equiparem la derivada de la funció a zero:

Mastegant la regressió logística

Així, la nostra estimació intuïtiva de la probabilitat de devolució del préstec Mastegant la regressió logística teòricament estava justificat.

Genial, però què hem de fer amb aquesta informació ara? Si suposem que cada tercer prestatari no retorna els diners al banc, aquest últim farà fallida inevitablement. És cert, però només quan s'avalua la probabilitat de devolució del préstec igual a Mastegant la regressió logística No hem tingut en compte els factors que influeixen en l'amortització del préstec: el sou del prestatari i l'import de la mensualitat. Recordem que prèviament vam calcular la probabilitat d'amortització del préstec per part de cada client, tenint en compte aquests mateixos factors. És lògic que hem obtingut probabilitats diferents de la constant igual Mastegant la regressió logística.

Definim la probabilitat de les mostres:

Codi per calcular les probabilitats de mostra

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 'Правдоподобие выборки при константном значении p=2/3:', round(likelihood(y,p_const),3)

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

print 'Правдоподобие выборки при расчетном значении p:', round(likelihood(y,p_log_response),3)

Probabilitat de mostra a un valor constant Mastegant la regressió logística:

Mastegant la regressió logística

Mostra de probabilitat a l'hora de calcular la probabilitat de devolució del préstec tenint en compte els factors Mastegant la regressió logística:

Mastegant la regressió logística
Mastegant la regressió logística

La probabilitat d'una mostra amb una probabilitat calculada en funció dels factors va resultar ser superior a la probabilitat amb un valor de probabilitat constant. Què vol dir això? Això suggereix que el coneixement dels factors va permetre seleccionar amb més precisió la probabilitat de devolució del préstec per a cada client. Per tant, a l'hora d'emetre el següent préstec, seria més correcte utilitzar el model proposat al final de l'apartat 3 de l'article per avaluar la probabilitat d'amortització del deute.

Però després, si volem maximitzar funció de probabilitat de mostra, llavors per què no utilitzar algun algorisme que produirà probabilitats per a Vasya, Fedya i Lesha, per exemple, iguals a 0.99, 0.99 i 0.01, respectivament. Potser aquest algorisme funcionarà bé a la mostra d'entrenament, ja que aproparà el valor de probabilitat de la mostra a Mastegant la regressió logística, però, en primer lloc, aquest algorisme probablement tindrà dificultats amb la capacitat de generalització i, en segon lloc, aquest algorisme definitivament no serà lineal. I si els mètodes per combatre el sobreentrenament (capacitat de generalització igualment feble) no s'inclouen clarament al pla d'aquest article, passem pel segon punt amb més detall. Per fer-ho, només has de respondre una pregunta senzilla. La probabilitat que Vasya i Fedya amortitzin el préstec podria ser la mateixa, tenint en compte els factors que coneixem? Des del punt de vista de la lògica sòlida, és clar que no, no pot. Així Vasya pagarà el 2.5% del seu sou al mes per pagar el préstec, i Fedya - gairebé el 27,8%. També al gràfic 2 “Classificació del client” veiem que Vasya està molt més lluny de la línia que separa les classes que Fedya. I finalment, sabem que la funció Mastegant la regressió logística per a Vasya i Fedya pren valors diferents: 4.24 per a Vasya i 1.0 per a Fedya. Ara, si Fedya, per exemple, guanyés un ordre de magnitud més o demanés un préstec més petit, llavors les probabilitats de pagar el préstec per a Vasya i Fedya serien similars. En altres paraules, la dependència lineal no es pot enganyar. I si realment calculéssim les probabilitats Mastegant la regressió logística, i no els vam treure de la nada, podríem dir amb seguretat que els nostres valors Mastegant la regressió logística millor ens permet estimar la probabilitat de devolució del préstec per part de cada prestatari, però com que vam acordar assumir que la determinació dels coeficients Mastegant la regressió logística es va dur a terme d'acord amb totes les regles, llavors assumirem que sí: els nostres coeficients ens permeten donar una millor estimació de la probabilitat :)

Tanmateix, ens desviem. En aquest apartat hem d'entendre com es determina el vector de pesos Mastegant la regressió logística, que és necessari per avaluar la probabilitat de devolució del préstec per part de cada prestatari.

Resumim breument amb quin arsenal anem a buscar probabilitats Mastegant la regressió logística:

1. Suposem que la relació entre la variable objectiu (valor de predicció) i el factor que influeix en el resultat és lineal. Per aquest motiu s'utilitza funció de regressió lineal amable Mastegant la regressió logística, la línia de la qual divideix els objectes (clients) en classes Mastegant la regressió logística и Mastegant la regressió logística o Mastegant la regressió logística (clients que poden retornar el préstec i els que no). En el nostre cas, l'equació té la forma Mastegant la regressió logística.

2. Fem servir funció de logit invers amable Mastegant la regressió logística per determinar la probabilitat que un objecte pertanyi a una classe Mastegant la regressió logística.

3. Considerem el nostre conjunt de formació com una implementació d'un sistema generalitzat Esquemes de Bernoulli, és a dir, per a cada objecte es genera una variable aleatòria, que amb probabilitat Mastegant la regressió logística (propi per a cada objecte) pren el valor 1 i amb probabilitat Mastegant la regressió logística - 0.

4. Sabem què hem de maximitzar funció de probabilitat de mostra tenint en compte els factors acceptats perquè la mostra disponible esdevingui la més plausible. En altres paraules, hem de seleccionar els paràmetres en què la mostra serà més plausible. En el nostre cas, el paràmetre seleccionat és la probabilitat de devolució del préstec Mastegant la regressió logística, que al seu torn depèn de coeficients desconeguts Mastegant la regressió logística. Per tant, hem de trobar aquest vector de pesos Mastegant la regressió logística, en què la probabilitat de la mostra serà màxima.

5. Sabem què hem de maximitzar Funcions de probabilitat de mostra es pot utilitzar mètode de màxima probabilitat. I coneixem tots els trucs complicats per treballar amb aquest mètode.

Així és com resulta ser un moviment de diversos passos :)

Ara recordeu que al principi de l'article volíem derivar dos tipus de funcions de pèrdua Pèrdua logística depenent de com es designin les classes d'objectes. Va passar que en problemes de classificació amb dues classes, les classes es denoten com Mastegant la regressió logística и Mastegant la regressió logística o Mastegant la regressió logística. Depenent de la notació, la sortida tindrà una funció de pèrdua corresponent.

Cas 1. Classificació d'objectes en Mastegant la regressió logística и Mastegant la regressió logística

Abans, quan es va determinar la probabilitat d'una mostra, en la qual es calculava la probabilitat d'amortització del deute per part del prestatari en funció de factors i coeficients donats Mastegant la regressió logística, hem aplicat la fórmula:

Mastegant la regressió logística

En realitat Mastegant la regressió logística és el significat Funcions de resposta logística Mastegant la regressió logística per a un vector de pesos donat Mastegant la regressió logística

Aleshores, res ens impedeix escriure la funció de probabilitat de mostra de la següent manera:

Mastegant la regressió logística

Passa que de vegades és difícil que alguns analistes novells entenguin immediatament com funciona aquesta funció. Vegem 4 exemples breus que ho aclariran tot:

1. Si Mastegant la regressió logística (és a dir, segons la mostra d'entrenament, l'objecte pertany a la classe +1) i el nostre algorisme Mastegant la regressió logística determina la probabilitat de classificar un objecte en una classe Mastegant la regressió logística igual a 0.9, llavors aquesta part de probabilitat de mostra es calcularà de la següent manera:

Mastegant la regressió logística

2. Si Mastegant la regressió logísticaI Mastegant la regressió logística, aleshores el càlcul serà així:

Mastegant la regressió logística

3. Si Mastegant la regressió logísticaI Mastegant la regressió logística, aleshores el càlcul serà així:

Mastegant la regressió logística

4. Si Mastegant la regressió logísticaI Mastegant la regressió logística, aleshores el càlcul serà així:

Mastegant la regressió logística

És obvi que la funció de probabilitat es maximitzarà en els casos 1 i 3 o en el cas general, amb valors endevinats correctament de les probabilitats d'assignar un objecte a una classe Mastegant la regressió logística.

A causa del fet que quan es determina la probabilitat d'assignar un objecte a una classe Mastegant la regressió logística Només no coneixem els coeficients Mastegant la regressió logística, llavors els buscarem. Com s'ha esmentat anteriorment, aquest és un problema d'optimització en el qual primer hem de trobar la derivada de la funció de versemblança respecte al vector de pesos. Mastegant la regressió logística. Tanmateix, primer té sentit simplificar la tasca per nosaltres mateixos: buscarem la derivada del logaritme funcions de versemblança.

Mastegant la regressió logística

Per què després del logaritme, en Funcions d'error logístic, hem canviat el signe de Mastegant la regressió logística en Mastegant la regressió logística. Tot és senzill, ja que en problemes d'avaluació de la qualitat d'un model s'acostuma a minimitzar el valor d'una funció, multipliquem el costat dret de l'expressió per Mastegant la regressió logística i en conseqüència, en comptes de maximitzar, ara minimitzem la funció.

De fet, ara mateix, davant els teus ulls, la funció de pèrdua es va derivar minuciosament... Pèrdua logística per a un conjunt de formació amb dues classes: Mastegant la regressió logística и Mastegant la regressió logística.

Ara, per trobar els coeficients, només cal trobar la derivada Funcions d'error logístic i després, utilitzant mètodes d'optimització numèrica, com ara el descens del gradient o el descens del gradient estocàstic, seleccioneu els coeficients més òptims. Mastegant la regressió logística. Però, donat el volum considerable de l'article, es proposa fer la diferenciació pel vostre compte, o potser aquest serà un tema per al proper article amb molta aritmètica sense exemples tan detallats.

Cas 2. Classificació d'objectes en Mastegant la regressió logística и Mastegant la regressió logística

L'enfocament aquí serà el mateix que amb les classes Mastegant la regressió logística и Mastegant la regressió logística, però el camí mateix a la sortida de la funció de pèrdua Pèrdua logística, estarà més ornamentat. Comencem. Per a la funció de versemblança utilitzarem l'operador "si llavors..."... És a dir, si Mastegant la regressió logísticaEl th objecte pertany a la classe Mastegant la regressió logística, llavors per calcular la probabilitat de la mostra fem servir la probabilitat Mastegant la regressió logística, si l'objecte pertany a la classe Mastegant la regressió logística, llavors substituïm a la probabilitat Mastegant la regressió logística. Així és com es veu la funció de probabilitat:

Mastegant la regressió logística

Anem a descriure amb els nostres dits com funciona. Considerem 4 casos:

1. Si Mastegant la regressió logística и Mastegant la regressió logística, aleshores la probabilitat de mostreig "anirà" Mastegant la regressió logística

2. Si Mastegant la regressió logística и Mastegant la regressió logística, aleshores la probabilitat de mostreig "anirà" Mastegant la regressió logística

3. Si Mastegant la regressió logística и Mastegant la regressió logística, aleshores la probabilitat de mostreig "anirà" Mastegant la regressió logística

4. Si Mastegant la regressió logística и Mastegant la regressió logística, aleshores la probabilitat de mostreig "anirà" Mastegant la regressió logística

És obvi que en els casos 1 i 3, quan les probabilitats estaven determinades correctament per l'algorisme, funció de probabilitat serà maximitzat, és a dir, això és exactament el que volíem aconseguir. Tanmateix, aquest enfocament és força complicat i a continuació considerarem una notació més compacta. Però primer, logaritmem la funció de versemblança amb un canvi de signe, ja que ara la minimitzarem.

Mastegant la regressió logística

Anem a substituir en el seu lloc Mastegant la regressió logística expressió Mastegant la regressió logística:

Mastegant la regressió logística

Simplificam el terme correcte sota el logaritme utilitzant tècniques aritmètiques senzilles i obtenim:

Mastegant la regressió logística

Ara toca desfer-se de l'operador "si llavors...". Tingueu en compte que quan un objecte Mastegant la regressió logística pertany a la classe Mastegant la regressió logística, després en l'expressió sota el logaritme, en el denominador, Mastegant la regressió logística elevat al poder Mastegant la regressió logística, si l'objecte pertany a la classe Mastegant la regressió logística, llavors $e$ s'eleva al poder Mastegant la regressió logística. Per tant, la notació del grau es pot simplificar combinant els dos casos en un: Mastegant la regressió logística. Aleshores funció d'error logístic prendrà la forma:

Mastegant la regressió logística

D'acord amb les regles del logaritme, girem la fracció i apaguem el signe "Mastegant la regressió logística"(menys) per al logaritme, obtenim:

Mastegant la regressió logística

Aquí teniu la funció de pèrdua pèrdua logística, que s'utilitza al conjunt d'entrenament amb objectes assignats a classes: Mastegant la regressió logística и Mastegant la regressió logística.

Bé, en aquest moment m'acomiado i acabem l'article.

Mastegant la regressió logística El treball anterior de l'autor és "Portar l'equació de regressió lineal en forma matricial"

Materials auxiliars

1 Literatura

1) Anàlisi de regressió aplicada / N. Draper, G. Smith - 2a ed. – M.: Finances and Statistics, 1986 (traducció de l'anglès)

2) Teoria de la probabilitat i estadística matemàtica / V.E. Gmurman - 9a ed. - M.: Escola Superior, 2003

3) Teoria de la probabilitat / N.I. Chernova - Novosibirsk: Universitat Estatal de Novosibirsk, 2007

4) Anàlisi empresarial: de les dades al coneixement / Paklin N. B., Oreshkov V. I. - 2a ed. — Sant Petersburg: Peter, 2013

5) Ciència de dades Ciència de dades des de zero / Joel Gras - Sant Petersburg: BHV Petersburg, 2017

6) Estadístiques pràctiques per a especialistes en ciència de dades / P. Bruce, E. Bruce - Sant Petersburg: BHV Petersburg, 2018

2. Conferències, cursos (vídeo)

1) L'essència del mètode de màxima probabilitat, Boris Demeshev

2) Mètode de màxima versemblança en el cas continu, Boris Demeshev

3) Regressió logística. Curs ODS obert, Yury Kashnitsky

4) Conferència 4, Evgeny Sokolov (a partir de 47 minuts de vídeo)

5) Regressió logística, Vyacheslav Vorontsov

3. Fonts d'Internet

1) Classificació lineal i models de regressió

2) Com entendre fàcilment la regressió logística

3) Funció d'error logístic

4) Proves independents i fórmula de Bernoulli

5) Ballada de MMP

6) Mètode de màxima versemblança

7) Fórmules i propietats dels logaritmes

8) Per què número Mastegant la regressió logística?

9) Classificador lineal

Font: www.habr.com

Afegeix comentari