Última actualización el 8 de agosto de 2019
Comparar métodos de aprendizaje automático y seleccionar un modelo final es una operación común en el aprendizaje automático aplicado.
Los modelos se evalúan comúnmente utilizando métodos de remuestreo como la validación cruzada k-fold a partir de la cual se calculan las puntuaciones medias de habilidad y se comparan directamente. Aunque es simple, este enfoque puede ser engañoso, ya que es difícil saber si la diferencia entre las puntuaciones medias de las habilidades es real o el resultado de una casualidad estadística.
Las pruebas de significación estadística están diseñadas para abordar este problema y cuantificar la probabilidad de que las muestras de las puntuaciones de las habilidades se observen dada la suposición de que se extrajeron de la misma distribución. Si se rechaza esta suposición, o hipótesis nula, se sugiere que la diferencia en las puntuaciones de habilidad es estadísticamente significativa.
Aunque no es infalible, las pruebas de hipótesis estadísticas pueden mejorar tanto su confianza en la interpretación como la presentación de los resultados durante la selección del modelo.
En este tutorial, descubrirá la importancia y el desafío de seleccionar una prueba de hipótesis estadística para comparar modelos de aprendizaje automático.
Después de completar este tutorial, sabrá:
- Las pruebas de hipótesis estadísticas pueden ayudar a comparar modelos de aprendizaje automático y elegir un modelo final.
- La aplicación ingenua de las pruebas de hipótesis estadísticas puede conducir a resultados engañosos.
- El uso correcto de las pruebas estadísticas es un reto, y existe cierto consenso para utilizar la prueba de McNemar o la validación cruzada 5×2 con una prueba t de Student emparejada modificada.
Comienza tu proyecto con mi nuevo libro Statistics for Machine Learning, que incluye tutoriales paso a paso y los archivos de código fuente de Python para todos los ejemplos.
Comencemos.
- Actualización Oct/2018: Añadido enlace a un ejemplo de uso de la prueba de McNemar.
Pruebas de significación estadística para comparar algoritmos de aprendizaje automático
Foto de Fotografías de Javier, algunos derechos reservados.
Resumen del tutorial
Este tutorial está dividido en 5 partes; son:
- El problema de la selección de modelos
- Pruebas estadísticas de hipótesis
- Problema de elección de una prueba de hipótesis
- Resumen de algunos hallazgos
- Recomendaciones
¿Necesita ayuda con la estadística para el aprendizaje automático?
Tome mi curso intensivo gratuito de 7 días por correo electrónico ahora (con código de muestra).
Haga clic para inscribirse y también obtenga una versión gratuita del curso en PDF Ebook.
Descargue su minicurso gratuito
El problema de la selección de modelos
Una gran parte del aprendizaje automático aplicado es la selección de modelos.
Podemos describir esto en su forma más simple:
Dada la evaluación de dos métodos de aprendizaje automático en un conjunto de datos, ¿qué modelo eliges?
Eliges el modelo con la mejor habilidad.
Es decir, el modelo cuya habilidad estimada al hacer predicciones sobre datos no vistos es mejor. Esto podría ser la máxima precisión o el mínimo error en el caso de los problemas de clasificación y regresión respectivamente.
El reto de seleccionar el modelo con la mejor habilidad es determinar hasta qué punto se puede confiar en la habilidad estimada de cada modelo. En términos más generales:
¿La diferencia de habilidad entre dos modelos de aprendizaje automático es real, o se debe a un azar estadístico?
Podemos utilizar pruebas de hipótesis estadísticas para abordar esta cuestión.
Pruebas de hipótesis estadísticas
Generalmente, una prueba de hipótesis estadística para comparar muestras cuantifica la probabilidad de observar dos muestras de datos dada la suposición de que las muestras tienen la misma distribución.
La suposición de una prueba estadística se llama hipótesis nula y podemos calcular medidas estadísticas e interpretarlas para decidir si aceptamos o rechazamos la hipótesis nula.
En el caso de la selección de modelos basada en su habilidad estimada, nos interesa saber si existe una diferencia real o estadísticamente significativa entre los dos modelos.
- Si el resultado de la prueba sugiere que no hay pruebas suficientes para rechazar la hipótesis nula, entonces cualquier diferencia observada en la habilidad del modelo se debe probablemente al azar estadístico.
- Si el resultado de la prueba sugiere que hay suficiente evidencia para rechazar la hipótesis nula, entonces cualquier diferencia observada en la habilidad del modelo es probable que se deba a una diferencia en los modelos.
Los resultados de la prueba son probabilísticos, lo que significa que es posible interpretar correctamente el resultado y que el resultado sea erróneo con un error tipo I o tipo II. Brevemente, un hallazgo falso positivo o falso negativo.
Comparar modelos de aprendizaje automático a través de pruebas de significación estadística impone algunas expectativas que, a su vez, afectarán a los tipos de pruebas estadísticas que se pueden utilizar; por ejemplo:
- Estimación de la habilidad. Debe elegirse una medida específica de la habilidad del modelo. Puede ser la precisión de la clasificación (una proporción) o el error medio absoluto (estadística de resumen), lo que limitará el tipo de pruebas que pueden utilizarse.
- Estimaciones repetidas. Se necesita una muestra de puntuaciones de habilidad para poder calcular las estadísticas. El entrenamiento y las pruebas repetidas de un modelo dado en los mismos datos o en otros diferentes repercutirán en el tipo de prueba que se puede utilizar.
- Distribución de las estimaciones. La muestra de estimaciones de puntuación de habilidad tendrá una distribución, quizás gaussiana o quizás no. Esto determinará si se pueden utilizar pruebas paramétricas o no paramétricas.
- Tendencia central. La habilidad del modelo a menudo se describirá y comparará utilizando una estadística de resumen como la media o la mediana, dependiendo de la distribución de las puntuaciones de habilidad. La prueba puede o no tener esto en cuenta directamente.
Los resultados de una prueba estadística son a menudo una estadística de prueba y un valor p, los cuales pueden ser interpretados y utilizados en la presentación de los resultados con el fin de cuantificar el nivel de confianza o significación en la diferencia entre los modelos. Esto permite hacer afirmaciones más fuertes como parte de la selección de modelos que si no se utilizan pruebas de hipótesis estadísticas.
Dado que el uso de pruebas de hipótesis estadísticas parece deseable como parte de la selección de modelos, ¿cómo elegir una prueba que sea adecuada para su caso de uso específico?
Problema de elección de una prueba de hipótesis
Veamos un ejemplo común para evaluar y comparar clasificadores para un problema de clasificación binaria equilibrada.
Es una práctica común evaluar los métodos de clasificación utilizando la precisión de la clasificación, evaluar cada modelo utilizando una validación cruzada de 10 veces, asumir una distribución gaussiana para la muestra de 10 estimaciones de habilidad del modelo y utilizar la media de la muestra como un resumen de la habilidad del modelo.
Podríamos requerir que cada clasificador evaluado utilizando este procedimiento sea evaluado exactamente en las mismas divisiones del conjunto de datos a través de la validación cruzada de 10 veces. Esto daría muestras de medidas emparejadas entre dos clasificadores, emparejadas porque cada clasificador fue evaluado en los mismos 10 conjuntos de pruebas.
Podríamos entonces seleccionar y utilizar la prueba t de Student emparejada para comprobar si la diferencia en la precisión media entre los dos modelos es estadísticamente significativa, por ejemplo rechazar la hipótesis nula que asume que las dos muestras tienen la misma distribución.
De hecho, esta es una forma común de comparar clasificadores con quizás cientos de artículos publicados que utilizan esta metodología.
El problema es que se ha violado una suposición clave de la prueba t de Student emparejada.
Es decir, las observaciones en cada muestra no son independientes. Como parte del procedimiento de validación cruzada k-fold, una determinada observación se utilizará en el conjunto de datos de entrenamiento (k-1) veces. Esto significa que las puntuaciones de habilidad estimadas son dependientes, no independientes, y a su vez que el cálculo de la estadística t en la prueba será engañosamente erróneo junto con cualquier interpretación de la estadística y el valor p.
Esta observación requiere una cuidadosa comprensión tanto del método de remuestreo utilizado, en este caso la validación cruzada k-fold, como de las expectativas de la prueba de hipótesis elegida, en este caso la prueba t de Student emparejada. Sin estos antecedentes, la prueba parece apropiada, se calculará e interpretará un resultado, y todo parecerá bien.
Desgraciadamente, la selección de una prueba de hipótesis estadística apropiada para la selección de modelos en el aprendizaje automático aplicado es más desafiante de lo que parece a primera vista. Afortunadamente, hay un creciente cuerpo de investigación que ayuda a señalar los defectos de los enfoques ingenuos, y sugiere correcciones y métodos alternativos.
Resumen de algunos hallazgos
En esta sección, echemos un vistazo a algunas de las investigaciones sobre la selección de pruebas de significación estadística adecuadas para la selección de modelos en el aprendizaje automático.
Utilizar la prueba de McNemar o la validación cruzada 5×2
Tal vez el trabajo seminal sobre este tema es el documento de 1998 titulado «Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms» de Thomas Dietterich.
Es un excelente documento sobre el tema y una lectura recomendada. Cubre en primer lugar un gran marco para pensar en los puntos durante un proyecto de aprendizaje de la máquina donde una prueba de hipótesis estadística puede ser necesaria, discute la expectativa sobre las violaciones comunes de las pruebas estadísticas relevantes para comparar los métodos de aprendizaje de la máquina de clasificación, y termina con una evaluación empírica de los métodos para confirmar los resultados.
Este artículo revisa cinco pruebas estadísticas aproximadas para determinar si un algoritmo de aprendizaje supera a otro en una tarea de aprendizaje particular.
El enfoque de la selección y evaluación empírica de las pruebas de hipótesis estadísticas en el documento es que la calibración del error de tipo I o falsos positivos. Es decir, la selección de una prueba que minimice el caso de sugerir una diferencia significativa cuando no existe tal diferencia.
Hay una serie de hallazgos importantes en este trabajo.
El primer hallazgo es que el uso de la prueba t de Student emparejada en los resultados de la habilidad estimada a través de remuestreos aleatorios de un conjunto de datos de entrenamiento nunca debe hacerse.
… podemos concluir con seguridad que nunca debe emplearse la prueba t de remuestreo.
Los supuestos de la prueba t emparejada se violan en el caso del remuestreo aleatorio y en el caso de la validación cruzada k-fold (como se señaló anteriormente). No obstante, en el caso de la validación cruzada k-fold, la prueba t será optimista, lo que dará lugar a un mayor error de tipo I, pero sólo a un modesto error de tipo II. Esto significa que esta combinación podría utilizarse en casos en los que evitar los errores de tipo II es más importante que sucumbir a un error de tipo I.
La prueba t con validación cruzada de 10 veces tiene un alto error de tipo I. Sin embargo, también tiene una alta potencia y, por lo tanto, puede recomendarse en aquellos casos en los que el error de tipo II (la incapacidad de detectar una diferencia real entre algoritmos) es más importante.
Dietterich recomienda la prueba de hipótesis estadística de McNemar en los casos en los que hay una cantidad limitada de datos y cada algoritmo sólo puede evaluarse una vez.
La prueba de McNemar es como la prueba de Chi-Cuadrado, y en este caso se utiliza para determinar si la diferencia en las proporciones observadas en la tabla de contingencia del algoritmo son significativamente diferentes de las proporciones esperadas. Este es un hallazgo útil en el caso de las grandes redes neuronales de aprendizaje profundo que pueden tardar días o semanas en entrenarse.
Nuestros experimentos nos llevan a recomendar la prueba de McNemar, para situaciones en las que los algoritmos de aprendizaje pueden ejecutarse una sola vez.
Dietterich también recomienda un método de remuestreo de su propia invención llamado validación cruzada 5×2 que implica 5 repeticiones de validación cruzada de 2 pliegues.
Se eligen dos pliegues para garantizar que cada observación aparezca sólo en el conjunto de datos de entrenamiento o de prueba para una única estimación de la habilidad del modelo. Se utiliza una prueba t de Student emparejada en los resultados, actualizada para reflejar mejor los limitados grados de libertad dada la dependencia entre las puntuaciones de habilidad estimadas.
Nuestros experimentos nos llevan a recomendar la prueba t de 5 x 2cv, para situaciones en las que los algoritmos de aprendizaje son lo suficientemente eficientes como para ejecutarse diez veces
Refiniciones sobre la validación cruzada de 5×2
El uso de la prueba de McNemar o de la validación cruzada de 5×2 se ha convertido en una recomendación básica durante gran parte de los 20 años transcurridos desde la publicación del artículo.
Sin embargo, se han realizado otras mejoras para corregir mejor la prueba t de Student emparejada para la violación de la suposición de independencia de la validación cruzada k-fold repetida.
Dos documentos importantes entre muchos incluyen:
Claude Nadeau y Yoshua Bengio proponen una corrección adicional en su documento de 2003 titulado «Inference for the Generalization Error». Es un documento denso y no se recomienda para los débiles de corazón.
Este análisis nos permitió construir dos estimadores de la varianza que tienen en cuenta tanto la variabilidad debida a la elección de los conjuntos de entrenamiento como la elección de los ejemplos de prueba. Uno de los estimadores propuestos se parece al método cv (Dietterich, 1998) y está específicamente diseñado para sobreestimar la varianza para producir una inferencia conservadora.
Remco Bouckaert y Eibe Frank, en su artículo de 2004 titulado «Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms» (Evaluación de la replicabilidad de las pruebas de significación para la comparación de algoritmos de aprendizaje), adoptan una perspectiva diferente y consideran que la capacidad de replicar los resultados es más importante que los errores de tipo I o de tipo II.
En este artículo sostenemos que la replicabilidad de una prueba también es importante. Decimos que una prueba tiene una baja replicabilidad si su resultado depende fuertemente de la partición aleatoria particular de los datos que se utiliza para realizarla
Sorprendentemente, recomiendan utilizar 100 ejecuciones de remuestreo aleatorio o una validación cruzada de 10×10 veces con la corrección de Nadeau y Bengio para la prueba de Student-t emparejada con el fin de lograr una buena replicabilidad.
Este último enfoque se recomienda en el libro de Ian Witten y Eibe Frank y en su plataforma de minería de datos de código abierto Weka, refiriéndose a la corrección de Nadeau y Bengio como la «prueba t remuestreada corregida».
Se han propuesto varias modificaciones de la prueba t estándar para eludir este problema, todas ellas heurísticas y sin una justificación teórica sólida. Una que parece funcionar bien en la práctica es la prueba t corregida con remuestreo. La misma estadística modificada puede utilizarse con la validación cruzada repetida, que no es más que un caso especial de retención repetida en el que los conjuntos de pruebas individuales para una validación cruzada no se solapan.
– Página 159, Capítulo 5, Credibilidad: Evaluando lo que se ha aprendido, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Recomendaciones
No hay balas de plata cuando se trata de seleccionar una prueba de significación estadística para la selección de modelos en el aprendizaje automático aplicado.
Veamos cinco enfoques que puede utilizar en su proyecto de aprendizaje automático para comparar clasificadores.
Muestras de datos independientes
Si tiene datos casi ilimitados, reúna k conjuntos de datos de entrenamiento y prueba separados para calcular 10 puntuaciones de habilidad verdaderamente independientes para cada método.
A continuación, puede aplicar correctamente la prueba t de Student emparejada. Esto es muy poco probable, ya que a menudo estamos trabajando con pequeñas muestras de datos.
… la suposición de que hay datos esencialmente ilimitados para que se puedan utilizar varios conjuntos de datos independientes del tamaño adecuado. En la práctica suele haber un único conjunto de datos de tamaño limitado. ¿Qué se puede hacer?
– Página 158, Capítulo 5, Credibilidad: Evaluando lo que se ha aprendido, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Aceptar los problemas de CV de 10 veces
Se puede utilizar la validación cruzada ingenua de 10 veces con una prueba t de Student emparejada no modificada.
Tiene una buena repetibilidad en relación con otros métodos y un modesto error de tipo II, pero se sabe que tiene un elevado error de tipo I.
Los experimentos también sugieren precaución al interpretar los resultados de la prueba t de validación cruzada de 10 veces. Esta prueba tiene una elevada probabilidad de error de tipo I (hasta el doble del nivel objetivo), aunque no es tan grave como el problema de la prueba t remuestreada.
– Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
Es una opción, pero se recomienda muy débilmente.
Use la prueba de McNemar o 5×2 CV
Se mantienen las recomendaciones de dos décadas de la prueba de McNemar para los resultados de precisión de clasificación de una sola ejecución y la validación cruzada de 5×2 veces con una prueba t de Student emparejada modificada en general.
Además, la corrección adicional de Nadeau y Bengio a la estadística de la prueba se puede utilizar con la validación cruzada de 5×2 veces o la validación cruzada de 10×10 veces, como recomiendan los desarrolladores de Weka.
Un desafío en el uso de la estadística t modificada es que no hay una implementación fuera de la plataforma (por ejemplo, en SciPy), lo que requiere el uso de código de terceros y los riesgos que esto conlleva. Es posible que tengas que implementarlo tú mismo.
La disponibilidad y la complejidad de un método estadístico elegido es una consideración importante, bien dicho por Gitte Vanwinckelen y Hendrik Blockeel en su artículo de 2012 titulado «On Estimating Model Accuracy with Repeated Cross-Validation»:
Aunque estos métodos están cuidadosamente diseñados, y han demostrado que mejoran los métodos anteriores en varios aspectos, sufren el mismo riesgo que los métodos anteriores, es decir, que cuanto más complejo es un método, mayor es el riesgo de que los investigadores lo utilicen de forma incorrecta, o interpreten el resultado de forma incorrecta.
Tengo un ejemplo de uso de la prueba de McNemar aquí:
- Cómo calcular la prueba de McNemar para comparar dos clasificadores de aprendizaje automático
Utilizar una prueba pareada no paramétrica
Podemos utilizar una prueba no paramétrica que hace menos suposiciones, como no asumir que la distribución de las puntuaciones de habilidad es gaussiana.
Un ejemplo es la prueba de rango con signo de Wilcoxon, que es la versión no paramétrica de la prueba t de Student emparejada. Esta prueba tiene menos potencia estadística que la prueba t emparejada, aunque más potencia cuando se violan las expectativas de la prueba t, como la independencia.
Esta prueba de hipótesis estadística es recomendada para comparar algoritmos de diferentes conjuntos de datos por Janez Demsar en su artículo de 2006 «Statistical Comparisons of Classifiers over Multiple Data Sets».
Por lo tanto, recomendamos utilizar la prueba de Wilcoxon, a menos que se cumplan los supuestos de la prueba t, ya sea porque tenemos muchos conjuntos de datos o porque tenemos razones para creer que la medida de rendimiento entre conjuntos de datos se distribuye normalmente.
Aunque la prueba no es paramétrica, sigue asumiendo que las observaciones dentro de cada muestra son independientes (por ejemplo, iid), y el uso de la validación cruzada k-fold crearía muestras dependientes y violaría este supuesto.
Usar estadísticas de estimación en su lugar
En lugar de pruebas de hipótesis estadísticas, se pueden calcular estadísticas de estimación, como los intervalos de confianza. Éstos padecerían problemas similares cuando se viola el supuesto de independencia, dados los métodos de remuestreo con los que se evalúan los modelos.
Tom Mitchell hace una recomendación similar en su libro de 1997, sugiriendo tomar los resultados de las pruebas de hipótesis estadísticas como estimaciones heurísticas y buscar intervalos de confianza en torno a las estimaciones de la habilidad del modelo:
Para resumir, ningún procedimiento único para comparar métodos de aprendizaje basados en datos limitados satisface todas las restricciones que nos gustaría. Es conveniente tener en cuenta que los modelos estadísticos rara vez se ajustan perfectamente a las restricciones prácticas para probar los algoritmos de aprendizaje cuando los datos disponibles son limitados. No obstante, proporcionan intervalos de confianza aproximados que pueden ser de gran ayuda para interpretar las comparaciones experimentales de los métodos de aprendizaje.
– Página 150, Capítulo 5, Evaluación de hipótesis, Aprendizaje automático, 1997.
Los métodos estadísticos como el bootstrap pueden utilizarse para calcular intervalos de confianza no paramétricos defendibles que pueden utilizarse tanto para presentar resultados como para comparar clasificadores. Este es un enfoque simple y eficaz al que siempre se puede recurrir y que recomiendo en general.
De hecho, los intervalos de confianza han recibido el mayor estudio teórico de cualquier tema en el área del bootstrap.
– Página 321, An Introduction to the Bootstrap, 1994.
Extensiones
Esta sección enumera algunas ideas para ampliar el tutorial que tal vez desee explorar.
- Encuentre y enumere tres trabajos de investigación que utilicen incorrectamente la prueba t de Student emparejada no modificada para comparar y elegir un modelo de aprendizaje automático.
- Resuma el marco de trabajo para utilizar pruebas de hipótesis estadísticas en un proyecto de aprendizaje automático presentado en el artículo de Thomas Dietterich de 1998.
- Encuentre y enumere tres trabajos de investigación que utilicen correctamente la prueba de McNemar o la validación cruzada 5×2 para comparar y elegir un modelo de aprendizaje automático.
Si exploras alguna de estas extensiones, me encantaría saberlo.
Lectura adicional
Esta sección proporciona más recursos sobre el tema si buscas profundizar.
Papeles
- Pruebas estadísticas aproximadas para comparar algoritmos de aprendizaje de clasificación supervisada, 1998.
- Inferencia para el error de generalización, 2003.
- Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms, 2004.
- On estimating model accuracy with repeated cross-validation, 2012.
- Statistical Comparisons of Classifiers over Multiple Data Sets, 2006.
Books
- Chapter 5, Evaluating Hypotheses, Machine Learning, 1997.
- Chapter 5, Credibility: Evaluando lo que se ha aprendido, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
- An Introduction to the Bootstrap, 1994.
Artículos
- Prueba t de Student en Wikipedia
- Validación cruzada (estadística) en Wikipedia
- Prueba de McNemar en Wikipedia
- Prueba de rango con signo de Wilcoxon en Wikipedia
Discusiones
- Para la selección/comparación de modelos, ¿qué tipo de test debo utilizar?
- Cómo realizar pruebas de hipótesis para comparar diferentes clasificadores
- Metodología de la prueba de suma de rangos de Wilcoxon
- Cómo elegir entre la prueba t o la prueba no paramétrica, por ejemplo. Wilcoxon en muestras pequeñas
Resumen
En este tutorial, descubrió la importancia y el desafío de seleccionar una prueba de hipótesis estadística para comparar modelos de aprendizaje automático.
Específicamente, aprendió:
- Las pruebas de hipótesis estadísticas pueden ayudar a comparar modelos de aprendizaje automático y elegir un modelo final.
- La aplicación ingenua de las pruebas de hipótesis estadísticas puede conducir a resultados engañosos.
- El uso correcto de las pruebas estadísticas es un reto, y existe cierto consenso para utilizar la prueba de McNemar o la validación cruzada 5×2 con una prueba t de Student emparejada modificada.
¿Tienes alguna pregunta?
Haz tus preguntas en los comentarios de abajo y haré todo lo posible por responder.
¡Descubre la estadística para el aprendizaje automático!
Desarrolla una comprensión práctica de la estadística
…escribiendo líneas de código en python
Descubra cómo en mi nuevo Ebook:
Métodos Estadísticos para el Aprendizaje Automático
Proporciona tutoriales de autoestudio sobre temas como:
Pruebas de Hipótesis, Correlación, Estadísticas No Paramétricas, Remuestreo, y mucho más…
Descubra cómo Transformar los Datos en Conocimiento
Olvide lo Académico. Sólo resultados.
Vea lo que hay dentro