Comprender la matemática detrás de un algoritmo de clasificación tan popular como la regresión logística permite tomar mejores decisiones al modelar datos. Aquí se descompone paso a paso cómo la función sigmoide, los odds y la regresión lineal se conectan para producir probabilidades entre cero y uno.
¿Qué es la función sigmoide y por qué produce una curva en forma de S?
La función sigmoide es la base matemática de la regresión logística [0:30]. Se expresa así:
P = 1 / (1 + e^(−z))
Sin importar qué valores reciba la variable z, el resultado siempre queda entre cero y uno, lo que la hace perfecta para representar probabilidades y realizar una predicción binomial (verdadero o falso, cero o uno) [1:10].
Un buen ejercicio para comprobarlo consiste en:
- Crear la función sigmoide en Python.
- Enviarle de forma iterativa valores entre −10 y 10 usando NumPy.
- Guardar los resultados en un array y graficarlos.
El resultado siempre será una curva sigmoidal en forma de S, acotada entre cero y uno [1:25].
¿Qué son los odds y los log odds en probabilidad?
La variable z que alimenta la sigmoide se puede expresar mediante los odds [2:00]. Los odds representan la relación entre la probabilidad de que un evento ocurra y la probabilidad contraria:
odds = P / (1 − P)
Por ejemplo, si la probabilidad de éxito es del 80 % [2:20]:
- odds = 0.80 / 0.20 = 4.
- Ese 4 no es la probabilidad; indica que el evento es cuatro veces más probable de ocurrir que de no ocurrir.
¿Por qué se aplica el logaritmo a los odds?
Al calcular el logaritmo de los odds (log odds) se consigue simetría alrededor del cero y un manejo más limpio de valores extremos (infinitos positivos y negativos) [2:55].
Veamos un ejemplo concreto [3:10]:
- P = 0.4 → odds = 0.4 / 0.6 = 0.66 → log(0.66) = −0.176.
- P = 0.6 → odds = 0.6 / 0.4 = 1.5 → log(1.5) = +0.176.
Ambos resultados tienen la misma magnitud pero signo contrario, lo que facilita la interpretación y la representación gráfica para los algoritmos.
¿Cómo se conecta la regresión lineal con la regresión logística?
La fórmula de la regresión lineal ya es conocida [3:55]:
y = β₀ + β₁ · x
Donde β₀ es el intercepto (constante), β₁ es la pendiente y x es la variable independiente. Esta ecuación traza una línea recta que predice un valor continuo [4:20].
¿Por qué no basta con reemplazar y por probabilidad?
Si simplemente se sustituye y por P, el resultado podría salir del rango 0–1, algo inadmisible para una probabilidad [4:50]. La solución es:
- Expresar los odds como la fórmula lineal: log(P / (1 − P)) = β₀ + β₁ · x [4:05].
- Aplicar el exponencial a ambos lados y despejar P mediante álgebra [5:20].
- Obtener la forma final de la sigmoide con la regresión lineal integrada:
P = 1 / (1 + e^(−(β₀ + β₁ · x)))
Ese término z del inicio se reemplaza completamente por la fórmula de la regresión lineal [5:40]. La regresión lineal resuelve la relación entre variables (positiva o negativa), y la función sigmoide transforma ese resultado en una probabilidad acotada entre cero y uno [6:00].
¿Por qué se llama regresión si clasifica?
Aunque la regresión logística realiza una clasificación (no predice un valor continuo), se apoya internamente en la regresión lineal para calcular los odds [6:15]. Por eso conserva el nombre de regresión. La línea recta genera un valor continuo que, al pasar por la sigmoide, se convierte en la probabilidad necesaria para decidir la clase (cero o uno) [6:30].
Este mecanismo es lo que hace a la regresión logística tan elegante y útil en clasificación binaria: combina la simplicidad de una recta con la potencia de una curva sigmoidal para entregar probabilidades interpretables. Si ya implementaste el reto de graficar la sigmoide en Python, comparte tu solución en los comentarios.