Sobes.tech
Junior — Middle

¿Qué es el sobreajuste? ¿Cuáles son las formas de combatirlo?

sobes.tech AI

Respuesta de la IA

El sobreajuste (overfitting) es una situación en la que un modelo de aprendizaje automático se ajusta demasiado bien a los datos de entrenamiento, incluyendo el ruido y las fluctuaciones aleatorias, y por eso generaliza mal a datos nuevos e invisibles.

Formas de combatir el sobreajuste:

  • Regularización (L1, L2) — añadir una penalización por la complejidad del modelo para evitar pesos demasiado grandes.
  • Detención temprana — detener el entrenamiento cuando la calidad en el conjunto de validación empieza a deteriorarse.
  • Aumentar el volumen de datos — más datos ayudan al modelo a generalizar mejor.
  • Validación cruzada — ayuda a evaluar la capacidad de generalización del modelo y a ajustar los parámetros.
  • Dropout (para redes neuronales) — apagar aleatoriamente neuronas durante el entrenamiento para prevenir dependencias de características específicas.
  • Simplificación del modelo — reducir el número de parámetros o capas.

Ejemplo de regularización en regresión lineal:

from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)  # Regularización L2
model.fit(X_train, y_train)