Articulo de referencia

Conjuntos de datos de entrenamiento, validación y prueba

En el aprendizaje automático , una tarea común es el estudio y la construcción de algoritmos que puedan aprender de los datos y realizar predicciones a partir de ellos . [ 1 ] E...

En el aprendizaje automático , una tarea común es el estudio y la construcción de algoritmos que puedan aprender de los datos y realizar predicciones a partir de ellos . [ 1 ] Estos algoritmos funcionan mediante predicciones o decisiones basadas en datos, [ 2 ] a través de 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 particular, se suelen utilizar tres conjuntos de datos en diferentes etapas de la creación del modelo: conjuntos de entrenamiento, validación y prueba.

El modelo se ajusta inicialmente en un conjunto de datos de entrenamiento , [ 3 ] que es un conjunto de ejemplos utilizados para ajustar los parámetros (por ejemplo, pesos de conexiones entre neuronas en 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 a menudo consiste en pares de un vector de entrada (o escalar) y el vector de salida correspondiente (o escalar), donde la clave de respuesta se denota comúnmente como el 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 en el conjunto de datos de entrenamiento. Con base en el resultado de la comparación y el algoritmo de aprendizaje específico que se está utilizando, 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 .

Sucesivamente, 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 imparcial del ajuste del modelo en el conjunto de datos de entrenamiento, al tiempo que 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 el error en el conjunto de datos de validación aumenta, ya que esto es un signo de sobreajuste al conjunto de datos de entrenamiento). [ 6 ] Este sencillo procedimiento se complica en la práctica debido a 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 ]

Finalmente, el conjunto de datos de prueba es un conjunto de datos utilizado para proporcionar una evaluación imparcial del ajuste de un modelo en el conjunto de datos de entrenamiento. [ 5 ] Cuando los datos en el conjunto de datos de prueba nunca se han utilizado (por ejemplo, en validación cruzada ), el conjunto de datos de prueba se denomina conjunto de datos de retención . 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 solo dos subconjuntos, el conjunto de prueba podría denominarse conjunto de validación). [ 5 ]

La decisión sobre los tamaños y las estrategias para la división de los conjuntos de datos en conjuntos de entrenamiento, prueba y validación depende en gran medida del problema y de los datos disponibles. [ 7 ]

Conjunto de datos de entrenamiento

Ejemplo simplificado de entrenamiento de una red neuronal para la detección de objetos: La red se entrena con múltiples imágenes que muestran estrellas de mar y erizos de mar , las cuales se correlacionan con "nodos" que representan características visuales . Las estrellas de mar se identifican por una textura anillada y un contorno estrellado, mientras que la mayoría de los erizos de mar se identifican por una textura rayada y una forma ovalada. Sin embargo, la presencia de un erizo de mar con textura anillada crea una asociación débil entre ellos.
Ejecución posterior de la red en una imagen de entrada (izquierda): [ 8 ] La red detecta correctamente la estrella de mar. Sin embargo, la asociación débilmente ponderada entre la textura anillada y el erizo de mar también confiere una señal débil a este último desde uno de los dos nodos intermedios. Además, una concha que no se incluyó en el entrenamiento da una señal débil para la forma ovalada, lo que también resulta en una señal débil para la salida del erizo de mar. Estas señales débiles pueden dar lugar a un resultado falso positivo para el erizo de mar. En realidad, las texturas y los contornos no estarían representados por nodos individuales, sino por patrones de ponderación asociados de múltiples nodos.

Un conjunto de datos de entrenamiento es un conjunto de datos de ejemplos que se utiliza durante el proceso de aprendizaje y se usa para ajustar los parámetros (por ejemplo, pesos) de, por ejemplo, un clasificador . [ 9 ] [ 10 ]

Para tareas de clasificación, un algoritmo de aprendizaje supervisado examina el conjunto de datos de entrenamiento para determinar, o aprender, las combinaciones óptimas de variables que generarán un buen modelo predictivo . [ 11 ] El objetivo es producir un modelo entrenado (ajustado) que se generalice bien a datos nuevos y desconocidos. [ 12 ] El modelo ajustado se evalúa utilizando ejemplos “nuevos” de los conjuntos de datos reservados (conjuntos de datos de validación y prueba) para estimar la precisión del modelo en la clasificación de nuevos datos. [ 5 ] Para reducir el riesgo de problemas como el sobreajuste, los ejemplos de los conjuntos de datos de validación y prueba no deben usarse para entrenar el modelo. [ 5 ]

La mayoría de los enfoques que buscan relaciones empíricas en los datos de entrenamiento tienden a sobreajustar los datos, lo que significa que pueden identificar y explotar relaciones aparentes en los datos de entrenamiento que no se cumplen en general.

Cuando un conjunto de entrenamiento se amplía continuamente con nuevos datos, se habla de aprendizaje incremental .

Conjunto de datos de validación

Un conjunto de datos de validación es un conjunto de datos de ejemplos que se utiliza para ajustar los hiperparámetros (es decir, la arquitectura) de un modelo. A veces también se le llama conjunto de desarrollo o "conjunto dev". [ 13 ] Un ejemplo de hiperparámetro para redes neuronales artificiales incluye el número de unidades ocultas en cada capa. [ 9 ] [ 10 ] Tanto este como el conjunto de prueba (como se menciona más adelante) deben seguir la misma distribución de probabilidad que el conjunto de datos de entrenamiento.

Para evitar el sobreajuste, cuando se necesita ajustar algún parámetro de clasificación , es necesario contar con un conjunto de datos de validación además de los conjuntos de datos de entrenamiento y prueba. Por ejemplo, si se busca el clasificador más adecuado para el problema, el conjunto de datos de entrenamiento se utiliza para entrenar los diferentes clasificadores candidatos, el conjunto de datos de validación se utiliza para comparar su rendimiento y decidir cuál elegir y, finalmente, el conjunto de datos de prueba se utiliza para obtener las características de rendimiento tales como precisión , sensibilidad , especificidad , medida F , etc. El conjunto de datos de validación funciona como un híbrido: es un conjunto de datos de entrenamiento utilizado para pruebas, pero no como parte del entrenamiento de bajo nivel ni como parte de la prueba final.

El proceso básico de usar un conjunto de datos de validación para la selección de modelos (como parte del conjunto de datos de entrenamiento, conjunto de datos de validación y conjunto de datos de prueba) es: [ 10 ] [ 14 ]

Dado que nuestro objetivo es encontrar la red con el mejor rendimiento en datos nuevos, el método más sencillo para comparar diferentes redes consiste en evaluar la función de error utilizando datos independientes de los empleados para el entrenamiento. Se entrenan diversas redes minimizando una función de error adecuada definida con respecto a un conjunto de datos de entrenamiento. A continuación, se compara el rendimiento de las redes evaluando la función de error con un conjunto de validación independiente, y se selecciona la red con el menor error con respecto a dicho conjunto. Este método se denomina método de retención . Dado que este procedimiento puede provocar sobreajuste al conjunto de validación, el rendimiento de la red seleccionada debe confirmarse midiendo su desempeño en un tercer conjunto de datos independiente, denominado conjunto de prueba.

Una aplicación de este proceso se encuentra en la parada temprana , donde los modelos candidatos son iteraciones sucesivas de la misma red, y el entrenamiento se detiene cuando el error en el conjunto de validación aumenta, eligiendo el modelo anterior (el que tiene el error mínimo).

Conjunto de datos de prueba

Un conjunto de datos de prueba es un conjunto de datos independiente del conjunto de datos de entrenamiento, pero que sigue la misma distribución de probabilidad que este. Por lo tanto , un conjunto de prueba es un conjunto de ejemplos que se utiliza únicamente para evaluar el rendimiento (es decir, la generalización) de un clasificador específico en datos no vistos. [ 9 ] [ 10 ] Para ello, el modelo se utiliza para predecir las clasificaciones de los ejemplos en el conjunto de prueba. Estas predicciones se comparan con las clasificaciones reales de los ejemplos para evaluar la precisión del modelo. [ 11 ] Si un modelo se ajusta bien al conjunto de datos de entrenamiento y validación, también se ajusta bien al conjunto de datos de prueba, se ha producido un sobreajuste mínimo (véase la figura siguiente). Un mejor ajuste de los conjuntos de datos de entrenamiento o validación en comparación con el conjunto de datos de prueba suele indicar sobreajuste.

En el caso de un conjunto de datos con un número reducido de muestras, se suele dividir en un conjunto de entrenamiento y un conjunto de validación. El modelo se entrena con el conjunto de entrenamiento y se refina con el conjunto de validación para mejorar la precisión, pero este enfoque puede provocar sobreajuste. También se puede emplear el método de retención [ 15 ] , en el que el conjunto de prueba se utiliza al final, después del entrenamiento con el conjunto de entrenamiento. Otras técnicas, como la validación cruzada y el remuestreo (bootstrapping ), se utilizan en conjuntos de datos pequeños. El método de remuestreo genera numerosos conjuntos de datos simulados del mismo tamaño mediante muestreo aleatorio con reemplazo a partir de los datos originales, lo que permite que los puntos de datos aleatorios sirvan como conjuntos de prueba para evaluar el rendimiento del modelo. La validación cruzada divide el conjunto de datos en múltiples subconjuntos, utilizando uno de ellos como datos de prueba. El modelo se entrena con los subconjuntos restantes y todos se validan cruzadamente (con los resultados promediados y los modelos consolidados) para estimar el rendimiento final del modelo. Cabe destacar que algunas fuentes desaconsejan el uso de una única división, ya que puede provocar sobreajuste y estimaciones sesgadas del rendimiento del modelo. [ 12 ]

Por esta razón, los conjuntos de datos se dividen en tres particiones: conjuntos de datos de entrenamiento, validación y prueba. La práctica estándar de aprendizaje automático es entrenar en el conjunto de entrenamiento y ajustar los hiperparámetros usando el conjunto de validación, donde el proceso de validación selecciona el modelo con la pérdida de validación más baja, que luego se prueba en el conjunto de datos de prueba (normalmente reservado) para evaluar el modelo final. El método de reserva para el conjunto de prueba reduce el cálculo al evitar usar el conjunto de prueba después de cada época. El conjunto de datos de prueba nunca debe usarse para validar el modelo de entrenamiento o ajustar los hiperparámetros, ya que proporciona una evaluación precisa y honesta del rendimiento final del modelo en datos no vistos, pero puede usarse varias veces para determinar el rendimiento de un modelo actualizado y detectar sobreajuste o la necesidad de entrenamiento adicional o parada temprana. [ 16 ] Se utilizan métodos como la validación cruzada , donde el conjunto de prueba se separa y el conjunto de datos de entrenamiento se divide aún más en pliegues, con un subpliegue que sirve como conjunto de validación para entrenar el modelo; esto es efectivo para reducir el sesgo y la variabilidad en el modelo. [ 5 ] [ 12 ] Existen muchos métodos de validación cruzada, como la validación cruzada anidada .

Un conjunto de entrenamiento (izquierda) y un conjunto de prueba (derecha) de la misma población estadística se muestran como puntos azules. Se ajustan dos modelos predictivos a los datos de entrenamiento. Ambos modelos ajustados se representan gráficamente con los conjuntos de entrenamiento y prueba. En el conjunto de entrenamiento, el MSE del ajuste mostrado en naranja es 4, mientras que el MSE del ajuste mostrado en verde es 9. En el conjunto de prueba, el MSE del ajuste mostrado en naranja es 15 y el MSE del ajuste mostrado en verde es 13. La curva naranja sobreajusta considerablemente los datos de entrenamiento, ya que su MSE aumenta casi cuatro veces al comparar el conjunto de prueba con el conjunto de entrenamiento. La curva verde sobreajusta los datos de entrenamiento mucho menos, ya que su MSE aumenta menos de un factor de 2.

Confusión en la terminología

Probar es intentar algo para descubrirlo ("Poner a prueba; probar la verdad, autenticidad o calidad de algo mediante un experimento", según el Diccionario Internacional Colaborativo de Inglés) y validar es probar que algo es válido ("Confirmar; validar", según el Diccionario Internacional Colaborativo de Inglés). Desde esta perspectiva, el uso más común de los términos conjunto de prueba y conjunto de validación es el que se describe aquí. Sin embargo, tanto en la industria como en la academia, a veces se usan indistintamente, considerando que el proceso interno consiste en probar diferentes modelos para mejorarlos (conjunto de prueba como conjunto de desarrollo) y que el modelo final es el que necesita ser validado antes de su uso real con datos desconocidos (conjunto de validación). "La literatura sobre aprendizaje automático a menudo invierte el significado de los conjuntos de 'validación' y 'prueba'. Este es el ejemplo más flagrante de la confusión terminológica que impregna la investigación en inteligencia artificial." [ 17 ] No obstante, el concepto importante que debe mantenerse es que el conjunto final, ya sea llamado de prueba o de validación, solo debe usarse en el experimento final.

Causas de error

Tira cómica que muestra una salida errónea ficticia de una computadora (que prepara un café a 5 millones de grados , a partir de una definición previa de "extra caliente"). Esto puede clasificarse como un fallo de lógica y una omisión de diversas condiciones ambientales relevantes. [ 18 ]

Las omisiones en el entrenamiento de algoritmos son una causa importante de resultados erróneos. [ 18 ] Los tipos de tales omisiones incluyen: [ 18 ]

  • No se incluyeron circunstancias particulares ni variaciones.
  • Datos obsoletos
  • Información de entrada ambigua
  • Incapacidad para adaptarse a nuevos entornos.
  • Incapacidad para solicitar ayuda de un ser humano o de otro sistema de IA cuando sea necesario.

Un ejemplo de omisión de circunstancias particulares es el caso de un niño que pudo desbloquear el teléfono porque su madre registró su rostro bajo iluminación nocturna en interiores, una condición que no se incluyó adecuadamente en el entrenamiento del sistema. [ 18 ] [ 19 ]

El uso de datos de entrada relativamente irrelevantes puede incluir situaciones en las que los algoritmos utilizan el fondo en lugar del objeto de interés para la detección de objetos , como por ejemplo, ser entrenados con imágenes de ovejas en praderas, lo que conlleva el riesgo de que un objeto diferente sea interpretado como una oveja si se encuentra en una pradera. [ 18 ]

Véase también

Referencias

  1. Ron Kohavi; Foster Provost (1998). "Glosario de términos" . Aprendizaje automático . 30 : 271–274 . doi : 10.1023/A:1007411609915 .
  2. Bishop, Christopher M. (2006). Reconocimiento de patrones y aprendizaje automático . Nueva York: Springer. pág. vii. ISBN  0-387-31073-8El reconocimiento de patrones tiene sus orígenes en la ingeniería, mientras que el aprendizaje automático surgió de la informática. Sin embargo , estas actividades pueden considerarse dos facetas del mismo campo y, en conjunto, han experimentado un desarrollo sustancial en los últimos diez años.
  3. 1 2 James, Gareth (2013). Introducción al aprendizaje estadístico: con aplicaciones en R. Springer. pág. 176. ISBN  978-1461471370.
  4. 1 2 Ripley, Brian (1996). Reconocimiento de patrones y redes neuronales . Cambridge University Press. pág . 354. ISBN  978-0521717700.
  5. 1 2 3 4 5 6 Brownlee, Jason (2017-07-13). "¿Cuál es la diferencia entre conjuntos de datos de prueba y validación?" . Recuperado el 2017-10-12 .
  6. 1 2 Prechelt, Lutz; Geneviève B. Orr (2012-01-01). "Parada temprana: ¿pero cuándo?". En Grégoire Montavon; Klaus-Robert Müller (eds.). Redes neuronales: trucos del oficio . Notas de clase en informática. Springer Berlin Heidelberg. pp. 53–67 . doi : 10.1007/978-3-642-35289-8_5 . ISBN  978-3-642-35289-8.
  7. "Aprendizaje automático: ¿Existe alguna regla práctica para dividir un conjunto de datos en conjuntos de entrenamiento y validación?" . Stack Overflow . Consultado el 12 de agosto de 2021 .
  8. Ferrie, C., & Kaiser, S. (2019). Redes neuronales para bebés . Sourcebooks. ISBN 978-1492671206.{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  9. 1 2 3 Ripley, BD (1996) Reconocimiento de patrones y redes neuronales , Cambridge: Cambridge University Press, pág. 354
  10. 1 2 3 4 " Asunto: ¿Qué son la población, la muestra, el conjunto de entrenamiento, el conjunto de diseño, el conjunto de validación y el conjunto de prueba? ", Preguntas frecuentes sobre redes neuronales, parte 1 de 7: Introducción ( txt ), comp.ai.neural-nets, Sarle, WS, ed. (1997, última modificación 17/05/2002)
  11. 1 2 Larose, DT; Larose, CD (2014). Descubriendo conocimiento en los datos : una introducción a la minería de datos . Hoboken: Wiley. doi : 10.1002/9781118874059 . ISBN  978-0-470-90874-7OCLC 869460667 
  12. 1 2 3 Xu, Yun; Goodacre, Royston (2018). "Sobre la división del conjunto de entrenamiento y validación: un estudio comparativo de validación cruzada, bootstrap y muestreo sistemático para estimar el rendimiento de generalización del aprendizaje supervisado" . Journal of Analysis and Testing . 2 (3). Springer Science and Business Media LLC: 249– 262. doi : 10.1007/ s41664-018-0068-2 . ISSN 2096-241X . PMC 6373628. PMID 30842888 .   
  13. "Aprendizaje profundo" . Coursera . Consultado el 18 de mayo de 2021 .
  14. Bishop, CM (1995), Redes neuronales para el reconocimiento de patrones , Oxford: Oxford University Press, pág. 372
  15. Kohavi, Ron (2001-03-03). "Un estudio de validación cruzada y bootstrap para la estimación de precisión y selección de modelos" . 14 .{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  16. Bergmann, Dave=. "¿Qué es el sobreajuste?" . ibm.com . Consultado el 15 de octubre de 2021 .
  17. Ripley, Brian D. (10 de enero de 2008). «Glosario». Reconocimiento de patrones y redes neuronales . Cambridge University Press. ISBN 9780521717700OCLC 601063414 
  18. 1 2 3 4 5 Chanda SS, Banerjee DN (2022). " Errores de omisión y comisión subyacentes a las fallas de la IA" . AI Soc . 39 (3): 1– 24. doi : 10.1007/s00146-022-01585-x . PMC 9669536. PMID 36415822 .  
  19. Greenberg A (14 de noviembre de 2017). "Mira cómo el rostro de un niño de 10 años desbloquea el iPhone X de su madre" . Wired .