8 - Sets de entrenamiento, validación y prueba

Lección 8 del curso Introducción al Machine Learning.

Introducción

En la lección anterior vimos un ejemplo práctico que nos permitió entender qué era el entrenamiento en el contexto del Machine Learning.

Pero en ocasiones con tan sólo un modelo no podemos tener certeza de si éste genera el desempeño más adecuado para generar predicciones. Nada nos dice que no podamos usar otros modelos que probablemente generarían un mejor desempeño.

Así que, en general, para resolver un problema podremos tener muchos modelos y para poder decidir cuál es el mejor necesitamos compararlos bajo las mismas condiciones. Es acá donde entran los sets de validación y prueba de los que hablaremos a continuación.

Contenido exclusivo suscriptores

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

El problema a resolver

Retomemos el problema a resolver: partimos de un set de datos como el usado en la lección anterior y la idea es encontrar un modelo que dado x pueda predecir el valor de y.

Acá tenemos una tarea de regresión y el aprendizaje es supervisado: la salida y puede ser un valor numérico continuo y alimentaremos el modelo tanto con los valores de x como con los valores de y y la idea es que a través de un algoritmo logre encontrar el modelo que mejor se ajuste a los datos.

El modelo inicial y los dos nuevos modelos

Recordemos que el modelo inicial era simplemente la ecuación de una línea recta y asumiremos dos nuevos modelos: uno cuadrático y uno cúbico.

Y la pregunta que surge es: ¿será que podemos usar la misma lógica usada en el primer caso para entrenar estos dos nuevos modelos? Y de ser así, ¿cómo determinamos cuál de los tres modelos disponibles es el mejor?

La respuesta a la primera pregunta es sí, podemos usar un procedimiento similar al descrito en la lección anterior para llevar a cabo el entrenamiento de estos dos nuevos modelos.

Y a continuación daremos respuesta a la segunda pregunta.

¿Por qué no usar el mismo set de entrenamiento?

Supongamos que ya hemos entrenado los dos nuevos modelos y lo que nos resta ahora es determinar cuál de ellos tiene el mejor desempeño.

Pero en este caso no podríamos usar el set de entrenamiento pues no es un set de datos “imparcial”: al haber entrenado los tres modelos con este set de datos, si intentamos medir el desempeño usando este mismo set podríamos tener un sesgo.

Así que necesitamos un set de datos “imparcial”, que el modelo no haya “visto” durante su entrenamiento. Este set se conoce como el set de validación.

El set de validación

Es un set diferente del set de entrenamiento pero con las mismas características (proveniente de la misma distribución, es decir con patrones similares a los del set de entrenamiento).

Este set lo podemos usar para ajustar los hiperparámetros de cada modelo. Y una vez hecho esto podemos ahora sí elegir el mejor modelo:

¿Qué tan bien lo hace el modelo seleccionado con nuevos datos?

La idea de construir un modelo de Machine Learning no es sólo que lo haga bien con los sets de entrenamiento y validación.

La idea es que además lo haga bien con datos que nunca antes haya visto, pues de esta manera veremos qué tan robusto es y cómo se comportará con nuevos datos. Esto se conoce como generalización.

Para ver la capacidad de generalización del modelo seleccionado debemos usar un tercer set de datos, que se conoce como el set de prueba.

Este set de prueba es un set de datos diferente de los sets de entrenamiento y validación pero proveniente de la misma distribución. Con este tercer set podemos finalmente poner a prueba el modelo para ver qué tan bien lo hace con datos nunca antes vistos, es decir su capacidad de generalización.

Resumen

Idealmente para entrenar diferentes modelos de Machine Learning y poder escoger el mejor de todos deberíamos tener tres sets: entrenamiento, validación y prueba

Y es importante además tener en cuenta que los tres sets deben ser diferentes pero a la vez deben provenir de la misma distribución.

Contenido exclusivo suscriptores

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

Hasta este punto del curso ya hemos visto varios conceptos fundamentales del Machine Learning y que encontraremos una y otra vez a medida que abordemos los diferentes algoritmos y modelos en próximos cursos.

Así que para cerrar este segundo módulo del curso en la próxima lección veremos el ciclo de vida de un proyecto de Machine Learning.

Ver todas las lecciones de este curso