Conjuntos de datos de entrenamiento, validación y prueba

De Wikipedia, la enciclopedia libre

En el aprendizaje automático, una tarea común es el estudio y la construcción de algoritmos que puedan aprender de los datos[1]​ y hacer predicciones sobre ellos. Estos algoritmos funcionan haciendo predicciones o tomando decisiones basadas en los datos[2]​, mediante la construcción de un modelo matemático a partir de los datos de entrada. Estos datos de entrada utilizados para construir el modelo suelen dividirse en varios conjuntos de datos. En concreto, se suelen utilizar tres conjuntos de datos en distintas fases de la creación del modelo: conjuntos de entrenamiento, de validación y de prueba.

El modelo se ajusta inicialmente a un conjunto de datos de entrenamiento[3]​, que es un conjunto de ejemplos utilizados para ajustar los parámetros (por ejemplo, los pesos de las conexiones entre neuronas en las redes neuronales artificiales) del modelo.[4]​ El modelo (por ejemplo, un clasificador bayesiano ingenuo) se entrena en el conjunto de datos de entrenamiento utilizando un método de aprendizaje supervisado, por ejemplo, utilizando métodos de optimización como el descenso de gradiente o el descenso de gradiente estocástico. En la práctica, el conjunto de datos de entrenamiento suele consistir en pares de un vector de entrada (o escalar) y el correspondiente vector de salida (o escalar), donde la clave de respuesta suele denominarse objetivo (o etiqueta). El modelo actual se ejecuta con el conjunto de datos de entrenamiento y produce un resultado, que luego se compara con el objetivo, para cada vector de entrada del conjunto de datos de entrenamiento. En función del resultado de la comparación y del algoritmo de aprendizaje específico utilizado, se ajustan los parámetros del modelo. El ajuste del modelo puede incluir tanto la selección de variables como la estimación de parámetros.

A continuación, el modelo ajustado se utiliza para predecir las respuestas de las observaciones en un segundo conjunto de datos denominado conjunto de datos de validación.[3]​ El conjunto de datos de validación proporciona una evaluación no sesgada del ajuste de un modelo en el conjunto de datos de entrenamiento mientras se ajustan los hiperparámetros del modelo[5]​ (por ejemplo, el número de unidades ocultas -capas y anchos de capa- en una red neuronal[4]​). Los conjuntos de datos de validación pueden utilizarse para la regularización mediante la detención temprana (detener el entrenamiento cuando aumenta el error en el conjunto de datos de validación, ya que es un signo de ajuste excesivo al conjunto de datos de entrenamiento).[6]​ Este sencillo procedimiento se complica en la práctica por el hecho de que el error del conjunto de datos de validación puede fluctuar durante el entrenamiento, produciendo múltiples mínimos locales. Esta complicación ha llevado a la creación de muchas reglas ad hoc para decidir cuándo ha comenzado realmente el sobreajuste.[6]

Por último, el conjunto de datos de prueba es un conjunto de datos utilizado para proporcionar una evaluación imparcial del ajuste final de un modelo en el conjunto de datos de entrenamiento.[5]​ Si los datos del conjunto de datos de prueba nunca se han utilizado en el entrenamiento (por ejemplo, en la validación cruzada), el conjunto de datos de prueba también se denomina conjunto de datos retenidos. El término "conjunto de validación" se utiliza a veces en lugar de "conjunto de prueba" en algunas publicaciones (por ejemplo, si el conjunto de datos original se dividió en sólo dos subconjuntos, el conjunto de prueba podría denominarse conjunto de validación).[5]

Decidir los tamaños y las estrategias de división del conjunto de datos en conjuntos de entrenamiento, prueba y validación depende mucho del problema y de los datos disponibles.[7]

Véase también[editar]

Referencias[editar]

  1. Ron Kohavi; Foster Provost (1998). «Glossary of terms». Machine Learning 30: 271-274. doi:10.1023/A:1007411609915. 
  2. Bishop, Christopher M. (2006). Pattern Recognition and Machine Learning. New York: Springer. p. vii. ISBN 0-387-31073-8. «Pattern recognition has its origins in engineering, whereas machine learning grew out of computer science. However, these activities can be viewed as two facets of the same field, and together they have undergone substantial development over the past ten years.» 
  3. a b James, Gareth (2013). An Introduction to Statistical Learning: with Applications in R. Springer. p. 176. ISBN 978-1461471370. Archivado desde el original el 23 de junio de 2019. Consultado el 24 de mayo de 2023. 
  4. a b Ripley, Brian (1996). Pattern Recognition and Neural Networks. Cambridge University Press. p. 354. ISBN 978-0521717700. 
  5. a b c Brownlee, Jason (13 de julio de 2017). «What is the Difference Between Test and Validation Datasets?». Consultado el 12 de octubre de 2017. 
  6. a b Prechelt, Lutz; Geneviève B. Orr (1 de enero de 2012). «Early Stopping — But When?». En Grégoire Montavon; Klaus-Robert Müller, eds. Neural Networks: Tricks of the Trade. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 53–67. ISBN 978-3-642-35289-8. doi:10.1007/978-3-642-35289-8_5. 
  7. «Machine learning - Is there a rule-of-thumb for how to divide a dataset into training and validation sets?». Stack Overflow. Consultado el 12 de agosto de 2021.