El Reto del Underfitting y Overfitting en el Aprendizaje Automático
Invitablemente te enfrentarás a esta pregunta en una entrevista con un científico de datos:
¿Puedes explicar qué es el underfitting y el overfitting en el contexto del aprendizaje automático? Descríbalo de una manera que incluso una persona no técnica pueda entender.
Su capacidad para explicar esto de una manera no técnica y fácil de entender podría decidir su idoneidad para el papel de la ciencia de datos.
Incluso cuando estamos trabajando en un proyecto de aprendizaje automático, a menudo nos enfrentamos a situaciones en las que nos encontramos con un rendimiento inesperado o con diferencias en la tasa de error entre el conjunto de entrenamiento y el conjunto de prueba (como se muestra a continuación). ¿Cómo es posible que un modelo funcione tan bien en el conjunto de entrenamiento y tan mal en el conjunto de prueba?
Esto ocurre con mucha frecuencia cuando trabajo con modelos predictivos basados en árboles. Debido a la forma en que funcionan los algoritmos, puede imaginar lo difícil que es evitar caer en la trampa del sobreajuste.
Además, puede ser bastante desalentador cuando no somos capaces de encontrar la razón subyacente por la que nuestro modelo predictivo está mostrando este comportamiento anómalo.
Aquí está mi experiencia personal – pregunte a cualquier científico de datos experimentado sobre esto, normalmente empiezan a hablar de una serie de términos elegantes como sobreajuste, infraajuste, sesgo y varianza. Pero apenas se habla de la intuición que hay detrás de estos conceptos de aprendizaje automático. Vamos a rectificar eso, ¿de acuerdo?
Tomemos un ejemplo para entender Underfitting vs. Overfitting
Quiero explicar estos conceptos utilizando un ejemplo del mundo real. Mucha gente habla del punto de vista teórico, pero creo que eso no es suficiente: tenemos que visualizar cómo funcionan realmente el infraajuste y el sobreajuste.
Así que volvamos a nuestros días de universidad para esto.
Consideremos una clase de matemáticas que consta de 3 estudiantes y un profesor.
Ahora, en cualquier aula, podemos dividir a grandes rasgos a los estudiantes en 3 categorías. Hablaremos de ellos uno por uno.
Digamos que el alumno A se parece a un alumno al que no le gustan las matemáticas. No le interesa lo que se enseña en la clase y, por lo tanto, no presta mucha atención al profesor y al contenido que está enseñando.
Consideremos al alumno B. Es el estudiante más competitivo que se centra en memorizar todas y cada una de las preguntas que se enseñan en clase en lugar de centrarse en los conceptos clave. Básicamente, no está interesado en aprender el enfoque de resolución de problemas.
Por último, tenemos al estudiante ideal C. Está puramente interesado en aprender los conceptos clave y el enfoque de resolución de problemas en la clase de matemáticas en lugar de limitarse a memorizar las soluciones presentadas.
Todos sabemos por experiencia lo que ocurre en un aula. El profesor primero da las clases y enseña a los alumnos los problemas y cómo resolverlos. Al final, el profesor se limita a hacer un examen basado en lo que ha enseñado en la clase.
El obstáculo viene en los exámenes semestrales3 que pone la escuela. Aquí es donde surgen nuevas preguntas (datos no vistos). Los alumnos no han visto esas preguntas antes y, desde luego, no las han resuelto en el aula. ¿Te suena?
Entonces, discutamos lo que ocurre cuando el profesor hace un examen en el aula al final de la jornada:
- El alumno A, que estaba distraído en su propio mundo, se limitó a adivinar las respuestas y obtuvo aproximadamente un 50% de puntuación en el examen
- Por otro lado, el alumno que memorizó todas y cada una de las preguntas impartidas en el aula fue capaz de responder a casi todas las preguntas de memoria y, por tanto, obtuvo un 98% de puntuación en el examen de clase
- Para el alumno C, realmente resolvió todas las preguntas utilizando el enfoque de resolución de problemas que aprendió en el aula y obtuvo un 92%
Podemos deducir claramente que el alumno que simplemente memoriza todo obtiene una mejor puntuación sin mucha dificultad.
Ahora aquí está el giro. Observemos también lo que ocurre durante la prueba mensual, cuando los alumnos tienen que enfrentarse a nuevas preguntas desconocidas que no son enseñadas en clase por el profesor.
- En el caso del alumno A, las cosas no cambiaron mucho y sigue respondiendo aleatoriamente a las preguntas correctamente el ~50% de las veces.
- En el caso del alumno B, su puntuación bajó considerablemente. ¿Adivinas por qué? Porque siempre memorizaba los problemas que se enseñaban en clase, pero este examen mensual contenía preguntas que nunca había visto antes. Por lo tanto, su rendimiento bajó considerablemente
- En el caso del alumno C, la puntuación se mantuvo más o menos igual. Esto se debe a que se centró en el aprendizaje del enfoque de resolución de problemas y, por lo tanto, fue capaz de aplicar los conceptos que aprendió para resolver las preguntas desconocidas
¿Cómo se relaciona esto con el infraajuste y el sobreajuste en el aprendizaje automático?
Tal vez se pregunte cómo se relaciona este ejemplo con el problema que encontramos durante las puntuaciones de entrenamiento y prueba del clasificador de árbol de decisión? Buena pregunta!
Entonces, vamos a trabajar en la conexión de este ejemplo con los resultados del clasificador de árbol de decisión que te mostré anteriormente.
En primer lugar, el trabajo de clase y la prueba de clase se asemejan a los datos de entrenamiento y a la predicción sobre los propios datos de entrenamiento respectivamente. Por otro lado, la prueba semestral representa el conjunto de pruebas de nuestros datos que guardamos antes de entrenar nuestro modelo (o datos no vistos en un proyecto de aprendizaje automático del mundo real).
Ahora, recuerda nuestro clasificador de árbol de decisión que mencioné antes. Dio una puntuación perfecta en el conjunto de entrenamiento, pero tuvo problemas con el conjunto de prueba. Si lo comparamos con los ejemplos de estudiantes que acabamos de comentar, el clasificador establece una analogía con el estudiante B, que trató de memorizar todas y cada una de las preguntas del conjunto de entrenamiento.
De forma similar, nuestro clasificador de árbol de decisión trata de aprender todos y cada uno de los puntos de los datos de entrenamiento, pero sufre radicalmente cuando encuentra un nuevo punto de datos en el conjunto de prueba. No es capaz de generalizarlo bien.
Esta situación en la que un modelo determinado rinde demasiado bien en los datos de entrenamiento pero el rendimiento cae significativamente en el conjunto de prueba se denomina modelo sobreajustado.
Por ejemplo, los modelos no paramétricos como los árboles de decisión, KNN y otros algoritmos basados en árboles son muy propensos al sobreajuste. Estos modelos pueden aprender relaciones muy complejas que pueden dar lugar a un sobreajuste. El siguiente gráfico resume este concepto:
Por otro lado, si el modelo tiene un mal rendimiento en el conjunto de prueba y en el de entrenamiento, lo llamamos un modelo de ajuste insuficiente. Un ejemplo de esta situación sería construir un modelo de regresión lineal sobre datos no lineales.