Acerca de los Conjuntos de Entrenamiento, Validación y Prueba en el Aprendizaje Automático
On octubre 17, 2021 by adminEsto pretende ser un breve manual para cualquier persona que necesite conocer la diferencia entre las distintas divisiones de conjuntos de datos mientras se entrenan modelos de Aprendizaje Automático.
Para este artículo, citaré las definiciones básicas del excelente artículo de Jason Brownlee sobre el mismo tema, es bastante completo, consúltelo para más detalles.
Conjunto de datos de entrenamiento: La muestra de datos utilizada para ajustar el modelo.
El conjunto de datos real que utilizamos para entrenar el modelo (pesos y sesgos en el caso de una Red Neuronal). El modelo ve y aprende de estos datos.
Conjunto de datos de validación
Conjunto de datos de validación: La muestra de datos utilizada para proporcionar una evaluación insesgada del ajuste de un modelo en el conjunto de datos de entrenamiento mientras se ajustan los hiperparámetros del modelo. La evaluación se vuelve más sesgada a medida que la habilidad en el conjunto de datos de validación se incorpora a la configuración del modelo.
El conjunto de validación se utiliza para evaluar un modelo dado, pero esto es para la evaluación frecuente. Nosotros, como ingenieros de aprendizaje automático, utilizamos estos datos para afinar los hiperparámetros del modelo. Por lo tanto, el modelo ve ocasionalmente estos datos, pero nunca «aprende» de ellos. Utilizamos los resultados del conjunto de validación y actualizamos los hiperparámetros de nivel superior. Así que el conjunto de validación afecta al modelo, pero sólo indirectamente. El conjunto de validación también se conoce como conjunto de desarrollo. Esto tiene sentido ya que este conjunto de datos ayuda durante la etapa de «desarrollo» del modelo.
Conjunto de datos de prueba
Conjunto de datos de prueba: La muestra de datos utilizada para proporcionar una evaluación insesgada de un ajuste del modelo final en el conjunto de datos de entrenamiento.
El conjunto de datos de prueba proporciona el estándar de oro utilizado para evaluar el modelo. Sólo se utiliza una vez que el modelo está completamente entrenado (utilizando los conjuntos de entrenamiento y validación). El conjunto de prueba es generalmente lo que se utiliza para evaluar los modelos de la competencia (por ejemplo, en muchas competiciones de Kaggle, el conjunto de validación se libera inicialmente junto con el conjunto de entrenamiento y el conjunto de prueba real sólo se libera cuando la competencia está a punto de cerrar, y es el resultado del modelo en el conjunto de prueba que decide el ganador). Muchas veces se utiliza el conjunto de validación como conjunto de prueba, pero no es una buena práctica. El conjunto de prueba suele estar bien curado. Contiene datos cuidadosamente muestreados que abarcan las distintas clases a las que se enfrentaría el modelo, cuando se utilice en el mundo real.
Acerca de la proporción de división del conjunto de datos
Ahora que sabe lo que hacen estos conjuntos de datos, podría estar buscando recomendaciones sobre cómo dividir su conjunto de datos en conjuntos de entrenamiento, validación y prueba.
Esto depende principalmente de dos cosas. En primer lugar, el número total de muestras en sus datos y en segundo lugar, en el modelo real que está entrenando.
Algunos modelos necesitan datos sustanciales para entrenar, por lo que en este caso se optimizaría para los conjuntos de entrenamiento más grandes. Los modelos con muy pocos hiperparámetros serán fáciles de validar y ajustar, por lo que probablemente puede reducir el tamaño de su conjunto de validación, pero si su modelo tiene muchos hiperparámetros, usted querrá tener un gran conjunto de validación también (aunque también debe considerar la validación cruzada). Además, si usted tiene un modelo sin hiperparámetros o los que no pueden ser fácilmente ajustados, probablemente no necesita un conjunto de validación también.
En general, como muchas otras cosas en el aprendizaje de la máquina, la proporción de entrenamiento-prueba-validación es también muy específica para su caso de uso y se hace más fácil de juzgar a medida que entrena y construye más y más modelos.
Nota sobre la validación cruzada: Muchas veces, la gente primero divide su conjunto de datos en 2 – Entrenamiento y Prueba. Después de esto, mantienen a un lado el conjunto de pruebas, y eligen al azar el X% de su conjunto de datos de entrenamiento para ser el conjunto de entrenamiento real y el restante (100-X)% para ser el conjunto de validación, donde X es un número fijo (digamos el 80%), el modelo es entonces entrenado y validado iterativamente en estos diferentes conjuntos. Hay varias formas de hacerlo, y se conoce comúnmente como validación cruzada. Básicamente, se utiliza el conjunto de entrenamiento para generar múltiples divisiones de los conjuntos de entrenamiento y validación. La validación cruzada evita el sobreajuste y es cada vez más popular, siendo la validación cruzada K-fold el método más popular de validación cruzada. Para más información, consulte esto:
Deja una respuesta