Regresión logística: Cómo calcular una probabilidad con la función sigmoidea

Muchos problemas requieren una estimación de probabilidad como resultado. La regresión logística es un mecanismo extremadamente eficiente para calcular probabilidades. En la práctica, puedes usar la probabilidad que se devuelve de una de las siguientes dos maneras:

  • Se aplica "tal cual". Por ejemplo, si un modelo de predicción de spam toma un correo electrónico como entrada y genera un valor de 0.932, esto implica una probabilidad de 93.2% de que el correo electrónico sea spam.

  • Se convierte en una categoría binaria, como True o False, Spam o Not Spam.

Este módulo se enfoca en usar el resultado del modelo de regresión logística tal como está. En el módulo de clasificación, aprenderás a convertir este resultado en una categoría binaria.

Función sigmoidea

Tal vez te preguntes cómo un modelo de regresión logística puede garantizar que su resultado represente una probabilidad y siempre genere un valor entre 0 y 1. Como suele pasar, existe una familia de funciones llamadas funciones logísticas cuyo resultado tiene esas mismas características. La función logística estándar, también conocida como función sigmoidea (sigmoid significa "en forma de S"), tiene la siguiente fórmula:

\[f(x) = \frac{1}{1 + e^{-x}}\]

Donde:

  • f(x) es el resultado de la función sigmoidea.
  • e es el número de Euler, una constante matemática ≈ 2.71828.
  • x es la entrada de la función sigmoidea.

En la figura 1, se muestra el gráfico correspondiente de la función sigmoidea.

Curva sigmoidal (en forma de S) trazada en el plano de coordenadas cartesianas, centrada en el origen.
Figura 1: Gráfico de la función sigmoidea. La curva se acerca a 0 a medida que los valores de x disminuyen hacia el infinito negativo, y a 1 a medida que los valores de x aumentan hacia el infinito.

A medida que aumenta la entrada, x, el resultado de la función sigmoidea se acerca a 1, pero nunca lo alcanza. Del mismo modo, a medida que la entrada disminuye, el resultado de la función sigmoide se acerca a 0, pero nunca lo alcanza.

Haz clic aquí para obtener más información sobre las matemáticas detrás de la función sigmoidea

En la siguiente tabla, se muestran los valores de salida de la función sigmoidea para los valores de entrada en el rango de -7 a 7. Observa con qué rapidez la sigmoidea se acerca a 0 para los valores de entrada negativos decrecientes y con qué rapidez se acerca a 1 para los valores de entrada positivos crecientes.

Sin embargo, independientemente de qué tan grande o pequeño sea el valor de entrada, el resultado siempre será mayor que 0 y menor que 1.

Entrada Salida sigmoidea
-7 0.001
-6 0.002
-5 0.007
-4 0.018
-3 0.047
-2 0.119
-1 0.269
0 0.50
1 0.731
2 0.881
3 0.952
4 0.982
5 0.993
6 0.997
7 0.999

Transformación de la salida lineal con la función sigmoidea

La siguiente ecuación representa el componente lineal de un modelo de regresión logística:

\[z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N\]

Donde:

  • z es el resultado de la ecuación lineal, también llamado log-odds.
  • b es el sesgo.
  • Los valores de w son los pesos aprendidos del modelo.
  • Los valores x son los valores de atributo para un ejemplo en particular.

Para obtener la predicción de regresión logística, el valor de z se pasa a la función sigmoidea, lo que genera un valor (una probabilidad) entre 0 y 1:

\[y' = \frac{1}{1 + e^{-z}}\]

Donde:

  • y' es el resultado del modelo de regresión logística.
  • e es el número de Euler, una constante matemática ≈ 2.71828.
  • z es la salida lineal (como se calculó en la ecuación anterior).

Haz clic aquí para obtener más información sobre los log-odds

En la ecuación $z = b + w_1x_1 + w_2x_2 + \ldots + w_Nx_N$, z se conoce como el logaritmo de probabilidad porque, si comienzas con la siguiente función sigmoidea (en la que $y$ es el resultado de un modelo de regresión logística que representa una probabilidad):

$$y = \frac{1}{1 + e^{-z}}$$

Luego, resuelve z:

$$ z = \log\left(\frac{y}{1-y}\right) $$

Luego, z se define como el logaritmo de la proporción de las probabilidades de los dos resultados posibles: y y 1 – y.

En la figura 2, se ilustra cómo se transforma el resultado lineal en el resultado de la regresión logística con estos cálculos.

Izquierda: Línea con los puntos (-7.5, -10), (-2.5, 0) y (0, 5) destacados. Derecha: Curva sigmoide con los puntos transformados correspondientes (-10, 0.00004), (0, 0.5) y (5, 0.9933) destacados.
Figura 2: A la izquierda: Gráfico de la función lineal z = 2x + 5, con tres puntos destacados. Derecha: Curva sigmoidea con los mismos tres puntos destacados después de transformarse con la función sigmoidea.

En la figura 2, una ecuación lineal se convierte en la entrada de la función sigmoidea, que curva la línea recta en forma de S. Ten en cuenta que la ecuación lineal puede generar valores de z muy grandes o muy pequeños, pero el resultado de la función sigmoidea, y', siempre está entre 0 y 1, sin incluir estos valores. Por ejemplo, el cuadrado amarillo del gráfico de la izquierda tiene un valor de Z de -10, pero la función sigmoidea del gráfico de la derecha asigna ese -10 a un valor de Y' de 0.00004.

Ejercicio: Comprueba tus conocimientos

Un modelo de regresión logística con tres atributos tiene los siguientes pesos y polarización:

\[\begin{align} b &= 1 \\ w_1 &= 2 \\ w_2 &= -1 \\ w_3 &= 5 \end{align} \]

Dados los siguientes valores de entrada:

\[\begin{align} x_1 &= 0 \\ x_2 &= 10 \\ x_3 &= 2 \end{align} \]

Responde las siguientes dos preguntas.

1. ¿Cuál es el valor de z para estos valores de entrada?
–1
0
0.731
1
Correcto. La ecuación lineal definida por los pesos y la desviación es z = 1 + 2x1 – x2 + 5x3. Si se reemplazan los valores de entrada en la ecuación, se obtiene z = 1 + (2)(0) - (10) + (5)(2) = 1.
2. ¿Cuál es la predicción de regresión logística para estos valores de entrada?
0.268
0.5
0.731

Como se calculó en el punto 1 anterior, las probabilidades logarítmicas para los valores de entrada son 1. Si reemplazamos ese valor de z en la función sigmoidea, obtenemos lo siguiente:

\(y = \frac{1}{1 + e^{-z}} = \frac{1}{1 + e^{-1}} = \frac{1}{1 + 0.367} = \frac{1}{1.367} = 0.731\)

1
Recuerda que el resultado de la función sigmoide siempre será mayor que 0 y menor que 1.