IOKELU
Nivel: Inteligencia Artificial – Intermedio (Guía 9)

Regularización

La regularización es una técnica clave para evitar el sobreajuste (overfitting). Cuando un modelo aprende demasiado los datos de entrenamiento, pierde capacidad de generalización. La regularización controla la complejidad del modelo y mejora su rendimiento en datos nuevos.

Tabla de contenidos

  • Qué es la regularización
  • Overfitting vs underfitting
  • Regularización L1 (Lasso)
  • Regularización L2 (Ridge)
  • Elastic Net
  • Regularización en Scikit‑Learn
  • Ejercicios
  • Mini‑proyecto

1. Qué es la regularización

La regularización añade una penalización a los parámetros del modelo para evitar que crezcan demasiado y provoquen sobreajuste.

# Concepto
modelo_simple → generaliza mejor
modelo_complejo → riesgo de overfitting

2. Overfitting vs underfitting

# Señales de overfitting
accuracy_train = 0.98
accuracy_test = 0.72

3. Regularización L1 (Lasso)

L1 reduce algunos coeficientes a cero, lo que también sirve como selección de características.

from sklearn.linear_model import Lasso

model = Lasso(alpha=0.1)
model.fit(X_train, y_train)

4. Regularización L2 (Ridge)

L2 reduce los coeficientes pero no los lleva a cero. Es la regularización más común.

from sklearn.linear_model import Ridge

model = Ridge(alpha=1.0)
model.fit(X_train, y_train)

5. Elastic Net

Elastic Net combina L1 y L2, equilibrando selección de características y estabilidad.

from sklearn.linear_model import ElasticNet

model = ElasticNet(alpha=0.1, l1_ratio=0.5)
model.fit(X_train, y_train)

6. Regularización en Scikit‑Learn

Muchos modelos incluyen regularización por defecto, como la regresión logística.

from sklearn.linear_model import LogisticRegression

model = LogisticRegression(C=0.5)  # menor C = más regularización
model.fit(X_train, y_train)

C controla la fuerza de la regularización (inverso de alpha).

7. Ejercicios

8. Mini‑proyecto: Regularización completa

Toma un dataset real y realiza:


Siguiente guía

Optimización de hiperparámetros →