Masticando la regresión logística

Masticando la regresión logística

En este artículo analizaremos los cálculos teóricos de la transformación. funciones de regresión lineal в función de transformación logit inversa (también llamada función de respuesta logística). Luego, usando el arsenal método de máxima verosimilitud, de acuerdo con el modelo de regresión logística, derivamos la función de pérdida Pérdida logística, o en otras palabras, definiremos una función con la cual se seleccionan los parámetros del vector de peso en el modelo de regresión logística. Masticando la regresión logística.

Esquema del artículo:

  1. Repitamos la relación lineal entre dos variables.
  2. Identifiquemos la necesidad de transformación funciones de regresión lineal Masticando la regresión logística в función de respuesta logística Masticando la regresión logística
  3. Realicemos las transformaciones y la salida. función de respuesta logística
  4. Intentemos comprender por qué el método de mínimos cuadrados es malo al seleccionar parámetros. Masticando la regresión logística Características Pérdida logística
  5. Uso método de máxima verosimilitud para determinar funciones de selección de parámetros Masticando la regresión logística:

    5.1. Caso 1: función Pérdida logística para objetos con designaciones de clase 0 и 1:

    Masticando la regresión logística

    5.2. Caso 2: función Pérdida logística para objetos con designaciones de clase -1 и +1:

    Masticando la regresión logística


El artículo está repleto de ejemplos sencillos en los que todos los cálculos son fáciles de realizar de forma oral o en papel; en algunos casos, es posible que necesite una calculadora. Entonces, alístate :)

Este artículo está dirigido principalmente a científicos de datos con un nivel inicial de conocimientos sobre los conceptos básicos del aprendizaje automático.

El artículo también proporcionará código para dibujar gráficos y cálculos. Todo el código está escrito en el idioma. python 2.7. Permítanme explicarles de antemano la "novedad" de la versión utilizada: esta es una de las condiciones para realizar el conocido curso de Yandex en una plataforma de educación en línea igualmente conocida Courseray, como se podría suponer, el material se preparó en base a este curso.

01. Dependencia en línea recta

Es bastante razonable hacer la pregunta: ¿qué tienen que ver la dependencia lineal y la regresión logística?

¡Es sencillo! La regresión logística es uno de los modelos que pertenecen al clasificador lineal. En palabras simples, la tarea de un clasificador lineal es predecir valores objetivo. Masticando la regresión logística de variables (regresores) Masticando la regresión logística. Se cree que la dependencia entre las características. Masticando la regresión logística y valores objetivo Masticando la regresión logística lineal. De ahí el nombre del clasificador: lineal. Para decirlo de manera muy aproximada, el modelo de regresión logística se basa en el supuesto de que existe una relación lineal entre las características Masticando la regresión logística y valores objetivo Masticando la regresión logística. Esta es la conexión.

Ahí está el primer ejemplo en el estudio, y se trata, correctamente, de la dependencia rectilínea de las cantidades que se estudian. En el proceso de preparación del artículo, me encontré con un ejemplo que ya ha puesto nerviosos a muchas personas: la dependencia de la corriente del voltaje. (“Análisis de regresión aplicado”, N. Draper, G. Smith). Lo veremos aquí también.

De acuerdo con Ley de Ohm:

Masticando la regresión logísticaDonde Masticando la regresión logística - fuerza actual, Masticando la regresión logística - Voltaje, Masticando la regresión logística - resistencia.

Si no lo supiéramos Ley de Ohm, entonces podríamos encontrar la dependencia empíricamente cambiando Masticando la regresión logística y midiendo Masticando la regresión logística, mientras apoya Masticando la regresión logística fijado. Entonces veríamos que el gráfico de dependencia Masticando la regresión logística de Masticando la regresión logística da una línea más o menos recta que pasa por el origen. Decimos “más o menos” porque, aunque la relación es realmente precisa, nuestras mediciones pueden contener pequeños errores y, por tanto, es posible que los puntos de la gráfica no caigan exactamente en la recta, sino que estarán dispersos alrededor de ella de forma aleatoria.

Gráfico 1 “Dependencia” Masticando la regresión logística de Masticando la regresión logística»

Masticando la regresión logística

Código de dibujo de 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. La necesidad de transformar la ecuación de regresión lineal.

Veamos otro ejemplo. Imaginemos que trabajamos en un banco y nuestra tarea es determinar la probabilidad de que el prestatario pague el préstamo en función de ciertos factores. Para simplificar la tarea, consideraremos sólo dos factores: el salario mensual del prestatario y el monto de pago mensual del préstamo.

La tarea es muy condicional, pero con este ejemplo podemos entender por qué no basta con usar funciones de regresión lineal, y también averiguar qué transformaciones se deben realizar con la función.

Volvamos al ejemplo. Se entiende que cuanto mayor sea el salario, más podrá destinar el prestatario mensualmente para pagar el préstamo. Al mismo tiempo, para un determinado rango salarial esta relación será bastante lineal. Por ejemplo, tomemos un rango salarial de 60.000 RUR a 200.000 RUR y supongamos que en el rango salarial especificado, la dependencia del tamaño del pago mensual del tamaño del salario es lineal. Digamos que para el rango de salarios especificado se reveló que la relación salario-pago no puede caer por debajo de 3 y el prestatario aún debe tener 5.000 RUR en reserva. Y sólo en este caso asumiremos que el prestatario reembolsará el préstamo al banco. Entonces, la ecuación de regresión lineal tomará la forma:

Masticando la regresión logística

donde Masticando la regresión logística, Masticando la regresión logística, Masticando la regresión logística, Masticando la regresión logística - salario Masticando la regresión logística-ésimo prestatario, Masticando la regresión logística - Pago de préstamo Masticando la regresión logística-ésimo prestatario.

Sustituir el salario y el pago del préstamo por parámetros fijos en la ecuación Masticando la regresión logística Puede decidir si concede o rechaza un préstamo.

De cara al futuro, observamos que, con los parámetros dados Masticando la regresión logística función de regresión lineal, utilizada en funciones de respuesta logística producirá valores elevados que complicarán los cálculos para determinar las probabilidades de reembolso del préstamo. Por tanto, se propone reducir nuestros coeficientes, digamos, 25.000 veces. Esta transformación de los coeficientes no cambiará la decisión de conceder un préstamo. Recordemos este punto para el futuro, pero ahora, para que quede aún más claro de qué estamos hablando, consideremos la situación con tres prestatarios potenciales.

Cuadro 1 “Posibles prestatarios”

Masticando la regresión logística

Código para generar la tabla.

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

De acuerdo con los datos de la tabla, Vasya, con un salario de 120.000 RUR, quiere recibir un préstamo para poder pagarlo mensualmente por 3.000 RUR. Determinamos que para aprobar el préstamo, el salario de Vasya debe exceder tres veces el monto del pago y aún deben quedar 5.000 RUR. Vasya cumple este requisito: Masticando la regresión logística. Incluso quedan 106.000 RUR. A pesar de que al calcular Masticando la regresión logística hemos reducido las probabilidades Masticando la regresión logística 25.000 veces el resultado fue el mismo: el préstamo puede aprobarse. Fedya también recibirá un préstamo, pero Lesha, a pesar de que es la que recibe más, tendrá que frenar su apetito.

Dibujemos una gráfica para este caso.

Cuadro 2 “Clasificación de prestatarios”

Masticando la regresión logística

Código para dibujar el gráfico.

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

Entonces, nuestra línea recta, construida de acuerdo con la función Masticando la regresión logística, separa a los prestatarios “malos” de los “buenos”. Aquellos prestatarios cuyos deseos no coinciden con sus capacidades están por encima de la línea (Lesha), mientras que aquellos que, según los parámetros de nuestro modelo, pueden pagar el préstamo están por debajo de la línea (Vasya y Fedya). En otras palabras, podemos decir esto: nuestra línea directa divide a los prestatarios en dos clases. Designémoslos de la siguiente manera: a clase Masticando la regresión logística Clasificaremos a aquellos prestatarios que tienen más probabilidades de pagar el préstamo como Masticando la regresión logística o Masticando la regresión logística Incluiremos a aquellos prestatarios que probablemente no podrán pagar el préstamo.

Resumamos las conclusiones de este sencillo ejemplo. tomemos un punto Masticando la regresión logística y, sustituyendo las coordenadas del punto en la ecuación correspondiente de la recta Masticando la regresión logística, considere tres opciones:

  1. Si el punto está debajo de la línea y lo asignamos a la clase Masticando la regresión logística, entonces el valor de la función Masticando la regresión logística será positivo de Masticando la regresión logística a Masticando la regresión logística. Esto significa que podemos suponer que la probabilidad de pagar el préstamo está dentro de Masticando la regresión logística. Cuanto mayor sea el valor de la función, mayor será la probabilidad.
  2. Si un punto está encima de una recta y lo asignamos a la clase Masticando la regresión logística o Masticando la regresión logística, entonces el valor de la función será negativo a partir de Masticando la regresión logística a Masticando la regresión logística. Entonces asumiremos que la probabilidad de pago de la deuda está dentro de Masticando la regresión logística y cuanto mayor sea el valor absoluto de la función, mayor será nuestra confianza.
  3. El punto está en línea recta, en el límite entre dos clases. En este caso, el valor de la función Masticando la regresión logística será igual Masticando la regresión logística y la probabilidad de pagar el préstamo es igual a Masticando la regresión logística.

Ahora imaginemos que no tenemos dos factores, sino decenas, y no tres, sino miles de prestatarios. Entonces en lugar de una línea recta tendremos m-dimensional plano y coeficientes Masticando la regresión logística No saldremos de la nada, sino que los sacaremos según todas las reglas y sobre la base de los datos acumulados sobre los prestatarios que han reembolsado o no el préstamo. Y, de hecho, tenga en cuenta que ahora estamos seleccionando prestatarios utilizando coeficientes ya conocidos. Masticando la regresión logística. De hecho, la tarea del modelo de regresión logística es precisamente determinar los parámetros Masticando la regresión logística, en el que el valor de la función de pérdida Pérdida logística tenderá al mínimo. Pero sobre cómo se calcula el vector. Masticando la regresión logística, descubriremos más en la quinta sección del artículo. Mientras tanto, volvemos a la tierra prometida: a nuestro banquero y sus tres clientes.

Gracias a la función Masticando la regresión logística Sabemos a quién se le puede conceder un préstamo y a quién se le debe negar. Pero no se puede acudir al director con esa información, porque querían obtener de nosotros la probabilidad de pago del préstamo por parte de cada prestatario. ¿Qué hacer? La respuesta es simple: necesitamos transformar de alguna manera la función. Masticando la regresión logística, cuyos valores se encuentran en el rango Masticando la regresión logística a una función cuyos valores estarán en el rango Masticando la regresión logística. Y tal función existe, se llama función de respuesta logística o transformación logit inversa. Encontrarse:

Masticando la regresión logística

Veamos paso a paso cómo funciona. función de respuesta logística. Tenga en cuenta que caminaremos en la dirección opuesta, es decir. Supondremos que conocemos el valor de probabilidad, que se encuentra en el rango de Masticando la regresión logística a Masticando la regresión logística y luego "desenrollaremos" este valor a todo el rango de números desde Masticando la regresión logística a Masticando la regresión logística.

03. Derivamos la función de respuesta logística.

Paso 1. Convierte los valores de probabilidad en un rango. Masticando la regresión logística

Durante la transformación de la función. Masticando la regresión logística в función de respuesta logística Masticando la regresión logística Dejaremos en paz a nuestro analista de crédito y en su lugar haremos un recorrido por las casas de apuestas. No, por supuesto, no haremos apuestas, lo único que nos interesa es el significado de la expresión, por ejemplo, la probabilidad es 4 a 1. Las probabilidades, familiares para todos los apostantes, son la proporción de "éxitos" a " fracasos”. En términos de probabilidad, las probabilidades son la probabilidad de que ocurra un evento dividida por la probabilidad de que el evento no ocurra. Escribamos la fórmula para la probabilidad de que ocurra un evento. Masticando la regresión logística:

Masticando la regresión logística

Donde Masticando la regresión logística - probabilidad de que ocurra un evento, Masticando la regresión logística — probabilidad de que un evento NO ocurra

Por ejemplo, si la probabilidad de que un caballo joven, fuerte y juguetón apodado “Veterok” gane en una carrera a una anciana fláccida llamada “Matilda” es igual a Masticando la regresión logística, entonces las posibilidades de éxito de "Veterok" serán Masticando la regresión logística к Masticando la regresión logística Masticando la regresión logística y viceversa, conociendo las cuotas, no nos resultará difícil calcular la probabilidad. Masticando la regresión logística:

Masticando la regresión logística

Así, hemos aprendido a “traducir” la probabilidad en posibilidades, que toman valores de Masticando la regresión logística a Masticando la regresión logística. Demos un paso más y aprendamos a "traducir" la probabilidad a la recta numérica completa desde Masticando la regresión logística a Masticando la regresión logística.

Paso 2. Convierte los valores de probabilidad en un rango. Masticando la regresión logística

Este paso es muy simple: llevemos el logaritmo de las probabilidades a la base del número de Euler. Masticando la regresión logística y obtenemos:

Masticando la regresión logística

Ahora sabemos que si Masticando la regresión logística, luego calcula el valor Masticando la regresión logística Será muy sencillo y, además, deberá ser positivo: Masticando la regresión logística. Esto es cierto.

Por curiosidad, veamos qué pasaría si Masticando la regresión logística, entonces esperamos ver un valor negativo Masticando la regresión logística. Verificamos: Masticando la regresión logística. Así es.

Ahora sabemos cómo convertir el valor de probabilidad de Masticando la regresión logística a Masticando la regresión logística a lo largo de toda la recta numérica desde Masticando la regresión logística a Masticando la regresión logística. En el siguiente paso haremos lo contrario.

Por ahora, observamos que de acuerdo con las reglas del logaritmo, conocer el valor de la función Masticando la regresión logística, puedes calcular las probabilidades:

Masticando la regresión logística

Este método para determinar las probabilidades nos será útil en el siguiente paso.

Paso 3. Derivemos una fórmula para determinar Masticando la regresión logística

Entonces aprendimos, sabiendo Masticando la regresión logística, encontrar valores de función Masticando la regresión logística. Sin embargo, en realidad necesitamos exactamente lo contrario: conocer el valor Masticando la regresión logística encontrar Masticando la regresión logística. Para hacer esto, recurramos a un concepto como la función de probabilidades inversa, según la cual:

Masticando la regresión logística

En el artículo no derivaremos la fórmula anterior, pero la comprobaremos utilizando los números del ejemplo anterior. Sabemos que con probabilidades de 4 a 1 (Masticando la regresión logística), la probabilidad de que ocurra el evento es 0.8 (Masticando la regresión logística). Hagamos una sustitución: Masticando la regresión logística. Esto coincide con nuestros cálculos realizados anteriormente. Vamonos.

En el último paso dedujimos que Masticando la regresión logística, lo que significa que puedes hacer una sustitución en la función de probabilidades inversas. Obtenemos:

Masticando la regresión logística

Divide tanto el numerador como el denominador entre Masticando la regresión logísticaentonces:

Masticando la regresión logística

Por las dudas, para asegurarnos de que no nos hemos equivocado en ningún lado, haremos una pequeña comprobación más. En el paso 2, nosotros para Masticando la regresión logística determinó que Masticando la regresión logística. Luego, sustituyendo el valor Masticando la regresión logística en la función de respuesta logística, esperamos obtener Masticando la regresión logística. Sustituimos y obtenemos: Masticando la regresión logística

Felicitaciones, querido lector, acabamos de derivar y probar la función de respuesta logística. Miremos la gráfica de la función.

Gráfico 3 “Función de respuesta logística”

Masticando la regresión logística

Código para dibujar el gráfico.

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

En la literatura también puede encontrar el nombre de esta función como función sigmoidea. El gráfico muestra claramente que el principal cambio en la probabilidad de que un objeto pertenezca a una clase ocurre dentro de un rango relativamente pequeño Masticando la regresión logística, en algún lugar de Masticando la regresión logística a Masticando la regresión logística.

Sugiero volver con nuestro analista de crédito y ayudarlo a calcular la probabilidad de pago del préstamo; de lo contrario, corre el riesgo de quedarse sin bonificación :)

Cuadro 2 “Posibles prestatarios”

Masticando la regresión logística

Código para generar la tabla.

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

Entonces, hemos determinado la probabilidad de pago del préstamo. En general, esto parece ser cierto.

De hecho, la probabilidad de que Vasya, con un salario de 120.000 RUR, pueda donar 3.000 RUR al banco cada mes es cercana al 100%. Por cierto, debemos entender que un banco puede otorgar un préstamo a Lesha si la política del banco prevé, por ejemplo, otorgar préstamos a clientes con una probabilidad de reembolso del préstamo superior a, digamos, 0.3. Solo que en este caso el banco creará una reserva mayor para posibles pérdidas.

También cabe señalar que del techo se tomó una relación salario-pago de al menos 3 y con un margen de 5.000 RUR. Por tanto, no podríamos utilizar el vector de pesos en su forma original. Masticando la regresión logística. Necesitábamos reducir mucho los coeficientes y en este caso dividimos cada coeficiente entre 25.000, es decir, en esencia, ajustamos el resultado. Pero esto se hizo específicamente para simplificar la comprensión del material en la etapa inicial. En la vida no necesitaremos inventar ni ajustar coeficientes, sino encontrarlos. En las siguientes secciones del artículo derivaremos las ecuaciones con las que se seleccionan los parámetros. Masticando la regresión logística.

04. Método de mínimos cuadrados para determinar el vector de pesos. Masticando la regresión logística en la función de respuesta logística

Ya conocemos este método para seleccionar un vector de pesos. Masticando la regresión logísticacomo método de mínimos cuadrados (LSM) y de hecho, ¿por qué no lo usamos en problemas de clasificación binaria? De hecho, nada le impide utilizar multinacional, sólo este método en problemas de clasificación da resultados que son menos precisos que Pérdida logística. Hay una base teórica para esto. Veamos primero un ejemplo sencillo.

Supongamos que nuestros modelos (usando MSE и Pérdida logística) ya han comenzado a seleccionar el vector de pesos Masticando la regresión logística y detuvimos el cálculo en algún paso. No importa si en el medio, al final o al principio, lo principal es que ya tenemos algunos valores del vector de pesos y supongamos que en este paso, el vector de pesos Masticando la regresión logística Para ambos modelos no hay diferencias. Luego toma los pesos resultantes y sustitúyelos en función de respuesta logística (Masticando la regresión logística) para algún objeto que pertenece a la clase Masticando la regresión logística. Examinamos dos casos en los que, de acuerdo con el vector de pesos seleccionado, nuestro modelo está muy equivocado y viceversa: el modelo tiene mucha confianza en que el objeto pertenece a la clase. Masticando la regresión logística. Veamos qué multas se impondrán al usar. multinacional и Pérdida logística.

Código para calcular penalizaciones dependiendo de la función de pérdida 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 error garrafal — el modelo asigna un objeto a una clase Masticando la regresión logística con una probabilidad de 0,01

Penalización por uso multinacional será:
Masticando la regresión logística

Penalización por uso Pérdida logística será:
Masticando la regresión logística

Un caso de fuerte confianza — el modelo asigna un objeto a una clase Masticando la regresión logística con una probabilidad de 0,99

Penalización por uso multinacional será:
Masticando la regresión logística

Penalización por uso Pérdida logística será:
Masticando la regresión logística

Este ejemplo ilustra bien que en caso de un error grave la función de pérdida Pérdida de registro penaliza al modelo significativamente más que MSE. Ahora comprendamos cuál es el fundamento teórico del uso de la función de pérdida. Pérdida de registro en problemas de clasificación.

05. Método de máxima verosimilitud y regresión logística.

Como prometí al principio, el artículo está repleto de ejemplos sencillos. En el estudio hay otro ejemplo y antiguos invitados: prestatarios del banco: Vasya, Fedya y Lesha.

Por si acaso, antes de desarrollar el ejemplo, permítanme recordarles que en la vida estamos ante una muestra de entrenamiento de miles o millones de objetos con decenas o cientos de características. Sin embargo, aquí los números están tomados para que puedan caber fácilmente en la cabeza de un científico de datos novato.

Volvamos al ejemplo. Imaginemos que el director del banco decidió conceder un préstamo a todos los necesitados, a pesar de que el algoritmo le dijo que no se lo concediera a Lesha. Y ahora ha pasado bastante tiempo y sabemos cuál de los tres héroes devolvió el préstamo y cuál no. Lo que era de esperar: Vasya y Fedya pagaron el préstamo, pero Lesha no. Ahora imaginemos que este resultado será una nueva muestra de entrenamiento para nosotros y, al mismo tiempo, es como si todos los datos sobre los factores que influyen en la probabilidad de pagar el préstamo (salario del prestatario, monto del pago mensual) hubieran desaparecido. Entonces, intuitivamente, podemos suponer que uno de cada tres prestatarios no paga el préstamo al banco, o en otras palabras, la probabilidad de que el próximo prestatario pague el préstamo Masticando la regresión logística. Esta suposición intuitiva tiene confirmación teórica y se basa en método de máxima verosimilitud, a menudo en la literatura se le llama principio de máxima verosimilitud.

Primero, familiaricémonos con el aparato conceptual.

Probabilidad de muestreo es la probabilidad de obtener exactamente esa muestra, obtener exactamente tales observaciones/resultados, es decir el producto de las probabilidades de obtener cada uno de los resultados de la muestra (por ejemplo, si el préstamo de Vasya, Fedya y Lesha se pagó o no al mismo tiempo).

función de probabilidad Relaciona la probabilidad de una muestra con los valores de los parámetros de distribución.

En nuestro caso, la muestra de entrenamiento es un esquema de Bernoulli generalizado, en el que la variable aleatoria toma sólo dos valores: Masticando la regresión logística o Masticando la regresión logística. Por lo tanto, la probabilidad de la muestra se puede escribir como una función de probabilidad del parámetro Masticando la regresión logística следующим обрахом:

Masticando la regresión logística
Masticando la regresión logística

La entrada anterior se puede interpretar de la siguiente manera. La probabilidad conjunta de que Vasya y Fedya paguen el préstamo es igual a Masticando la regresión logística, la probabilidad de que Lesha NO pague el préstamo es igual a Masticando la regresión logística (dado que NO fue el pago del préstamo lo que tuvo lugar), por lo tanto, la probabilidad conjunta de los tres eventos es igual Masticando la regresión logística.

método de máxima verosimilitud es un método para estimar un parámetro desconocido maximizando funciones de probabilidad. En nuestro caso, necesitamos encontrar tal valor. Masticando la regresión logísticaen que Masticando la regresión logística alcanza su máximo.

¿De dónde surge la idea real: buscar el valor de un parámetro desconocido en el que la función de probabilidad alcanza un máximo? Los orígenes de la idea surgen de la idea de que una muestra es la única fuente de conocimiento disponible sobre la población. Todo lo que sabemos sobre la población está representado en la muestra. Por lo tanto, todo lo que podemos decir es que una muestra es el reflejo más preciso de la población de que disponemos. Por lo tanto, necesitamos encontrar un parámetro en el que la muestra disponible sea la más probable.

Obviamente, estamos ante un problema de optimización en el que necesitamos encontrar el punto extremo de una función. Para encontrar el punto extremo, es necesario considerar la condición de primer orden, es decir, igualar la derivada de la función a cero y resolver la ecuación con respecto al parámetro deseado. Sin embargo, buscar la derivada de un producto de una gran cantidad de factores puede ser una tarea larga; para evitarlo, existe una técnica especial: cambiar al logaritmo. funciones de probabilidad. ¿Por qué es posible tal transición? Prestemos atención al hecho de que no buscamos el extremo de la función en sí.Masticando la regresión logística, y el punto extremo, es decir, el valor del parámetro desconocido Masticando la regresión logísticaen que Masticando la regresión logística alcanza su máximo. Al pasar a un logaritmo, el punto extremo no cambia (aunque el extremo en sí será diferente), ya que el logaritmo es una función monótona.

De acuerdo con lo anterior, sigamos desarrollando nuestro ejemplo con préstamos de Vasya, Fedya y Lesha. Primero pasemos a logaritmo de la función de probabilidad:

Masticando la regresión logística

Ahora podemos diferenciar fácilmente la expresión por Masticando la regresión logística:

Masticando la regresión logística

Y finalmente, considere la condición de primer orden: igualamos la derivada de la función a cero:

Masticando la regresión logística

Por lo tanto, nuestra estimación intuitiva de la probabilidad de pago del préstamo Masticando la regresión logística estaba teóricamente justificado.

Genial, pero ¿qué debemos hacer ahora con esta información? Si asumimos que uno de cada tres prestatarios no devuelve el dinero al banco, este último inevitablemente irá a la quiebra. Así es, pero sólo cuando se evalúa la probabilidad de reembolso del préstamo igual a Masticando la regresión logística No tomamos en cuenta los factores que influyen en el pago del préstamo: el salario del prestatario y el monto del pago mensual. Recordemos que previamente calculamos la probabilidad de devolución del préstamo por parte de cada cliente, teniendo en cuenta estos mismos factores. Es lógico que obtuvimos probabilidades diferentes a la constante igual Masticando la regresión logística.

Definamos la probabilidad de muestras:

Código para calcular probabilidades de muestra

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)

Probabilidad de muestra a un valor constante Masticando la regresión logística:

Masticando la regresión logística

Probabilidad de muestra al calcular la probabilidad de reembolso del préstamo teniendo en cuenta factores Masticando la regresión logística:

Masticando la regresión logística
Masticando la regresión logística

La probabilidad de una muestra con una probabilidad calculada en función de los factores resultó ser mayor que la probabilidad con un valor de probabilidad constante. ¿Qué quiere decir esto? Esto sugiere que el conocimiento de los factores permitió seleccionar con mayor precisión la probabilidad de pago del préstamo para cada cliente. Por tanto, a la hora de conceder el próximo préstamo, sería más correcto utilizar el modelo propuesto al final del apartado 3 del artículo para evaluar la probabilidad de pago de la deuda.

Pero entonces, si queremos maximizar función de probabilidad de muestra, entonces, ¿por qué no utilizar algún algoritmo que produzca probabilidades para Vasya, Fedya y Lesha, por ejemplo, iguales a 0.99, 0.99 y 0.01, respectivamente? Quizás dicho algoritmo funcione bien en la muestra de entrenamiento, ya que acercará el valor de probabilidad de la muestra a Masticando la regresión logística, pero, en primer lugar, lo más probable es que dicho algoritmo tenga dificultades con la capacidad de generalización y, en segundo lugar, este algoritmo definitivamente no será lineal. Y si los métodos para combatir el sobreentrenamiento (capacidad de generalización igualmente débil) claramente no están incluidos en el plan de este artículo, entonces analicemos el segundo punto con más detalle. Para hacer esto, simplemente responda una pregunta simple. ¿Puede ser la misma la probabilidad de que Vasya y Fedya paguen el préstamo, teniendo en cuenta los factores que conocemos? Desde el punto de vista de la buena lógica, por supuesto que no, no puede ser así. Así, Vasya pagará el 2.5% de su salario mensual para pagar el préstamo, y Fedya, casi el 27,8%. También en el gráfico 2 “Clasificación de clientes” vemos que Vasya está mucho más lejos de la línea que separa las clases que Fedya. Y finalmente sabemos que la función Masticando la regresión logística para Vasya y Fedya toma valores diferentes: 4.24 para Vasya y 1.0 para Fedya. Ahora bien, si Fedya, por ejemplo, ganara un orden de magnitud más o solicitara un préstamo menor, entonces las probabilidades de pagar el préstamo para Vasya y Fedya serían similares. En otras palabras, no se puede engañar a la dependencia lineal. Y si realmente calculáramos las probabilidades Masticando la regresión logísticay no los sacamos de la nada, podríamos decir con seguridad que nuestros valores Masticando la regresión logística mejor nos permiten estimar la probabilidad de pago del préstamo por parte de cada prestatario, pero como acordamos suponer que la determinación de los coeficientes Masticando la regresión logística se llevó a cabo de acuerdo con todas las reglas, entonces lo asumiremos: nuestros coeficientes nos permiten dar una mejor estimación de la probabilidad :)

Sin embargo, estamos divagando. En esta sección necesitamos entender cómo se determina el vector de pesos. Masticando la regresión logística, que es necesario para evaluar la probabilidad de reembolso del préstamo por parte de cada prestatario.

Resumamos brevemente con qué arsenal buscamos probabilidades. Masticando la regresión logística:

1. Suponemos que la relación entre la variable objetivo (valor de predicción) y el factor que influye en el resultado es lineal. Por esta razón se utiliza función de regresión lineal formulario Masticando la regresión logística, cuya línea divide los objetos (clientes) en clases Masticando la regresión logística и Masticando la regresión logística o Masticando la regresión logística (clientes que pueden pagar el préstamo y los que no). En nuestro caso, la ecuación tiene la forma Masticando la regresión logística.

2. Usamos función logit inversa formulario Masticando la regresión logística para determinar la probabilidad de que un objeto pertenezca a una clase Masticando la regresión logística.

3. Consideramos nuestro conjunto de formación como una implementación de un sistema generalizado. Esquemas de Bernoulli, es decir, para cada objeto se genera una variable aleatoria, que con probabilidad Masticando la regresión logística (el suyo para cada objeto) toma el valor 1 y con probabilidad Masticando la regresión logística - 0.

4. Sabemos lo que necesitamos maximizar función de probabilidad de muestra teniendo en cuenta los factores aceptados para que la muestra disponible sea la más plausible. En otras palabras, debemos seleccionar los parámetros en los que la muestra será más plausible. En nuestro caso, el parámetro seleccionado es la probabilidad de reembolso del préstamo. Masticando la regresión logística, que a su vez depende de coeficientes desconocidos Masticando la regresión logística. Entonces necesitamos encontrar tal vector de pesos. Masticando la regresión logística, en el que la probabilidad de la muestra será máxima.

5. Sabemos qué maximizar funciones de probabilidad de muestra Se puede utilizar método de máxima verosimilitud. Y conocemos todos los trucos para trabajar con este método.

Así es como resulta ser un movimiento de varios pasos :)

Ahora recuerde que al principio del artículo queríamos derivar dos tipos de funciones de pérdida. Pérdida logística dependiendo de cómo se designen las clases de objetos. Sucedió que en problemas de clasificación con dos clases, las clases se denotan como Masticando la regresión logística и Masticando la regresión logística o Masticando la regresión logística. Dependiendo de la notación, la salida tendrá una función de pérdida correspondiente.

Caso 1. Clasificación de objetos en Masticando la regresión logística и Masticando la regresión logística

Anteriormente, al determinar la probabilidad, se utilizó una muestra en la que la probabilidad de pago de la deuda por parte del prestatario se calculó en función de factores y coeficientes dados. Masticando la regresión logística, aplicamos la fórmula:

Masticando la regresión logística

En realidad Masticando la regresión logística es el significado funciones de respuesta logística Masticando la regresión logística para un vector de pesos dado Masticando la regresión logística

Entonces nada nos impide escribir la función de probabilidad muestral de la siguiente manera:

Masticando la regresión logística

Sucede que a veces a algunos analistas novatos les resulta difícil comprender de inmediato cómo funciona esta función. Veamos 4 breves ejemplos que lo aclararán todo:

1. si Masticando la regresión logística (es decir, según la muestra de entrenamiento, el objeto pertenece a la clase +1), y nuestro algoritmo Masticando la regresión logística determina la probabilidad de clasificar un objeto en una clase Masticando la regresión logística es igual a 0.9, entonces esta probabilidad de muestra se calculará de la siguiente manera:

Masticando la regresión logística

2. si Masticando la regresión logísticaY Masticando la regresión logística, entonces el cálculo será así:

Masticando la regresión logística

3. si Masticando la regresión logísticaY Masticando la regresión logística, entonces el cálculo será así:

Masticando la regresión logística

4. si Masticando la regresión logísticaY Masticando la regresión logística, entonces el cálculo será así:

Masticando la regresión logística

Es obvio que la función de probabilidad se maximizará en los casos 1 y 3 o en el caso general, con valores adivinados correctamente de las probabilidades de asignar un objeto a una clase. Masticando la regresión logística.

Debido a que al determinar la probabilidad de asignar un objeto a una clase Masticando la regresión logística Sólo no conocemos los coeficientes. Masticando la regresión logística, entonces los buscaremos. Como se mencionó anteriormente, este es un problema de optimización en el que primero necesitamos encontrar la derivada de la función de probabilidad con respecto al vector de pesos. Masticando la regresión logística. Sin embargo, primero tiene sentido simplificarnos la tarea: buscaremos la derivada del logaritmo. funciones de probabilidad.

Masticando la regresión logística

¿Por qué después del logaritmo, en funciones de error logístico, cambiamos el signo de Masticando la regresión logística en Masticando la regresión logística. Todo es sencillo, ya que en las tareas de evaluación de la calidad de un modelo se acostumbra minimizar el valor de una función, multiplicamos el lado derecho de la expresión por Masticando la regresión logística y en consecuencia, en lugar de maximizar, ahora minimizamos la función.

En realidad, ahora mismo, ante tus ojos, la función de pérdida se derivó minuciosamente... Pérdida logística para un conjunto de entrenamiento con dos clases: Masticando la regresión logística и Masticando la regresión logística.

Ahora, para encontrar los coeficientes, solo necesitamos encontrar la derivada. funciones de error logístico y luego, utilizando métodos de optimización numérica, como el descenso de gradiente o el descenso de gradiente estocástico, seleccione los coeficientes más óptimos Masticando la regresión logística. Pero, dado el considerable volumen del artículo, se propone realizar la diferenciación usted mismo, o quizás este sea un tema para el próximo artículo con mucha aritmética sin ejemplos tan detallados.

Caso 2. Clasificación de objetos en Masticando la regresión logística и Masticando la regresión logística

El enfoque aquí será el mismo que con las clases. Masticando la regresión logística и Masticando la regresión logística, pero el camino mismo hacia la salida de la función de pérdida Pérdida logística, será más adornado. Empecemos. Para la función de probabilidad usaremos el operador "Si... entonces...". Es decir, si Masticando la regresión logísticaEl décimo objeto pertenece a la clase. Masticando la regresión logística, luego para calcular la probabilidad de la muestra usamos la probabilidad Masticando la regresión logística, si el objeto pertenece a la clase Masticando la regresión logística, luego sustituimos en la probabilidad Masticando la regresión logística. Así es como se ve la función de probabilidad:

Masticando la regresión logística

Describamos con nuestros dedos cómo funciona. Consideremos 4 casos:

1. si Masticando la regresión logística и Masticando la regresión logística, entonces la probabilidad de muestreo “irá” Masticando la regresión logística

2. si Masticando la regresión logística и Masticando la regresión logística, entonces la probabilidad de muestreo “irá” Masticando la regresión logística

3. si Masticando la regresión logística и Masticando la regresión logística, entonces la probabilidad de muestreo “irá” Masticando la regresión logística

4. si Masticando la regresión logística и Masticando la regresión logística, entonces la probabilidad de muestreo “irá” Masticando la regresión logística

Es obvio que en los casos 1 y 3, cuando el algoritmo determinó correctamente las probabilidades, función de probabilidad se maximizará, es decir, esto es exactamente lo que queríamos obtener. Sin embargo, este enfoque es bastante engorroso y a continuación consideraremos una notación más compacta. Pero primero, logaritmemos la función de probabilidad con un cambio de signo, ya que ahora la minimizaremos.

Masticando la regresión logística

Sustituyamos en su lugar Masticando la regresión logística expresión Masticando la regresión logística:

Masticando la regresión logística

Simplifiquemos el término correcto bajo el logaritmo usando técnicas aritméticas simples y obtengamos:

Masticando la regresión logística

Ahora es el momento de deshacerse del operador. "Si... entonces...". Tenga en cuenta que cuando un objeto Masticando la regresión logística pertenece a la clase Masticando la regresión logística, luego en la expresión bajo el logaritmo, en el denominador, Masticando la regresión logística elevado al poder Masticando la regresión logística, si el objeto pertenece a la clase Masticando la regresión logística, entonces $e$ se eleva a la potencia Masticando la regresión logística. Por tanto, la notación del grado se puede simplificar combinando ambos casos en uno solo: Masticando la regresión logística. Entonces función de error logístico tomará la forma:

Masticando la regresión logística

De acuerdo con las reglas del logaritmo, le damos la vuelta a la fracción y le ponemos el signo "Masticando la regresión logística" (menos) para el logaritmo, obtenemos:

Masticando la regresión logística

Aquí está la función de pérdida. pérdida logística, que se utiliza en el conjunto de entrenamiento con objetos asignados a clases: Masticando la regresión logística и Masticando la regresión logística.

Bueno, llegados a este punto me despido y damos por concluido el artículo.

Masticando la regresión logística El trabajo anterior del autor es "Traer la ecuación de regresión lineal a forma matricial".

materiales auxiliares

1 Literatura

1) Análisis de regresión aplicada / N. Draper, G. Smith - 2ª ed. – M.: Finanzas y Estadísticas, 1986 (traducción del inglés)

2) Teoría de la probabilidad y estadística matemática / V.E. Gmurman - 9ª ed. - M.: Escuela Superior, 2003

3) Teoría de la probabilidad / N.I. Chernova - Novosibirsk: Universidad Estatal de Novosibirsk, 2007

4) Análisis empresarial: de los datos al conocimiento / 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 Petersburgo, 2017

6) Estadísticas prácticas para especialistas en ciencia de datos / P. Bruce, E. Bruce - San Petersburgo: BHV Petersburgo, 2018

2. Conferencias, cursos (video)

1) La esencia del método de máxima verosimilitud, Boris Demeshev

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

3) Regresión logística. Curso abierto ODS, Yury Kashnitsky

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

5) Regresión logística, Vyacheslav Vorontsov

3. Fuentes de Internet

1) Modelos de clasificación y regresión lineal.

2) Cómo entender fácilmente la regresión logística

3) Función de error logístico

4) Pruebas independientes y fórmula de Bernoulli.

5) Balada de MMP

6) método de máxima verosimilitud

7) Fórmulas y propiedades de los logaritmos.

8) por que numero Masticando la regresión logística?

9) clasificador lineal

Fuente: habr.com

Añadir un comentario