2.18 - Underfitting y Overfitting
Lección 18 de la sección “Redes Neuronales” del curso Fundamentos de Deep Learning con Python.
Tabla de contenido
Introducción
En la lección anterior hablamos de como subdividir nuestro set de datos en los sets de entrenamiento, prueba y validación, para poder elegir los hiperparámetros del modelo y posteriormente ponerlo a prueba.
Y cuando hablamos de ponerlo a prueba nos referimos a su capacidad de generalizar, es decir de generar buenas predicciones no sólo con el set de entrenamiento sino con el de prueba.
Y esta capacidad de generalizar se mide comparando la métrica de desempeño para los sets de entrenamiento y prueba, caso en el cual se puede presentar uno de dos fenómenos: underfitting y overfitting.
Este análisis nos permitirá determinar si el modelo funciona adecuadamente o si necesita algún tipo de ajuste. Así que veamos en detalle qué son estos conceptos de underfitting y overfitting.
Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Desempeño del modelo con los sets de entrenamiento y prueba
Los errores obtenidos con los sets de entrenamiento y prueba son la guía más importante durante el entrenamiento de una Red Neuronal.
Dependiendo de cómo se relacionen estos dos errores es posible que nuestro modelo tenga:
- Un desempeño adecuado
- Presente underfitting
- Presente overfitting
Veamos en qué consisten estos dos últimos fenómenos.
El underfitting
Se da cuando los errores tanto con el set de entrenamiento como con el de prueba son relativamente “altos”. Es decir que el modelo no tiene un buen desempeño ni con el set de entrenamiento ni con el de prueba.
Este comportamiento se debe a que el modelo es muy simple para los datos, y por tanto no está en capacidad de capturar correctamente sus patrones.
El overfitting
Se da cuando el modelo tiene un error “pequeño” con el set de entrenamiento pero “alto” con el set de prueba.
En este caso el modelo no es capaz de generalizar y en su lugar memoriza el set de entrenamiento.
Las razones de este comportamiento pueden ser:
- Que el modelo es demasiado complejo para los datos que está procesando
- Que los sets de entrenamiento y prueba no provienen de la misma distribución
- Que el número de epochs usado durante el entrenamiento es insuficiente
Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online
Conclusión
Bien, acabamos de ver los fenómenos de underfitting y overfitting y sus posibles soluciones. Al resolver estos problemas podremos tener una Red Neuronal capaz de generalizar.
Con estos dos conceptos, junto con los vistos anteriormente acerca de los sets de entrenamiento, prueba y validación estamos listos para la práctica 6 del curso, en donde veremos cómo crear, entrenar y validar una Red Neuronal en Keras.