En el mundo del aprendizaje automático, existe una delgada línea entre un modelo que aprende bien y uno que falla estrepitosamente. Dos de los problemas más comunes que encontramos son el overfitting (sobreajuste) y el underfitting (subajuste). Vamos a entender qué son y cómo evitarlos, sin entrar en tecnicismos innecesarios.

Overfitting: Cuando el modelo se aprende los datos de memoria

Imagina que estás preparando a un estudiante para un examen. Si le haces memorizar todas las preguntas y respuestas exactas de los exámenes anteriores, podrá sacar notas perfectas… pero solo en esos exámenes específicos. Cuando enfrente preguntas nuevas o ligeramente diferentes, fracasará. Esto es exactamente lo que hace un modelo con overfitting.

Características del overfitting:

  • El modelo funciona perfectamente con los datos de entrenamiento
  • Tiene un rendimiento pobre con datos nuevos que nunca ha visto
  • Captura no solo los patrones reales, sino también el “ruido” (variaciones aleatorias) en los datos

Ejemplo práctico: Un modelo que predice precios de viviendas y se ajusta tanto a los datos de entrenamiento que hasta memoriza errores de medición o casos atípicos.

Underfitting: Cuando el modelo no aprende lo suficiente

En el otro extremo tenemos el underfitting. Siguiendo nuestra analogía del estudiante, sería como si no estudiara lo suficiente para el examen. No capta los patrones importantes y su rendimiento es pobre tanto en los datos de entrenamiento como en los nuevos.

Características del underfitting:

  • El modelo tiene mal rendimiento incluso con los datos de entrenamiento
  • Es demasiado simple para capturar la complejidad de los datos
  • No identifica los patrones subyacentes importantes

Ejemplo práctico: Intentar predecir precios de viviendas usando solo el tamaño como variable, ignorando ubicación, número de habitaciones, etc.

¿Cómo encontrar el punto justo?

El arte del machine learning está en encontrar el equilibrio entre estos dos extremos. Algunas estrategias útiles:

Para evitar overfitting:

  • Usar más datos de entrenamiento
  • Simplificar el modelo (reducir su complejidad)
  • Aplicar técnicas de regularización
  • Usar validación cruzada
  • Implementar dropout en redes neuronales

Para evitar underfitting:

  • Aumentar la complejidad del modelo
  • Agregar más características relevantes
  • Reducir las restricciones de regularización
  • Entrenar por más tiempo (en algunos casos)

La prueba definitiva: Validación

La mejor manera de detectar estos problemas es dividiendo nuestros datos:

  • Datos de entrenamiento: Para enseñar al modelo
  • Datos de validación: Para ajustar parámetros
  • Datos de prueba: Para evaluar el rendimiento final

Si el modelo va muy bien en entrenamiento pero mal en validación/prueba: overfitting. Si va mal en ambos: underfitting.

En la práctica…

Estos no son problemas teóricos. Tienen consecuencias reales:

  • Un modelo con overfitting puede llevar a malas decisiones empresariales
  • Un modelo con underfitting puede no aportar ningún valor
  • El equilibrio adecuado depende del problema específico

Como regla general, es mejor pecar de simple que de complejo. Un modelo ligeramente simple pero robusto suele ser más útil en el mundo real que uno extremadamente complejo pero frágil.

La próxima vez que trabajes con machine learning, recuerda: no queremos un loro que repita todo literalmente (overfitting), ni un estudiante distraído que no aprenda nada (underfitting). Queremos un alumno aplicado que entienda los conceptos fundamentales y pueda aplicarlos a situaciones nuevas.

By Ainus