diciembre 19, 2019 10:00 am

Jesús

En el artículo anterior discutimos uno de los problemas más comunes al entrenar un modelo predictivo: overfitting. Sin embargo, la contracara de este mal se conoce como underfitting, y constituye el tema del artículo de hoy.

Sin mayor preámbulo, comencemos.

Underfitting como Antónimo de Overfitting

Si “overfitting” o “sobreajuste” es lo que sucede cuando el modelo presta atención en demasía a los datos, hasta el punto en el que es incapaz de discernir qué es señal y qué es ruido o, en otras palabras, qué es importante y qué no, entonces “underfitting” es lo que ocurre cuando nuestro modelo es muy simplista, insuficiente para capturar los matices, particularidades y complejidades en los datos. 

Cuando estudiamos la noche anterior a un examen, sólo ojeando breve y superficialmente los conceptos, estamos incurriendo en “underfitting”, ya que no hicimos el trabajo necesario para aprender, sino que nuestro exceso de confianza nos llevó a pensar que entendíamos algo que, en esencia, es más complejo. El resultado natural de esta subestimación de los datos es que no sólo nos desempeñaremos mal en el examen, sino muy posiblemente en los ejercicios que se encuentran en el libro (es decir, en el conjunto de entrenamiento).

En este punto es menester resaltar que los modelos que incurren en overfitting suelen tener alta varianza, lo que implica que son extremadamente sensibles a pequeñas alteraciones en los datos, mientras que los modelos víctimas del underfitting tienen alta parcialidad (en inglés, bias), lo que se traduce en una robustez casi obstinada a las variaciones en los datos, hasta el punto tal de no ser capaces de detectar los matices característicos de la data sobre la que trabajan.

En la imagen de arriba observamos la superficie de decisión de un modelo que, claramente, se “subajusta” a los datos, ya que posee la fuerte asunción o parcialidad de que estos siguen un patrón lineal, cuando, en realidad, una curva haría un mejor trabajo.

Cómo Detectar el Underfitting

Las herramientas para detectar underfitting son las mismas que para diagnosticar overfitting, por lo que puedes leer más al respecto aquí.

A continuación tenemos el mismo gráfico de nuestro artículo sobre overfitting, correspondiente a una red neuronal entrenada en CIFAR-10. 

Típicamente, el underfitting es un problema que precede al overfitting; esto es, ocurre antes en el proceso de entrenamiento. Ambos, la verdad, son síntomas de un modelo incapaz de aprender efectivamente, bien sea por alta parcialidad o excesiva varianza.

En el gráfico anterior, hasta el epoch 4 o 5, aproximadamente, la red no ha aprendido lo suficiente, como se evidencia en la trayectoria de las curvas de pérdida de los conjuntos de entrenamiento y validación. Ambas disminuyen a un paso relativamente constante, justo antes de divergir a partir del epoch 6. 

Cómo Combatimos Underfitting

He aquí algunas de las principales formas de combatir el underfitting:

  • Usar modelos más complejos.
  • Recolectar más data.
  • Sintetizar más data (por ejemplo, mediante data augmentation).
  • Utilizar validación cruzada para aprovechar mejor los datos disponibles.
  • Reducir la regularización, en caso de estarse usando.
  • Eliminar “features” irrelevantes para mitigar “la maldición de la dimensionalidad”, la cual establece que, aproximadamente, por cada “feature” en nuestros datos, necesitaremos 10 veces más instancias de entrenamiento para poder ajustar un buen modelo.

Hoy aprendimos sobre otro de los males con los que debemos lidiar constantemente en machine learning: underfitting. Aunque parezcan problemas independientes, underfitting y overfitting son dos caras de la misma moneda: la incapacidad del modelo de aprender. Así, pues, no es de sorprender que las estrategias para combatir ambas coyunturas sean similares entre sí.

¿Cómo lidias con underfitting en tus proyectos de machine learning? Comparte tus técnicas en los comentarios.

¡Nos vemos pronto!

Sobre el Autor

Jesús Martínez es el creador de DataSmarts, un lugar para los apasionados por computer vision y machine learning. Cuando no se encuentra bloggeando, jugando con algún algoritmo o trabajando en un proyecto (muy) cool, disfruta escuchar a The Beatles, leer o viajar por carretera.

Paso 2/2: Celebra tu NUEVO EMPLEO en Machine Learning ?

A %d blogueros les gusta esto: