Parte de una serie sobre |
Aprendizaje automático y minería de datos |
---|
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 hacer predicciones sobre ellos . [1] Dichos algoritmos funcionan haciendo predicciones o decisiones basadas en datos, [2] mediante la construcción de un modelo matemático a partir de datos de entrada. Estos datos de entrada utilizados para construir el modelo suelen dividirse en varios conjuntos de datos . En particular, se utilizan comúnmente 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 Bayes 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 consta de 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. Según 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 para las observaciones en un segundo conjunto de datos llamado el conjunto de datos de validación . [3] El conjunto de datos de validación proporciona una evaluación imparcial de un ajuste del 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 se pueden utilizar para la regularización mediante la detención temprana (deteniendo el entrenamiento cuando el error en el conjunto de datos de validación aumenta, ya que esto es una señal de sobreajuste al conjunto de datos de entrenamiento). [6] Este procedimiento simple 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 que se utiliza para proporcionar una evaluación imparcial de un ajuste del modelo final 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 de reserva . El término "conjunto de validación" a veces se utiliza en lugar de "conjunto de prueba" en alguna literatura (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 de los tamaños y las estrategias para la división de conjuntos de datos en conjuntos de entrenamiento, prueba y validación depende en gran medida del problema y los datos disponibles. [7]
Un conjunto de datos de entrenamiento es un conjunto de datos de ejemplos utilizados durante el proceso de aprendizaje y se utiliza para ajustar los parámetros (por ejemplo, pesos) de, por ejemplo, un clasificador . [9] [10]
Para las tareas de clasificación, un algoritmo de aprendizaje supervisado analiza 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 datos nuevos. [5] Para reducir el riesgo de problemas como el sobreajuste, los ejemplos en 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 en general no se cumplen.
Cuando un conjunto de entrenamiento se amplía continuamente con nuevos datos, se trata de aprendizaje incremental .
Un conjunto de datos de validación es un conjunto de datos de ejemplos que se utilizan para ajustar los hiperparámetros (es decir, la arquitectura) de un clasificador. A veces también se lo denomina conjunto de desarrollo o "conjunto de desarrollo". [13] Un ejemplo de hiperparámetro para redes neuronales artificiales incluye la cantidad de unidades ocultas en cada capa. [9] [10] Este, así como el conjunto de prueba (como se menciona a continuación), 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 disponer de un conjunto de datos de validación además de los conjuntos de datos de entrenamiento y de prueba. Por ejemplo, si se busca el clasificador más adecuado para el problema, el conjunto de datos de entrenamiento se utiliza para entrenar a los diferentes clasificadores candidatos, el conjunto de datos de validación se utiliza para comparar sus rendimientos y decidir cuál tomar y, finalmente, el conjunto de datos de prueba se utiliza para obtener las características de rendimiento como exactitud , sensibilidad , especificidad , medida F , etc. El conjunto de datos de validación funciona como un híbrido: son datos de entrenamiento utilizados para las pruebas, pero no como parte del entrenamiento de bajo nivel ni como parte de las pruebas finales.
El proceso básico de uso de un conjunto de datos de validación para la selección de modelos (como parte del conjunto de datos de entrenamiento, el conjunto de datos de validación y el conjunto de datos de prueba) es: [10] [14]
Dado que nuestro objetivo es encontrar la red que tenga el mejor rendimiento con nuevos datos, el enfoque más simple para la comparación de diferentes redes es evaluar la función de error utilizando datos que sean independientes de los utilizados para el entrenamiento. Se entrenan varias redes mediante la minimización de una función de error adecuada definida con respecto a un conjunto de datos de entrenamiento. Luego, se compara el rendimiento de las redes evaluando la función de error utilizando un conjunto de validación independiente y se selecciona la red que tenga el menor error con respecto al conjunto de validación. Este enfoque se denomina método de retención . Dado que este procedimiento puede conducir a un cierto sobreajuste del conjunto de validación, el rendimiento de la red seleccionada debe confirmarse midiendo su rendimiento en un tercer conjunto de datos independiente llamado conjunto de prueba.
Una aplicación de este proceso es la detención 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 crece, eligiendo el modelo anterior (el de mínimo error).
Un conjunto de datos de prueba es un conjunto de datos que es independiente del conjunto de datos de entrenamiento, pero que sigue la misma distribución de probabilidad que el conjunto de datos de entrenamiento. Si un modelo que se ajusta al conjunto de datos de entrenamiento también se ajusta bien al conjunto de datos de prueba, se ha producido un sobreajuste mínimo (consulte la figura siguiente). Un mejor ajuste del conjunto de datos de entrenamiento en comparación con el conjunto de datos de prueba suele indicar un sobreajuste.
Por lo tanto, un conjunto de pruebas es un conjunto de ejemplos que se utilizan únicamente para evaluar el rendimiento (es decir, la generalización) de un clasificador completamente especificado. [9] [10] Para ello, el modelo final se utiliza para predecir las clasificaciones de los ejemplos en el conjunto de pruebas. Esas predicciones se comparan con las clasificaciones reales de los ejemplos para evaluar la precisión del modelo. [11]
En un escenario en el que se utilizan conjuntos de datos de validación y de prueba, el conjunto de datos de prueba se utiliza normalmente para evaluar el modelo final que se selecciona durante el proceso de validación. En el caso en el que el conjunto de datos original se divide en dos subconjuntos (conjuntos de datos de entrenamiento y de prueba), el conjunto de datos de prueba puede evaluar el modelo solo una vez (por ejemplo, en el método de retención ). [15] Tenga en cuenta que algunas fuentes desaconsejan dicho método. [12] Sin embargo, cuando se utiliza un método como la validación cruzada , dos particiones pueden ser suficientes y efectivas ya que los resultados se promedian después de rondas repetidas de entrenamiento y prueba del modelo para ayudar a reducir el sesgo y la variabilidad. [5] [12]
Probar es intentar averiguar algo sobre ello (“Poner a prueba; probar la verdad, la legitimidad o la calidad de algo mediante un experimento” según el Collaborative International Dictionary of English) y validar es probar que algo es válido (“Confirmar; hacer válido” Collaborative International Dictionary of English). Con 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 el mundo académico, a veces se usan indistintamente, al considerar que el proceso interno es probar diferentes modelos para mejorar (conjunto de prueba como conjunto de desarrollo) y el modelo final es el que necesita ser validado antes de su uso real con datos no vistos (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 de inteligencia artificial”. [16] Sin embargo, el concepto importante que se debe mantener es que el conjunto final, ya sea llamado prueba o validación, solo debe usarse en el experimento final.
Para obtener resultados más estables y utilizar todos los datos valiosos para el entrenamiento, un conjunto de datos se puede dividir repetidamente en varios conjuntos de datos de entrenamiento y validación. Esto se conoce como validación cruzada . Para confirmar el rendimiento del modelo, normalmente se utiliza un conjunto de datos de prueba adicional que no se ha utilizado para la validación cruzada.
Es posible utilizar la validación cruzada en los conjuntos de entrenamiento y validación, y dentro de cada conjunto de entrenamiento, realizar una validación cruzada adicional para un conjunto de prueba para el ajuste de hiperparámetros. Esto se conoce como validación cruzada anidada .
Las omisiones en el entrenamiento de algoritmos son una de las principales causas de resultados erróneos. [17] Los tipos de tales omisiones incluyen: [17]
Un ejemplo de omisión de circunstancias particulares es un caso en el que un niño pudo desbloquear el teléfono porque su madre registró su rostro bajo la luz nocturna del interior, una condición que no se incluyó adecuadamente en el entrenamiento del sistema. [17] [18]
El uso de información relativamente irrelevante 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 cuando se entrena con imágenes de ovejas en pastizales, lo que genera el riesgo de que un objeto diferente se interprete como una oveja si se encuentra en un pastizal. [17]
reconocimiento de patrones tiene su origen en la ingeniería, mientras que el aprendizaje automático surgió de la informática. Sin embargo, estas actividades pueden considerarse como dos facetas del mismo campo y juntas han experimentado un desarrollo sustancial en los últimos diez años.
{{cite book}}
: CS1 maint: multiple names: authors list (link){{cite journal}}
: Requiere citar revista |journal=
( ayuda )