Masticando a regresión loxística

Masticando a regresión loxística

Neste artigo, analizaremos os cálculos teóricos da transformación funcións de regresión lineal в función de transformación de logit inverso (tamén chamada función de resposta loxística). Despois, usando o arsenal método de máxima verosimilitud, de acordo co modelo de regresión loxística, derivamos a función de perda Perda loxística, ou noutras palabras, definiremos unha función coa que se seleccionan os parámetros do vector peso no modelo de regresión loxística Masticando a regresión loxística.

Esquema do artigo:

  1. Repetimos a relación lineal entre dúas variables
  2. Identifiquemos a necesidade de transformación funcións de regresión lineal Masticando a regresión loxística в función de resposta loxística Masticando a regresión loxística
  3. Imos realizar as transformacións e saída función de resposta loxística
  4. Intentemos entender por que o método dos mínimos cadrados é malo ao seleccionar os parámetros Masticando a regresión loxística funcións Perda loxística
  5. Usamos método de máxima verosimilitud para determinar funcións de selección de parámetros Masticando a regresión loxística:

    5.1. Caso 1: función Perda loxística para obxectos con designacións de clase 0 и 1:

    Masticando a regresión loxística

    5.2. Caso 2: función Perda loxística para obxectos con designacións de clase -1 и +1:

    Masticando a regresión loxística


O artigo está cheo de exemplos sinxelos nos que todos os cálculos son fáciles de facer oralmente ou en papel; nalgúns casos, pode ser necesaria unha calculadora. Así que prepárate :)

Este artigo está destinado principalmente a científicos de datos cun nivel inicial de coñecemento dos conceptos básicos da aprendizaxe automática.

O artigo tamén proporcionará código para debuxar gráficos e cálculos. Todo o código está escrito no idioma pitón 2.7. Permítanme explicar con antelación a "novidade" da versión utilizada: esta é unha das condicións para facer o coñecido curso de Yandex nunha plataforma de educación en liña igualmente coñecida Coursera, e, como se pode supoñer, o material foi elaborado a partir deste curso.

01. Dependencia en liña recta

É bastante razoable facer a pregunta: que teñen que ver a dependencia lineal e a regresión loxística?

É sinxelo! A regresión loxística é un dos modelos que pertencen ao clasificador lineal. En palabras sinxelas, a tarefa dun clasificador lineal é predicir valores obxectivo Masticando a regresión loxística a partir de variables (regresores) Masticando a regresión loxística. Crese que a dependencia entre as características Masticando a regresión loxística e valores obxectivo Masticando a regresión loxística lineal. De aí o nome do clasificador - lineal. Para dicilo de xeito moi groso, o modelo de regresión loxística baséase na suposición de que existe unha relación lineal entre as características Masticando a regresión loxística e valores obxectivo Masticando a regresión loxística. Esta é a conexión.

Hai o primeiro exemplo no estudo, e trátase, correctamente, da dependencia rectilínea das cantidades que se estudan. Durante o proceso de preparación do artigo, atopeime cun exemplo que xa puxo en perigo a moitas persoas: a dependencia da corrente coa tensión. ("Análise de regresión aplicada", N. Draper, G. Smith). Tamén o veremos aquí.

Segundo Lei de Ohm:

Masticando a regresión loxísticaonde Masticando a regresión loxística - forza actual, Masticando a regresión loxística - Voltaxe, Masticando a regresión loxística - resistencia.

Se non o saibamos Lei de Ohm, entón poderiamos atopar a dependencia empíricamente cambiando Masticando a regresión loxística e medición Masticando a regresión loxística, mentres apoia Masticando a regresión loxística fixo. Entón veríamos que a gráfica de dependencia Masticando a regresión loxística de Masticando a regresión loxística dá unha liña máis ou menos recta pola orixe. Dicimos "máis ou menos" porque, aínda que a relación é realmente precisa, as nosas medicións poden conter pequenos erros e, polo tanto, os puntos do gráfico poden non caer exactamente sobre a liña, senón que se espallarán ao redor dela.

Gráfico 1 "Dependencia" Masticando a regresión loxística de Masticando a regresión loxística»

Masticando a regresión loxística

Código de debuxo gráfico

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. A necesidade de transformar a ecuación de regresión lineal

Vexamos outro exemplo. Imaxinemos que traballamos nun banco e que a nosa tarefa é determinar a probabilidade de que o prestatario reembolse o préstamo en función de determinados factores. Para simplificar a tarefa, só teremos en conta dous factores: o salario mensual do prestatario e o importe mensual de amortización do préstamo.

A tarefa é moi condicional, pero con este exemplo podemos entender por que non é suficiente para usar funcións de regresión lineal, e tamén descubrir que transformacións hai que realizar coa función.

Volvamos ao exemplo. Enténdese que canto maior sexa o salario, máis o prestatario poderá destinar mensualmente para amortizar o préstamo. Ao mesmo tempo, para un determinado rango salarial esta relación será bastante lineal. Por exemplo, tomemos un rango salarial de 60.000 RUR a 200.000 RUR e supoñamos que no rango salarial especificado, a dependencia do tamaño do pago mensual do tamaño do salario é lineal. Digamos que para o rango de salarios especificado revelouse que a relación salario-pago non pode caer por debaixo de 3 e que o prestatario aínda debe ter 5.000 RUR en reserva. E só neste caso, asumiremos que o mutuários devolverá o préstamo ao banco. Entón, a ecuación de regresión lineal terá a forma:

Masticando a regresión loxística

onde Masticando a regresión loxística, Masticando a regresión loxística, Masticando a regresión loxística, Masticando a regresión loxística - salario Masticando a regresión loxística-º prestatario, Masticando a regresión loxística - pago do préstamo Masticando a regresión loxística-º prestatario.

Substituíndo o salario e o pagamento do préstamo con parámetros fixos na ecuación Masticando a regresión loxística Pode decidir se conceder ou rexeitar un préstamo.

De cara ao futuro, observamos que, cos parámetros dados Masticando a regresión loxística función de regresión lineal, usado en funcións de resposta loxística producirá grandes valores que complicarán os cálculos para determinar as probabilidades de amortización do préstamo. Polo tanto, proponse reducir os nosos coeficientes, digamos, en 25.000 veces. Esta transformación dos coeficientes non modificará a decisión de conceder un préstamo. Lembremos este punto para o futuro, pero agora, para que quede aínda máis claro do que estamos a falar, consideremos a situación con tres potenciais prestatarios.

Táboa 1 "Potenciais prestatarios"

Masticando a regresión loxística

Código para xerar a táboa

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']]

Segundo os datos da táboa, Vasya, cun salario de 120.000 RUR, quere recibir un préstamo para poder devolvelo mensualmente en 3.000 RUR. Determinamos que para aprobar o préstamo, o salario de Vasya debe superar o triplo do importe do pago, e aínda deben quedar 5.000 RUR. Vasya cumpre este requisito: Masticando a regresión loxística. Aínda quedan 106.000 RUR. A pesar de que ao calcular Masticando a regresión loxística reducimos as probabilidades Masticando a regresión loxística 25.000 veces, o resultado foi o mesmo - o préstamo pode ser aprobado. Fedya tamén recibirá un préstamo, pero Lesha, a pesar de ser o que máis recibe, terá que frear o seu apetito.

Debuxemos unha gráfica para este caso.

Gráfico 2 "Clasificación dos prestatarios"

Masticando a regresión loxística

Código para debuxar a gráfica

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

Entón, a nosa liña recta, construída de acordo coa función Masticando a regresión loxística, separa os prestameiros "malos" dos "bos". Aqueles mutuários cuxos desexos non coinciden coas súas capacidades están por riba da liña (Lesha), mentres que aqueles que, segundo os parámetros do noso modelo, poden pagar o préstamo están por debaixo da liña (Vasya e Fedya). Noutras palabras, podemos dicir isto: a nosa liña directa divide os prestatarios en dúas clases. Denotémolos do seguinte xeito: a clase Masticando a regresión loxística Clasificaremos aqueles prestatarios que teñen máis probabilidades de devolver o préstamo como Masticando a regresión loxística ou Masticando a regresión loxística Incluiremos aqueles prestatarios que moi probablemente non poderán devolver o préstamo.

Imos resumir as conclusións deste sinxelo exemplo. Tomemos un punto Masticando a regresión loxística e, substituíndo as coordenadas do punto na ecuación correspondente da recta Masticando a regresión loxística, considere tres opcións:

  1. Se o punto está debaixo da liña e asignámosllo á clase Masticando a regresión loxística, entón o valor da función Masticando a regresión loxística será positivo de Masticando a regresión loxística para Masticando a regresión loxística. Isto significa que podemos supoñer que a probabilidade de reembolso do préstamo está dentro Masticando a regresión loxística. Canto maior sexa o valor da función, maior será a probabilidade.
  2. Se un punto está por riba dunha recta e asignámosllo á clase Masticando a regresión loxística ou Masticando a regresión loxística, entón o valor da función será negativo de Masticando a regresión loxística para Masticando a regresión loxística. Entón asumiremos que a probabilidade de amortización da débeda está dentro Masticando a regresión loxística e canto maior sexa o valor absoluto da función, maior será a nosa confianza.
  3. O punto está nunha liña recta, no límite entre dúas clases. Neste caso, o valor da función Masticando a regresión loxística serán iguais Masticando a regresión loxística e a probabilidade de devolver o préstamo é igual a Masticando a regresión loxística.

Agora, imaxinemos que non temos dous factores, senón ducias, e non tres, senón miles de prestameiros. Entón en lugar dunha liña recta teremos m-dimensional plano e coeficientes Masticando a regresión loxística non seremos sacados da nada, senón derivados segundo todas as regras, e en base aos datos acumulados sobre os prestatarios que pagaron ou non o préstamo. E, de feito, teña en conta que agora estamos seleccionando prestatarios utilizando coeficientes xa coñecidos Masticando a regresión loxística. De feito, a tarefa do modelo de regresión loxística é precisamente determinar os parámetros Masticando a regresión loxística, no que o valor da función de perda Perda loxística tenderá ao mínimo. Pero sobre como se calcula o vector Masticando a regresión loxística, coñeceremos máis na quinta sección do artigo. Mentres tanto, volvemos á terra prometida, ao noso banqueiro e aos seus tres clientes.

Grazas á función Masticando a regresión loxística sabemos a quen se lle pode dar un préstamo e a quen hai que denegar. Pero non pode ir ao director con esa información, porque querían obter de nós a probabilidade de amortización do préstamo por parte de cada prestatario. Que facer? A resposta é sinxela: necesitamos transformar a función dalgún xeito Masticando a regresión loxística, cuxos valores están no intervalo Masticando a regresión loxística a unha función cuxos valores estarán no intervalo Masticando a regresión loxística. E tal función existe, chámase función de resposta loxística ou transformación de logit inverso. Coñecer:

Masticando a regresión loxística

Vexamos paso a paso como funciona función de resposta loxística. Teña en conta que camiñaremos en dirección contraria, é dicir. asumiremos que coñecemos o valor de probabilidade, que se atopa no intervalo de Masticando a regresión loxística para Masticando a regresión loxística e despois imos "desenrolar" este valor a todo o intervalo de números desde Masticando a regresión loxística para Masticando a regresión loxística.

03. Derivamos a función de resposta loxística

Paso 1. Converte os valores de probabilidade nun intervalo Masticando a regresión loxística

Durante a transformación da función Masticando a regresión loxística в función de resposta loxística Masticando a regresión loxística Deixaremos en paz ao noso analista de crédito e, no seu lugar, faremos un percorrido polas casas de apostas. Non, por suposto, non faremos apostas, o único que nos interesa alí é o significado da expresión, por exemplo, a probabilidade é 4 a 1. As probabilidades, coñecidas para todos os apostantes, son a proporción de "éxitos" e " fracasos”. En termos de probabilidade, as probabilidades son a probabilidade de que ocorra un evento dividida entre a probabilidade de que o evento non ocorra. Escribamos a fórmula da probabilidade de que ocorra un evento Masticando a regresión loxística:

Masticando a regresión loxística

onde Masticando a regresión loxística - probabilidade de que ocorra un suceso, Masticando a regresión loxística - probabilidade de que un suceso NON ocorra

Por exemplo, se a probabilidade de que un cabalo novo, forte e xoguetón alcumado "Veterok" bata a unha vella e flácida chamada "Matilda" nunha carreira é igual a Masticando a regresión loxística, entón as posibilidades de éxito para "Veterok" serán Masticando a regresión loxística к Masticando a regresión loxística Masticando a regresión loxística e viceversa, coñecendo as probabilidades, non nos será difícil calcular a probabilidade Masticando a regresión loxística:

Masticando a regresión loxística

Así, aprendemos a "traducir" a probabilidade en probabilidades, das que toman valores Masticando a regresión loxística para Masticando a regresión loxística. Imos dar un paso máis e aprender a "traducir" a probabilidade a toda a recta numérica desde Masticando a regresión loxística para Masticando a regresión loxística.

Paso 2. Converte os valores de probabilidade nun intervalo Masticando a regresión loxística

Este paso é moi sinxelo: levemos o logaritmo das probabilidades á base do número de Euler Masticando a regresión loxística e temos:

Masticando a regresión loxística

Agora sabemos que se Masticando a regresión loxística, despois calcula o valor Masticando a regresión loxística será moi sinxelo e, ademais, debería ser positivo: Masticando a regresión loxística. É verdade.

Por curiosidade, comprobemos que pasa se Masticando a regresión loxística, entón esperamos ver un valor negativo Masticando a regresión loxística. Comprobamos: Masticando a regresión loxística. Correcto.

Agora sabemos como converter o valor de probabilidade de Masticando a regresión loxística para Masticando a regresión loxística ao longo de toda a recta numérica dende Masticando a regresión loxística para Masticando a regresión loxística. No seguinte paso faremos o contrario.

Polo momento, observamos que de acordo coas regras do logaritmo, coñecendo o valor da función Masticando a regresión loxística, podes calcular as probabilidades:

Masticando a regresión loxística

Este método para determinar as probabilidades será útil para nós no seguinte paso.

Paso 3. Derivemos unha fórmula para determinar Masticando a regresión loxística

Así aprendemos, sabendo Masticando a regresión loxística, atopar os valores das funcións Masticando a regresión loxística. Non obstante, de feito, necesitamos exactamente o contrario: coñecer o valor Masticando a regresión loxística atopar Masticando a regresión loxística. Para iso, imos pasar a un concepto como a función de probabilidades inversas, segundo o cal:

Masticando a regresión loxística

No artigo non derivaremos a fórmula anterior, pero comprobarémola utilizando os números do exemplo anterior. Sabemos que con probabilidades de 4 a 1 (Masticando a regresión loxística), a probabilidade de que o evento ocorra é 0.8 (Masticando a regresión loxística). Imos facer unha substitución: Masticando a regresión loxística. Isto coincide cos nosos cálculos realizados anteriormente. Sigamos adiante.

No último paso deducimos que Masticando a regresión loxística, o que significa que podes facer unha substitución na función de probabilidades inversas. Obtemos:

Masticando a regresión loxística

Divide o numerador e o denominador entre Masticando a regresión loxística, Entón:

Masticando a regresión loxística

Por se acaso, para asegurarnos de que non cometemos un erro en ningures, faremos unha pequena comprobación máis. No paso 2, nós para Masticando a regresión loxística determinou que Masticando a regresión loxística. Despois, substituíndo o valor Masticando a regresión loxística na función de resposta loxística, esperamos conseguir Masticando a regresión loxística. Substituímos e obtemos: Masticando a regresión loxística

Parabéns, querido lector, acabamos de derivar e probar a función de resposta loxística. Vexamos a gráfica da función.

Gráfico 3 "Función de resposta loxística"

Masticando a regresión loxística

Código para debuxar a gráfica

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

Na literatura tamén podes atopar o nome desta función como función sigmoide. O gráfico mostra claramente que o principal cambio na probabilidade de que un obxecto pertenza a unha clase ocorre dentro dun intervalo relativamente pequeno. Masticando a regresión loxística, nalgún lugar de Masticando a regresión loxística para Masticando a regresión loxística.

Suxiro volver ao noso analista de crédito e axudarlle a calcular a probabilidade de reembolso do préstamo, se non corre o risco de quedar sen bonificación :)

Táboa 2 "Potenciais prestatarios"

Masticando a regresión loxística

Código para xerar a táboa

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']]

Entón, determinamos a probabilidade de reembolso do préstamo. En xeral, isto parece ser certo.

De feito, a probabilidade de que Vasya, cun salario de 120.000 RUR, poida dar 3.000 RUR ao banco cada mes é próxima ao 100%. Por certo, debemos entender que un banco pode emitir un préstamo a Lesha se a política do banco prevé, por exemplo, o préstamo a clientes cunha probabilidade de amortización do préstamo superior, por exemplo, a 0.3. É só que neste caso o banco creará unha maior reserva para posibles perdas.

Tamén hai que ter en conta que a relación salario-pagamento de polo menos 3 e cunha marxe de 5.000 RUR foi retirada do teito. Polo tanto, non poderiamos usar o vector de pesos na súa forma orixinal Masticando a regresión loxística. Necesitabamos reducir moito os coeficientes, e neste caso dividimos cada coeficiente por 25.000, é dicir, en esencia, axustamos o resultado. Pero isto fíxose especialmente para simplificar a comprensión do material na fase inicial. Na vida, non necesitaremos inventar e axustar coeficientes, senón atopalos. Nas seguintes seccións do artigo derivaremos as ecuacións coas que se seleccionan os parámetros Masticando a regresión loxística.

04. Método dos mínimos cadrados para determinar o vector de pesos Masticando a regresión loxística na función de resposta loxística

Xa coñecemos este método para seleccionar un vector de pesos Masticando a regresión loxísticaComo método dos mínimos cadrados (LSM) e de feito, por que non o usamos entón en problemas de clasificación binaria? De feito, nada che impide usar MNC, só este método nos problemas de clasificación dá resultados menos precisos que Perda loxística. Hai unha base teórica para isto. Vexamos primeiro un exemplo sinxelo.

Supoñamos que os nosos modelos (usando MSE и Perda loxística) xa comezaron a seleccionar o vector de pesos Masticando a regresión loxística e paramos o cálculo nalgún paso. Non importa se no medio, ao final ou ao principio, o principal é que xa temos algúns valores do vector de pesos e supoñamos que neste paso, o vector de pesos Masticando a regresión loxística para ambos modelos non hai diferenzas. Despois colle os pesos resultantes e substitúeos función de resposta loxística (Masticando a regresión loxística) para algún obxecto que pertenza á clase Masticando a regresión loxística. Examinamos dous casos nos que, de acordo co vector de pesos seleccionado, o noso modelo está moi equivocado e viceversa: o modelo está moi seguro de que o obxecto pertence á clase Masticando a regresión loxística. Vexamos que multas se emitirán ao usar MNC и Perda loxística.

Código para calcular penalizacións en función da función de perda utilizada

# класс объекта
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 caso de erro — o modelo asigna un obxecto a unha clase Masticando a regresión loxística cunha probabilidade de 0,01

Penalización por uso MNC será:
Masticando a regresión loxística

Penalización por uso Perda loxística será:
Masticando a regresión loxística

Un caso de forte confianza — o modelo asigna un obxecto a unha clase Masticando a regresión loxística cunha probabilidade de 0,99

Penalización por uso MNC será:
Masticando a regresión loxística

Penalización por uso Perda loxística será:
Masticando a regresión loxística

Este exemplo ilustra ben que en caso de erro grave a función de perda Perda de rexistro penaliza o modelo significativamente máis que MSE. Entendemos agora cales son os antecedentes teóricos para usar a función de perda Perda de rexistro en problemas de clasificación.

05. Método de máxima verosimilitud e regresión loxística

Como prometeu ao principio, o artigo está cheo de exemplos sinxelos. No estudo hai outro exemplo e vellos hóspedes - mutuários bancarios: Vasya, Fedya e Lesha.

Por se acaso, antes de desenvolver o exemplo, permíteme recordarche que na vida estamos ante unha mostra de adestramento de miles ou millóns de obxectos con decenas ou centos de características. Non obstante, aquí tómanse os números para que poidan encaixar facilmente na cabeza dun científico de datos novato.

Volvamos ao exemplo. Imaxinemos que o director do banco decidiu conceder un préstamo a todos os que o necesitaban, a pesar de que o algoritmo lle dixo que non llo emitise a Lesha. E agora pasou o tempo suficiente e sabemos cal dos tres heroes pagou o préstamo e cal non. O que era de esperar: Vasya e Fedya pagaron o préstamo, pero Lesha non. Agora imaxinemos que este resultado será unha nova mostra de formación para nós e, ao mesmo tempo, é coma se desaparecesen todos os datos sobre os factores que inflúen na probabilidade de amortización do préstamo (salario do prestatario, cuantía da mensualidade). Entón, intuitivamente, podemos asumir que cada terceiro prestatario non paga o préstamo ao banco, ou noutras palabras, a probabilidade de que o próximo prestatario pague o préstamo. Masticando a regresión loxística. Esta suposición intuitiva ten confirmación teórica e baséase en método de máxima verosimilitud, moitas veces na literatura chámase principio de máxima verosimilitud.

En primeiro lugar, imos familiarizarnos co aparello conceptual.

Probabilidade de mostraxe é a probabilidade de obter exactamente tal mostra, obtendo exactamente tales observacións/resultados, é dicir. o produto das probabilidades de obter cada un dos resultados da mostra (por exemplo, se o préstamo de Vasya, Fedya e Lesha foi reembolsado ou non ao mesmo tempo).

Función de verosimilitude relaciona a probabilidade dunha mostra cos valores dos parámetros de distribución.

No noso caso, a mostra de adestramento é un esquema de Bernoulli xeneralizado, no que a variable aleatoria toma só dous valores: Masticando a regresión loxística ou Masticando a regresión loxística. Polo tanto, a probabilidade de mostra pódese escribir como unha función de verosimilitude do parámetro Masticando a regresión loxística do seguinte xeito:

Masticando a regresión loxística
Masticando a regresión loxística

A entrada anterior pódese interpretar do seguinte xeito. A probabilidade conxunta de que Vasya e Fedya devolvan o préstamo é igual Masticando a regresión loxística, a probabilidade de que Lesha NON reembolse o préstamo é igual a Masticando a regresión loxística (xa que NON foi o reembolso do préstamo), polo tanto, a probabilidade conxunta dos tres eventos é igual Masticando a regresión loxística.

Método de máxima verosimilitud é un método para estimar un parámetro descoñecido maximizando funcións de probabilidade. No noso caso, necesitamos atopar tal valor Masticando a regresión loxísticaao cal Masticando a regresión loxística alcanza o seu máximo.

De onde vén a idea real: buscar o valor dun parámetro descoñecido no que a función de probabilidade alcanza un máximo? As orixes da idea parten da idea de que unha mostra é a única fonte de coñecemento da que dispoñemos sobre a poboación. Todo o que sabemos sobre a poboación está representado na mostra. Polo tanto, o único que podemos dicir é que unha mostra é o reflexo máis preciso da poboación que temos á nosa disposición. Polo tanto, necesitamos atopar un parámetro no que a mostra dispoñible sexa a máis probable.

Obviamente, estamos ante un problema de optimización no que necesitamos atopar o punto extremo dunha función. Para atopar o punto extremo, é necesario considerar a condición de primeira orde, é dicir, igualar a derivada da función a cero e resolver a ecuación con respecto ao parámetro desexado. Non obstante, buscar a derivada dun produto dun gran número de factores pode ser unha tarefa longa; para evitar isto, hai unha técnica especial: cambiar ao logaritmo. funcións de probabilidade. Por que é posible tal transición? Prestemos atención ao feito de que non buscamos o extremo da función en siMasticando a regresión loxística, e o punto extremo, é dicir, o valor do parámetro descoñecido Masticando a regresión loxísticaao cal Masticando a regresión loxística alcanza o seu máximo. Ao pasar a un logaritmo, o punto do extremo non cambia (aínda que o propio extremo será diferente), xa que o logaritmo é unha función monótona.

De acordo co anterior, sigamos desenvolvendo o noso exemplo con préstamos de Vasya, Fedya e Lesha. Primeiro imos pasar logaritmo da función de verosimilitude:

Masticando a regresión loxística

Agora podemos diferenciar facilmente a expresión por Masticando a regresión loxística:

Masticando a regresión loxística

E, finalmente, considere a condición de primeira orde: igualamos a derivada da función a cero:

Masticando a regresión loxística

Así, a nosa estimación intuitiva da probabilidade de reembolso do préstamo Masticando a regresión loxística estaba teoricamente xustificada.

Xenial, pero que debemos facer agora con esta información? Se asumimos que cada terceiro prestatario non devolve o diñeiro ao banco, entón este inevitablemente quebrará. É certo, pero só cando se avalia a probabilidade de reembolso do préstamo igual a Masticando a regresión loxística Non tivemos en conta os factores que inflúen no reembolso do préstamo: o salario do prestatario e o tamaño da mensualidade. Lembremos que previamente calculamos a probabilidade de amortización do préstamo por parte de cada cliente, tendo en conta estes mesmos factores. É lóxico que obtivemos probabilidades diferentes da constante igual Masticando a regresión loxística.

Definamos a probabilidade das mostras:

Código para o cálculo das probabilidades 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)

Probabilidade de mostra nun valor constante Masticando a regresión loxística:

Masticando a regresión loxística

Probabilidade de mostra ao calcular a probabilidade de amortización do préstamo tendo en conta factores Masticando a regresión loxística:

Masticando a regresión loxística
Masticando a regresión loxística

A probabilidade dunha mostra cunha probabilidade calculada en función dos factores resultou ser maior que a probabilidade cun valor de probabilidade constante. Que significa isto? Isto suxire que o coñecemento sobre os factores permitiu seleccionar con máis precisión a probabilidade de amortización do préstamo para cada cliente. Polo tanto, á hora de emitir o próximo préstamo, sería máis correcto utilizar o modelo proposto ao final do apartado 3 do artigo para a valoración da probabilidade de amortización da débeda.

Pero entón, se queremos maximizar función de probabilidade de mostra, entón por que non usar algún algoritmo que producirá probabilidades para Vasya, Fedya e Lesha, por exemplo, iguais a 0.99, 0.99 e 0.01, respectivamente. Quizais tal algoritmo funcione ben na mostra de adestramento, xa que achegará o valor de probabilidade da mostra ao Masticando a regresión loxística, pero, en primeiro lugar, tal algoritmo probablemente terá dificultades coa capacidade de xeneralización e, en segundo lugar, este algoritmo definitivamente non será lineal. E se os métodos de loita contra o sobreadestramento (capacidade de xeneralización igualmente débil) claramente non están incluídos no plan deste artigo, imos pasar polo segundo punto con máis detalle. Para iso, basta con responder a unha pregunta sinxela. Pode ser a mesma probabilidade de que Vasya e Fedya reembolsen o préstamo, tendo en conta os factores que coñecemos? Dende o punto de vista da lóxica sonora, claro que non, non pode. Entón Vasya pagará 2.5% do seu salario ao mes para pagar o préstamo, e Fedya - case 27,8%. Tamén no gráfico 2 "Clasificación de clientes" vemos que Vasya está moito máis lonxe da liña que separa as clases que Fedya. E, finalmente, sabemos que a función Masticando a regresión loxística para Vasya e Fedya toma valores diferentes: 4.24 para Vasya e 1.0 para Fedya. Agora, se Fedya, por exemplo, gañase unha orde de magnitude máis ou pediu un préstamo máis pequeno, entón as probabilidades de devolver o préstamo para Vasya e Fedya serían similares. Noutras palabras, a dependencia lineal non se pode enganar. E se realmente calculamos as probabilidades Masticando a regresión loxística, e non os sacou da nada, poderiamos dicir con seguridade que os nosos valores Masticando a regresión loxística mellor permítenos estimar a probabilidade de reembolso do préstamo por parte de cada prestatario, pero xa que acordamos asumir que a determinación dos coeficientes Masticando a regresión loxística realizouse de acordo con todas as regras, entón asumiremos que si - os nosos coeficientes permítennos dar unha mellor estimación da probabilidade :)

Non obstante, divagamos. Neste apartado necesitamos comprender como se determina o vector de pesos Masticando a regresión loxística, que é necesario para avaliar a probabilidade de reembolso do préstamo por parte de cada prestatario.

Imos resumir brevemente con que arsenal imos a buscar probabilidades Masticando a regresión loxística:

1. Supoñemos que a relación entre a variable obxectivo (valor de predición) e o factor que inflúe no resultado é lineal. Por este motivo utilízase función de regresión lineal amable Masticando a regresión loxística, cuxa liña divide os obxectos (clientes) en clases Masticando a regresión loxística и Masticando a regresión loxística ou Masticando a regresión loxística (clientes que poden devolver o préstamo e os que non). No noso caso, a ecuación ten a forma Masticando a regresión loxística.

2. Usamos función de logit inverso amable Masticando a regresión loxística para determinar a probabilidade de que un obxecto pertenza a unha clase Masticando a regresión loxística.

3. Consideramos o noso conxunto de formación como unha implementación dun sistema xeneralizado esquemas de Bernoulli, é dicir, para cada obxecto xérase unha variable aleatoria, que con probabilidade Masticando a regresión loxística (propio para cada obxecto) toma o valor 1 e con probabilidade Masticando a regresión loxística - 0.

4. Sabemos o que necesitamos maximizar función de probabilidade de mostra tendo en conta os factores aceptados para que a mostra dispoñible sexa a máis plausible. Noutras palabras, necesitamos seleccionar os parámetros nos que a mostra será máis plausible. No noso caso, o parámetro seleccionado é a probabilidade de reembolso do préstamo Masticando a regresión loxística, que á súa vez depende de coeficientes descoñecidos Masticando a regresión loxística. Polo tanto, necesitamos atopar tal vector de pesos Masticando a regresión loxística, no que a verosimilitud da mostra será máxima.

5. Sabemos que maximizar funcións de probabilidade de mostra pode usar método de máxima verosimilitud. E coñecemos todos os trucos complicados para traballar con este método.

Así é como resulta ser un movemento de varios pasos :)

Agora recorda que ao comezo do artigo queriamos derivar dous tipos de funcións de perda Perda loxística dependendo de como se designen as clases de obxectos. Aconteceu que nos problemas de clasificación con dúas clases, as clases se denotan como Masticando a regresión loxística и Masticando a regresión loxística ou Masticando a regresión loxística. Dependendo da notación, a saída terá unha función de perda correspondente.

Caso 1. Clasificación de obxectos en Masticando a regresión loxística и Masticando a regresión loxística

Anteriormente, ao determinar a probabilidade dunha mostra, na que se calculou a probabilidade de reembolso da débeda polo prestatario en función de factores e coeficientes dados Masticando a regresión loxística, aplicamos a fórmula:

Masticando a regresión loxística

Na realidade Masticando a regresión loxística é o significado funcións de resposta loxística Masticando a regresión loxística para un vector dado de pesos Masticando a regresión loxística

Entón nada nos impide escribir a función de verosimilitude de mostra do seguinte xeito:

Masticando a regresión loxística

Acontece que ás veces é difícil que algúns analistas novatos entendan inmediatamente como funciona esta función. Vexamos 4 pequenos exemplos que aclararán as cousas:

1. Se Masticando a regresión loxística (é dicir, segundo a mostra de adestramento, o obxecto pertence á clase +1) e o noso algoritmo Masticando a regresión loxística determina a probabilidade de clasificar un obxecto nunha clase Masticando a regresión loxística igual a 0.9, entón esta probabilidade de mostra calcularase do seguinte xeito:

Masticando a regresión loxística

2. Se Masticando a regresión loxísticaE Masticando a regresión loxística, entón o cálculo será así:

Masticando a regresión loxística

3. Se Masticando a regresión loxísticaE Masticando a regresión loxística, entón o cálculo será así:

Masticando a regresión loxística

4. Se Masticando a regresión loxísticaE Masticando a regresión loxística, entón o cálculo será así:

Masticando a regresión loxística

É obvio que a función de probabilidade maximizarase nos casos 1 e 3 ou no caso xeral - con valores adiviñados correctamente das probabilidades de asignar un obxecto a unha clase Masticando a regresión loxística.

Debido ao feito de que ao determinar a probabilidade de asignar un obxecto a unha clase Masticando a regresión loxística Só descoñecemos os coeficientes Masticando a regresión loxística, entón buscarémolos. Como se mencionou anteriormente, este é un problema de optimización no que primeiro necesitamos atopar a derivada da función de verosimilitude con respecto ao vector de pesos. Masticando a regresión loxística. Non obstante, primeiro ten sentido simplificar a tarefa por nós mesmos: buscaremos a derivada do logaritmo. funcións de probabilidade.

Masticando a regresión loxística

Por que despois do logaritmo, en funcións de erro loxístico, cambiamos o sinal de Masticando a regresión loxística en Masticando a regresión loxística. Todo é sinxelo, xa que nos problemas de avaliación da calidade dun modelo é habitual minimizar o valor dunha función, multiplicamos o lado dereito da expresión por Masticando a regresión loxística e en consecuencia, en lugar de maximizar, agora minimizamos a función.

En realidade, agora mesmo, ante os teus ollos, a función de perda foi minuciosamente derivada - Perda loxística para un conxunto de formación con dúas clases: Masticando a regresión loxística и Masticando a regresión loxística.

Agora, para atopar os coeficientes, só necesitamos atopar a derivada funcións de erro loxístico e despois, utilizando métodos de optimización numérica, como o descenso de gradientes ou o descenso de gradientes estocásticos, selecciona os coeficientes máis óptimos. Masticando a regresión loxística. Pero, dado o volume considerable do artigo, proponse realizar a diferenciación pola túa conta, ou quizais este sexa un tema para o próximo artigo con moita aritmética sen exemplos tan detallados.

Caso 2. Clasificación de obxectos en Masticando a regresión loxística и Masticando a regresión loxística

O enfoque aquí será o mesmo que coas clases Masticando a regresión loxística и Masticando a regresión loxística, pero o camiño en si ata a saída da función de perda Perda loxística, estará máis adornado. Imos comezar. Para a función de verosimilitude empregaremos o operador "se... entón..."... É dicir, se Masticando a regresión loxísticaO obxecto th pertence á clase Masticando a regresión loxística, entón para calcular a probabilidade da mostra utilizamos a probabilidade Masticando a regresión loxística, se o obxecto pertence á clase Masticando a regresión loxística, entón substituímos a probabilidade Masticando a regresión loxística. Este é o aspecto da función de probabilidade:

Masticando a regresión loxística

Imos describir cos nosos dedos como funciona. Consideremos 4 casos:

1. Se Masticando a regresión loxística и Masticando a regresión loxística, entón a probabilidade de mostraxe "irá" Masticando a regresión loxística

2. Se Masticando a regresión loxística и Masticando a regresión loxística, entón a probabilidade de mostraxe "irá" Masticando a regresión loxística

3. Se Masticando a regresión loxística и Masticando a regresión loxística, entón a probabilidade de mostraxe "irá" Masticando a regresión loxística

4. Se Masticando a regresión loxística и Masticando a regresión loxística, entón a probabilidade de mostraxe "irá" Masticando a regresión loxística

É obvio que nos casos 1 e 3, cando as probabilidades foron determinadas correctamente polo algoritmo, función de probabilidade será maximizado, é dicir, isto é exactamente o que queriamos conseguir. Non obstante, este enfoque é bastante engorroso e a continuación consideraremos unha notación máis compacta. Pero primeiro, logaritmemos a función de probabilidade cun cambio de signo, xa que agora minimizarémola.

Masticando a regresión loxística

Imos substituír no seu lugar Masticando a regresión loxística expresión Masticando a regresión loxística:

Masticando a regresión loxística

Simplificamos o termo correcto baixo o logaritmo usando técnicas aritméticas sinxelas e obtenemos:

Masticando a regresión loxística

Agora toca desfacerse do operador "se... entón...". Teña en conta que cando un obxecto Masticando a regresión loxística pertence á clase Masticando a regresión loxística, entón na expresión baixo o logaritmo, no denominador, Masticando a regresión loxística elevado ao poder Masticando a regresión loxística, se o obxecto pertence á clase Masticando a regresión loxística, entón $e$ é elevado ao poder Masticando a regresión loxística. Polo tanto, a notación para o grao pódese simplificar combinando ambos casos nun só: Masticando a regresión loxística. Entón función de erro loxístico adoptará a forma:

Masticando a regresión loxística

De acordo coas regras do logaritmo, damos a volta á fracción e apagamos o signo "Masticando a regresión loxística"(menos) para o logaritmo, obtemos:

Masticando a regresión loxística

Aquí está a función de perda perda loxística, que se usa no conxunto de adestramento con obxectos asignados ás clases: Masticando a regresión loxística и Masticando a regresión loxística.

Pois a estas alturas despídome e rematamos o artigo.

Masticando a regresión loxística O traballo anterior do autor é "Traer a ecuación de regresión lineal en forma matricial"

Materiais auxiliares

1 Literatura

1) Análise de regresión aplicada / N. Draper, G. Smith - 2a ed. – M.: Finance and Statistics, 1986 (tradución do inglés)

2) Teoría da probabilidade e estatística matemática / V.E. Gmurman - 9ª ed. - M.: Escola Superior, 2003

3) Teoría da probabilidade / N.I. Chernova - Novosibirsk: Universidade Estatal de Novosibirsk, 2007

4) Análise empresarial: dos datos ao coñecemento / Paklin N. B., Oreshkov V. I. - 2ª ed. — San Petersburgo: Peter, 2013

5) Ciencia de datos Ciencia de datos desde cero / Joel Gras - San Petersburgo: BHV Petersburg, 2017

6) Estatísticas prácticas para especialistas en Data Science / P. Bruce, E. Bruce - San Petersburgo: BHV Petersburg, 2018

2. Conferencias, cursos (vídeo)

1) A esencia do método de máxima verosimilitud, Boris Demeshev

2) Método de máxima verosimilitud no caso continuo, Boris Demeshev

3) Regresión loxística. Curso aberto de ODS, Yury Kashnitsky

4) Conferencia 4, Evgeny Sokolov (a partir de 47 minutos de vídeo)

5) Regresión loxística, Vyacheslav Vorontsov

3. Fontes de Internet

1) Clasificación lineal e modelos de regresión

2) Como comprender facilmente a regresión loxística

3) Función de erro loxístico

4) Probas independentes e fórmula de Bernoulli

5) Balada de MMP

6) Método de máxima verosimilitud

7) Fórmulas e propiedades dos logaritmos

8) Por que número Masticando a regresión loxística?

9) Clasificador lineal

Fonte: www.habr.com

Engadir un comentario