Cuando un modelo de regresión logística tiene demasiadas variables independientes, es muy probable que termine memorizando los datos en lugar de aprender patrones útiles. Los regularizadores son la herramienta clave para combatir ese problema, y entender cómo funcionan marca la diferencia entre un modelo que solo funciona en entrenamiento y uno que realmente generaliza.
¿Por qué el overfitting es un problema en regresión logística?
El overfitting ocurre cuando un modelo se ajusta demasiado a los datos de entrenamiento y pierde capacidad de generalización [0:28]. Esto es especialmente común en modelos de regresión logística con muchos features o variables dependientes. Un modelo muy complejo aprende el ruido de los datos, no los patrones reales.
La solución directa es reducir la complejidad del modelo, y eso se logra disminuyendo el peso de cada weight o parámetro dentro de la regresión logística [0:50]. El mecanismo para lograrlo es aplicar una penalización adicional a la función de costo.
¿Cómo funcionan los regularizadores L1 y L2?
Existen dos tipos principales de regularización que se pueden aplicar:
¿Qué hace el regularizador L1?
El regularizador L1 agrega a la función de costo la suma de los valores absolutos de todos los pesos evaluados en cada feature de la regresión logística [1:10]. Esta suma se multiplica por un valor llamado lambda, que es completamente parametrizable.
- Valores de lambda muy bajos castigan muy poco y pueden no resolver el overfitting.
- Valores de lambda muy altos castigan demasiado y pueden provocar underfitting [1:30].
¿Qué hace el regularizador L2?
El regularizador L2 funciona de manera similar, pero en lugar de usar el valor absoluto, toma el valor cuadrático de todos los pesos para realizar la suma [1:42]. También se multiplica por el valor de lambda.
Ambos regularizadores cumplen el mismo objetivo: reducir la complejidad de los pesos y, en consecuencia, la complejidad general del modelo de regresión logística.
¿Cómo se configuran los regularizadores en scikit-learn?
La implementación es más sencilla de lo que parece, ya que por default la regresión logística ya aplica un regularizador [2:05]:
- El parámetro penalty controla qué tipo de regularización se usa. Por defecto siempre viene configurado como L2.
- También se puede seleccionar L1, elasticnet o ninguna penalización.
- El parámetro C es el equivalente a lambda y controla la intensidad de la penalización [2:25]. Su valor por defecto es 1.0.
Si te encuentras con un problema de overfitting al aplicar regresión logística, el proceso es directo:
- Selecciona el tipo de penalizador (L1 o L2).
- Ajusta el valor de C iterativamente hasta obtener mejores resultados.
- Evalúa el rendimiento del modelo con cada configuración.
La clave está en encontrar el equilibrio correcto del parámetro C: demasiado bajo y el modelo sigue siendo complejo, demasiado alto y pierde capacidad de aprendizaje. Experimentar con diferentes valores es parte fundamental del proceso de optimización de cualquier modelo de machine learning.