¿Cuál es la derivación matemática de la regresión logística?

La regresión logística es uno de esos algoritmos de aprendizaje automático (ML) que en realidad no son recuadros negros porque entendemos exactamente lo que hace un modelo de regresión logística. Los modelos de caja negra son normalmente las versiones más complejas, como una red neuronal muy profunda (DNN).

Con eso, dicha regresión logística puede ser binaria (binomial), multinomial u ordinal.

  • La regresión logística binomial implica un resultado con solo dos categorías posibles.
  • La regresión logística multinomial es una extensión natural de la regresión logística binomial e implica un resultado con tres o más categorías posibles.
  • Ordinal es solo una regresión logística multinomial mediante la cual se ordenan las categorías.

Dicho esto, una discusión completa de la regresión logística no puede caber en una sola respuesta de Quora. Por lo tanto, solo me centraré en la versión simplificada de la regresión logística binomial y, naturalmente, la extenderé a la regresión logística multinomial.


El resultado en la regresión logística binomial puede ser un 0 o un 1. La idea es estimar la probabilidad de que un resultado sea un 1 o un 0. Dado que la probabilidad de que el resultado sea un 1 viene dada por p, entonces la probabilidad de no ocurre está dado por 1-p. Esto puede verse como un caso especial de distribución binomial llamada distribución de Bernoulli.

La idea en la regresión logística es proyectar el problema en forma de modelo de regresión lineal generalizado [1].

[matemáticas] \ hat {y} = \ beta_0 + \ beta_1 {x_1} +… + \ beta_ {n} x_ {n} [/ matemáticas]

donde [math] \ hat {y} [/ math] = valor predicho, [math] x [/ math] = variables independientes y [math] \ beta [/ math] son ​​coeficientes para aprender.

Esto se puede expresar de forma compacta en forma de vector:

[matemáticas] w ^ {T} = [\ beta_0, \ beta_1,…, \ beta_ {n}] [/ matemáticas]

[matemáticas] x ^ {T} = [1, x_1,…, x_ {n}] [/ matemáticas]

Entonces

[matemáticas] \ hat {y} = w ^ {T} x [/ matemáticas]

Pero esto es una cuestión de regresión lineal, por lo que debemos encontrar una manera de emitir el problema de regresión logística de manera que al menos se pueda usar la expresión anterior. Por lo tanto, si calculamos las probabilidades del resultado como:

[matemáticas] cuotas (p) = \ frac {p} {1-p} [/ matemáticas]

Podemos acercarnos un paso más a plantear el problema de una manera lineal continua, pero esto sigue teniendo valores positivos, necesitamos un rango de [math] (- \ infty, + \ infty) [/ math].

Eso se puede hacer obteniendo el logaritmo (natural) de las probabilidades como:

[matemáticas] logit (p) = log (\ frac {p} {1-p}) [/ matemáticas]

Esto ahora varía continuamente lineal y, por lo tanto, podemos hacer lo siguiente:

[matemáticas] logit (p) = \ hat {y} = w ^ {T} x [/ matemáticas]

Por lo tanto, la función logit actúa como un enlace entre la regresión logística y la regresión lineal y, por lo tanto, se denomina función de enlace.

Después de estimar los pesos [math] w [/ math] podemos tomar el inverso de logit para obtener la probabilidad p como se indica a continuación:

[matemáticas] logit (p) = log (\ frac {p} {1-p}) [/ matemáticas]

Tomar la exponencial natural en ambos lados da:

[matemáticas] e ^ {logit (p)} = \ frac {p} {1-p} [/ matemáticas]

Luego, agregar 1 en ambos lados da:

[matemáticas] e ^ {\ hat {y}} + 1 = \ frac {p} {1-p} +1 [/ matemáticas]

[matemáticas] e ^ {\ hat {y}} + 1 = \ frac {1} {1-p} [/ matemáticas]

Cambiar el tema de la fórmula a 1-p da:

[matemáticas] 1-p = \ frac {1} {e ^ {\ hat {y}} + 1} [/ matemáticas]

Luego restando 1 de ambos lados para dar:

[matemáticas] -p = \ frac {1} {e ^ {\ hat {y}} + 1} -1 [/ matemáticas]

Multiplique por -1 en ambos lados para obtener:

[matemáticas] p = 1- \ frac {1} {e ^ {\ hat {y}} + 1} [/ matemáticas]

[matemáticas] p = \ frac {e ^ {\ hat {y}}} {e ^ {\ hat {y}} + 1} [/ matemáticas]

Luego divida el numerador y el denominador entre [matemáticas] e ^ {\ hat {y}} [/ matemáticas] para obtener:

[matemáticas] p = \ frac {1} {1 + e ^ {- \ hat {y}}} [/ matemáticas]

¿Luce familiar?

Por supuesto, es una función logística (sigmoidea).

Desde este punto, podemos emitir una regresión logística en forma de una red neuronal de una sola capa (NN) con una función de activación sigmoidea. Lo que significa que podemos estimar los parámetros de peso utilizando el descenso de gradiente estocástico (SGD) habitual minimizando la función de pérdida de entropía cruzada dada por:

[matemática] l (p, y) = – ylog (p) – (1-y) log (1-p) [/ matemática]

Donde [matemáticas] y \ en [0,1] [/ matemáticas]

La regresión logística multinomial puede consistir en agregar más neuronas sigmoideas en la capa. Y en lugar de usar la función logística, podemos usar el softmax como la función de activación para mantener la salida como una distribución de probabilidad. La pérdida en el caso de regresión logística multinomial con un softmax se convierte en la pérdida de probabilidad logarítmica.


Por lo tanto, para simplificar, debe analizar la regresión logística a partir de la formulación moderna de técnicas de ML estándar, como la regularización y la optimización de la función de pérdida, utilizando métodos de optimización de gradiente decentes.

Una vez que deriva la función logística como se indicó anteriormente, se hace necesario tratar el resto del problema de regresión logística como un solo NN en capas con funciones de activación sigmoideas. De esa forma podemos resolver todo el problema de regresión logística mediante algoritmos de descenso de gradiente estándar.

En algunos casos, las derivadas de las funciones de pérdida complejas se evalúan utilizando la diferenciación automática [2] o la diferenciación numérica [3], que en sí mismas no son cosas tan complejas.

Espero que esto ayude.

Notas al pie

[1] Modelo lineal generalizado – Wikipedia

[2] Diferenciación automática – Wikipedia

[3] Diferenciación numérica – Wikipedia