Dernière mise à jour le 8 août 2019
Comparer les méthodes d’apprentissage automatique et sélectionner un modèle final est une opération courante dans l’apprentissage automatique appliqué.
Les modèles sont couramment évalués à l’aide de méthodes de rééchantillonnage comme la validation croisée k-fold à partir de laquelle les scores de compétence moyens sont calculés et comparés directement. Bien que simple, cette approche peut être trompeuse car il est difficile de savoir si la différence entre les scores de compétences moyens est réelle ou le résultat d’un coup de chance statistique.
Les tests de signification statistique sont conçus pour résoudre ce problème et quantifier la probabilité que les échantillons de scores de compétences soient observés compte tenu de l’hypothèse selon laquelle ils ont été tirés de la même distribution. Si cette hypothèse, ou hypothèse nulle, est rejetée, cela suggère que la différence entre les scores de compétences est statistiquement significative.
Bien qu’ils ne soient pas infaillibles, les tests d’hypothèse statistique peuvent améliorer à la fois votre confiance dans l’interprétation et la présentation des résultats lors de la sélection du modèle.
Dans ce tutoriel, vous découvrirez l’importance et le défi de la sélection d’un test d’hypothèse statistique pour comparer les modèles d’apprentissage automatique.
Après avoir terminé ce tutoriel, vous saurez :
- Les tests d’hypothèse statistiques peuvent aider à comparer les modèles d’apprentissage automatique et à choisir un modèle final.
- L’application naïve des tests d’hypothèses statistiques peut conduire à des résultats trompeurs.
- L’utilisation correcte des tests statistiques est un défi, et il y a un certain consensus pour utiliser le test de McNemar ou la validation croisée 5×2 avec un test t de Student apparié modifié.
Démarrez votre projet avec mon nouveau livre Statistics for Machine Learning, comprenant des tutoriels étape par étape et les fichiers de code source Python pour tous les exemples.
Démarrons.
- Mise à jour Oct/2018 : Ajout d’un lien vers un exemple d’utilisation du test de McNemar.
Tests de significativité statistique pour la comparaison d’algorithmes d’apprentissage automatique
Photo de Fotografías de Javier, certains droits réservés.
Vue d’ensemble du tutoriel
Ce tutoriel est divisé en 5 parties ; ce sont :
- Le problème de la sélection de modèles
- Tests d’hypothèses statistiques
- Problème du choix d’un test d’hypothèse
- Résumé de quelques résultats
- Recommandations
Vous avez besoin d’aide avec les statistiques pour l’apprentissage automatique ?
Prenez dès maintenant mon cours intensif gratuit de 7 jours par courriel (avec un exemple de code).
Cliquez pour vous inscrire et obtenir également une version PDF Ebook gratuite du cours.
Téléchargez votre mini-cours GRATUIT
Le problème de la sélection de modèles
Une grande partie de l’apprentissage automatique appliqué est la sélection de modèles.
Nous pouvons décrire cela sous sa forme la plus simple :
Donné l’évaluation de deux méthodes d’apprentissage automatique sur un ensemble de données, quel modèle choisissez-vous ?
Vous choisissez le modèle avec la meilleure compétence.
C’est-à-dire, le modèle dont la compétence estimée lors de la réalisation de prédictions sur des données non vues est la meilleure. Cela pourrait être la précision maximale ou l’erreur minimale dans le cas des problèmes de classification et de régression respectivement.
Le défi de la sélection du modèle avec la meilleure compétence est de déterminer dans quelle mesure vous pouvez faire confiance à la compétence estimée de chaque modèle. Plus généralement :
La différence de compétence entre deux modèles d’apprentissage automatique est-elle réelle, ou due à un hasard statistique ?
Nous pouvons utiliser des tests d’hypothèses statistiques pour répondre à cette question.
Tests d’hypothèse statistiques
Généralement, un test d’hypothèse statistique pour comparer des échantillons quantifie la probabilité d’observer deux échantillons de données étant donné l’hypothèse que les échantillons ont la même distribution.
L’hypothèse d’un test statistique est appelée l’hypothèse nulle et nous pouvons calculer des mesures statistiques et les interpréter afin de décider d’accepter ou de rejeter l’hypothèse nulle.
Dans le cas de la sélection de modèles en fonction de leur compétence estimée, nous sommes intéressés à savoir s’il existe une différence réelle ou statistiquement significative entre les deux modèles.
- Si le résultat du test suggère qu’il n’y a pas suffisamment de preuves pour rejeter l’hypothèse nulle, alors toute différence observée dans la compétence du modèle est probablement due au hasard statistique.
- Si le résultat du test suggère qu’il y a suffisamment de preuves pour rejeter l’hypothèse nulle, alors toute différence observée dans la compétence du modèle est probablement due à une différence dans les modèles.
Les résultats du test sont probabilistes, ce qui signifie qu’il est possible d’interpréter correctement le résultat et que le résultat soit faux avec une erreur de type I ou de type II. En bref, un résultat faussement positif ou faussement négatif.
La comparaison de modèles d’apprentissage automatique via des tests de signification statistique impose certaines attentes qui, à leur tour, auront un impact sur les types de tests statistiques qui peuvent être utilisés ; par exemple :
- Estimation de la compétence. Une mesure spécifique de la compétence du modèle doit être choisie. Il peut s’agir de la précision de la classification (une proportion) ou de l’erreur absolue moyenne (statistique sommaire), ce qui limitera le type de tests qui peuvent être utilisés.
- Estimations répétées. Un échantillon de scores de compétences est nécessaire pour calculer les statistiques. L’entraînement et les tests répétés d’un modèle donné sur les mêmes données ou sur des données différentes auront un impact sur le type de test qui peut être utilisé.
- Distribution des estimations. L’échantillon d’estimations de scores de compétences aura une distribution, peut-être gaussienne ou peut-être pas. Cela déterminera si des tests paramétriques ou non paramétriques peuvent être utilisés.
- Tendance centrale. L’habileté du modèle sera souvent décrite et comparée à l’aide d’une statistique sommaire telle qu’une moyenne ou une médiane, selon la distribution des scores d’habileté. Le test peut ou non en tenir compte directement.
Les résultats d’un test statistique sont souvent une statistique de test et une valeur p, qui peuvent toutes deux être interprétées et utilisées dans la présentation des résultats afin de quantifier le niveau de confiance ou de signification de la différence entre les modèles. Cela permet de faire des affirmations plus fortes dans le cadre de la sélection de modèles que de ne pas utiliser de tests d’hypothèse statistiques.
Du fait que l’utilisation de tests d’hypothèse statistiques semble souhaitable dans le cadre de la sélection de modèles, comment choisir un test qui convient à votre cas d’utilisation spécifique ?
Problème du choix d’un test d’hypothèse
Regardons un exemple commun pour évaluer et comparer des classificateurs pour un problème de classification binaire équilibrée.
Il est courant d’évaluer les méthodes de classification en utilisant l’exactitude de la classification, d’évaluer chaque modèle en utilisant la validation croisée 10 fois, de supposer une distribution gaussienne pour l’échantillon de 10 estimations de compétence du modèle, et d’utiliser la moyenne de l’échantillon comme un résumé de la compétence du modèle.
Nous pourrions exiger que chaque classificateur évalué en utilisant cette procédure soit évalué sur exactement les mêmes divisions de l’ensemble de données via la validation croisée 10 fois. Cela donnerait des échantillons de mesures appariées entre deux classificateurs, appariés parce que chaque classificateur a été évalué sur les mêmes 10 ensembles de test.
Nous pourrions ensuite sélectionner et utiliser le test t de Student apparié pour vérifier si la différence de précision moyenne entre les deux modèles est statistiquement significative, par ex. rejeter l’hypothèse nulle qui suppose que les deux échantillons ont la même distribution.
En fait, c’est une façon courante de comparer les classificateurs avec peut-être des centaines d’articles publiés utilisant cette méthodologie.
Le problème est, une hypothèse clé du test t de Student apparié a été violée.
À savoir, les observations dans chaque échantillon ne sont pas indépendantes. Dans le cadre de la procédure de validation croisée k-fold, une observation donnée sera utilisée dans l’ensemble de données de formation (k-1) fois. Cela signifie que les scores de compétence estimés sont dépendants, et non indépendants, et à son tour que le calcul de la statistique t dans le test sera faussement erroné ainsi que toute interprétation de la statistique et de la valeur p.
Cette observation nécessite une compréhension attentive à la fois de la méthode de rééchantillonnage utilisée, dans ce cas la validation croisée k-fold, et des attentes du test d’hypothèse choisi, dans ce cas le test t de Student apparié. Sans ce contexte, le test semble approprié, un résultat sera calculé et interprété, et tout aura l’air bien.
Malheureusement, la sélection d’un test d’hypothèse statistique approprié pour la sélection de modèles dans l’apprentissage automatique appliqué est plus difficile qu’il n’y paraît de prime abord. Heureusement, il existe un corpus croissant de recherches aidant à souligner les défauts des approches naïves, et suggérant des corrections et des méthodes alternatives.
Résumé de quelques résultats
Dans cette section, jetons un coup d’œil à certaines recherches sur la sélection de tests de signification statistique appropriés pour la sélection de modèles en apprentissage automatique.
Utiliser le test de McNemar ou la validation croisée 5×2
Peut-être que le travail séminal sur ce sujet est le papier de 1998 intitulé « Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms » par Thomas Dietterich.
C’est un excellent papier sur le sujet et une lecture recommandée. Il couvre d’abord un grand cadre pour penser aux points au cours d’un projet d’apprentissage automatique où un test d’hypothèse statistique peut être nécessaire, discute de l’attente sur les violations communes des tests statistiques pertinents pour comparer les méthodes d’apprentissage automatique de classificateurs, et se termine par une évaluation empirique des méthodes pour confirmer les résultats.
Cet article passe en revue cinq tests statistiques approximatifs pour déterminer si un algorithme d’apprentissage surpasse un autre sur une tâche d’apprentissage particulière.
Le point central de la sélection et de l’évaluation empirique des tests d’hypothèse statistiques dans l’article est celui de la calibration de l’erreur de type I ou des faux positifs. C’est-à-dire, la sélection d’un test qui minimise le cas de suggérer une différence significative quand une telle différence n’existe pas.
Il y a un certain nombre de conclusions importantes dans cet article.
La première conclusion est que l’utilisation du test t de Student apparié sur les résultats de la compétence estimée via des rééchantillons aléatoires d’un ensemble de données de formation ne devrait jamais être faite.
… nous pouvons conclure avec confiance que le test t rééchantillonné ne devrait jamais être employé.
Les hypothèses du test t apparié sont violées dans le cas du rééchantillonnage aléatoire et dans le cas de la validation croisée k-fold (comme indiqué ci-dessus). Néanmoins, dans le cas de la validation croisée k-fold, le test t sera optimiste, ce qui entraînera une erreur de type I plus élevée, mais seulement une erreur de type II modeste. Cela signifie que cette combinaison pourrait être utilisée dans les cas où éviter les erreurs de type II est plus important que de succomber à une erreur de type I.
Le test t à validation croisée 10 fois a une erreur de type I élevée. Cependant, il a également une puissance élevée, et donc, il peut être recommandé dans les cas où l’erreur de type II (l’incapacité à détecter une différence réelle entre les algorithmes) est plus importante.
Dietterich recommande le test d’hypothèse statistique de McNemar dans les cas où il y a une quantité limitée de données et où chaque algorithme ne peut être évalué qu’une seule fois.
Le test de McNemar est comme le test du Khi-deux, et dans ce cas, il est utilisé pour déterminer si la différence des proportions observées dans le tableau de contingence de l’algorithme est significativement différente des proportions attendues. C’est un résultat utile dans le cas de grands réseaux neuronaux d’apprentissage profond qui peuvent prendre des jours ou des semaines à former.
Nos expériences nous amènent à recommander le test de McNemar, pour les situations où les algorithmes d’apprentissage ne peuvent être exécutés qu’une seule fois.
Dietterich recommande également une méthode de rééchantillonnage de sa propre conception appelée validation croisée 5×2 qui implique 5 répétitions de la validation croisée à deux plis.
Deux plis sont choisis pour s’assurer que chaque observation n’apparaît que dans l’ensemble de données de formation ou de test pour une seule estimation de la compétence du modèle. Un test t de Student apparié est utilisé sur les résultats, mis à jour pour mieux refléter les degrés de liberté limités étant donné la dépendance entre les scores de compétence estimés.
Nos expériences nous amènent à recommander le test t 5 x 2cv, pour les situations dans lesquelles les algorithmes d’apprentissage sont suffisamment efficaces pour être exécutés dix fois
Refinements on 5×2 Cross-Validation
L’utilisation soit du test de McNemar, soit de la validation croisée 5×2 est devenue une recommandation de base pendant une grande partie des 20 années qui ont suivi la publication de cet article.
Néanmoins, d’autres améliorations ont été apportées pour mieux corriger le test t de Student apparié pour la violation de l’hypothèse d’indépendance de la validation croisée k-fold répétée.
Deux articles importants parmi beaucoup comprennent :
Claude Nadeau et Yoshua Bengio proposent une correction supplémentaire dans leur article de 2003 intitulé « Inference for the Generalization Error ». C’est un article dense et non recommandé pour les âmes sensibles.
Cette analyse nous a permis de construire deux estimations de la variance qui prennent en compte à la fois la variabilité due au choix des ensembles d’entraînement et au choix des exemples de test. L’un des estimateurs proposés ressemble à la méthode cv (Dietterich, 1998) et est spécifiquement conçu pour surestimer la variance afin de produire une inférence conservatrice.
Remco Bouckaert et Eibe Frank dans leur article de 2004 intitulé « Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms » adoptent une perspective différente et considèrent la capacité à répliquer les résultats comme plus importante que les erreurs de type I ou II.
Dans cet article, nous soutenons que la réplicabilité d’un test est également importante. Nous disons qu’un test a une faible réplicabilité si son résultat dépend fortement du partitionnement aléatoire particulier des données qui est utilisé pour le réaliser
Surprenant, ils recommandent d’utiliser soit 100 exécutions de rééchantillonnage aléatoire, soit une validation croisée 10×10 fois avec la correction de Nadeau et Bengio au test t de Student apparié afin d’obtenir une bonne réplicabilité.
Cette dernière approche est recommandée dans le livre de Ian Witten et Eibe Frank et dans leur plateforme d’exploration de données open-source Weka, en se référant à la correction de Nadeau et Bengio comme au « test t rééchantillonné corrigé ».
Diverses modifications du test t standard ont été proposées pour contourner ce problème, toutes heuristiques et sans justification théorique solide. Un qui semble bien fonctionner dans la pratique est le test t rééchantillonné corrigé. La même statistique modifiée peut être utilisée avec la validation croisée répétée, qui n’est qu’un cas particulier de maintien répété dans lequel les ensembles de test individuels pour une validation croisée ne se chevauchent pas.
– Page 159, chapitre 5, Crédibilité : L’évaluation de ce qui a été appris, Data Mining : Practical Machine Learning Tools and Techniques, troisième édition, 2011.
Recommandations
Il n’y a pas de balles d’argent lorsqu’il s’agit de choisir un test de signification statistique pour la sélection de modèles dans l’apprentissage automatique appliqué.
Examinons cinq approches que vous pouvez utiliser sur votre projet d’apprentissage automatique pour comparer les classificateurs.
Échantillons de données indépendants
Si vous disposez de données quasi illimitées, rassemblez k ensembles de données de formation et de test distincts pour calculer 10 scores de compétences véritablement indépendants pour chaque méthode.
Vous pouvez ensuite appliquer correctement le test t de Student apparié. C’est très peu probable car nous travaillons souvent avec de petits échantillons de données.
… l’hypothèse qu’il y a essentiellement des données illimitées de sorte que plusieurs ensembles de données indépendants de la bonne taille peuvent être utilisés. En pratique, il n’y a généralement qu’un seul ensemble de données de taille limitée. Que peut-on faire ?
– Page 158, chapitre 5, Crédibilité : Évaluer ce qui a été appris, Data Mining : Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Accepter les problèmes de la CV 10 fois
La validation croisée naïve 10 fois peut être utilisée avec un test t de Student apparié non modifié peut être utilisé.
Il a une bonne répétabilité par rapport aux autres méthodes et une erreur de type II modeste, mais il est connu pour avoir une erreur de type I élevée.
Les expériences suggèrent également la prudence dans l’interprétation des résultats du test t à validation croisée 10 fois. Ce test présente une probabilité élevée d’erreur de type I (jusqu’à deux fois le niveau cible), bien qu’elle soit loin d’être aussi grave que le problème du test t rééchantillonné.
– Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
C’est une option, mais c’est très faiblement recommandé.
Utiliser le test de McNemar ou la CV 5×2
Les recommandations de deux décennies du test de McNemar pour les résultats de précision de classification à passage unique et de la validation croisée 5×2 fois avec un test t de Student apparié modifié en général tiennent.
De plus, la correction supplémentaire de Nadeau et Bengio à la statistique de test peut être utilisée avec la validation croisée 5×2-fois ou la validation croisée 10×10-fois, comme le recommandent les développeurs de Weka.
Un défi dans l’utilisation de la statistique t modifiée est qu’il n’y a pas d’implémentation prête à l’emploi (par exemple dans SciPy), ce qui nécessite l’utilisation de code tiers et les risques que cela comporte. Vous devrez peut-être l’implémenter vous-même.
La disponibilité et la complexité d’une méthode statistique choisie est une considération importante, bien dite par Gitte Vanwinckelen et Hendrik Blockeel dans leur article de 2012 intitulé « On Estimating Model Accuracy with Repeated Cross-Validation » :
Bien que ces méthodes soient soigneusement conçues, et qu’il soit démontré qu’elles améliorent les méthodes précédentes à plusieurs égards, elles souffrent du même risque que les méthodes précédentes, à savoir que plus une méthode est complexe, plus le risque que les chercheurs l’utilisent de manière incorrecte, ou interprètent le résultat de manière incorrecte, est élevé.
J’ai un exemple d’utilisation du test de McNemar ici :
- Comment calculer le test de McNemar pour comparer deux classificateurs d’apprentissage automatique
Utiliser un test non paramétrique par paires
Nous pouvons utiliser un test non paramétrique qui fait moins d’hypothèses, comme ne pas supposer que la distribution des scores de compétences est gaussienne.
Un exemple est le test de Wilcoxon signed-rank, qui est la version non paramétrique du test t de Student apparié. Ce test a moins de puissance statistique que le test t apparié, bien que plus de puissance lorsque les attentes du test t sont violées, comme l’indépendance.
Ce test d’hypothèse statistique est recommandé pour la comparaison d’algorithmes de différents ensembles de données par Janez Demsar dans son article de 2006 « Statistical Comparisons of Classifiers over Multiple Data Sets ».
Nous recommandons donc d’utiliser le test de Wilcoxon, à moins que les hypothèses du test t soient satisfaites, soit parce que nous disposons de nombreux ensembles de données, soit parce que nous avons des raisons de croire que la mesure de la performance entre les ensembles de données est distribuée normalement.
Bien que le test soit non paramétrique, il suppose toujours que les observations au sein de chaque échantillon sont indépendantes (par exemple iid), et l’utilisation de la validation croisée k-fold créerait des échantillons dépendants et violerait cette hypothèse.
Utiliser des statistiques d’estimation au lieu
Au lieu des tests d’hypothèse statistiques, des statistiques d’estimation peuvent être calculées, telles que les intervalles de confiance. Ceux-ci souffriraient de problèmes similaires lorsque l’hypothèse d’indépendance est violée étant donné les méthodes de rééchantillonnage par lesquelles les modèles sont évalués.
Tom Mitchell fait une recommandation similaire dans son livre de 1997, suggérant de prendre les résultats des tests d’hypothèse statistiques comme des estimations heuristiques et de chercher des intervalles de confiance autour des estimations de la compétence du modèle :
En résumé, aucune procédure unique de comparaison des méthodes d’apprentissage basées sur des données limitées ne satisfait à toutes les contraintes que nous souhaiterions. Il est sage de garder à l’esprit que les modèles statistiques s’adaptent rarement parfaitement aux contraintes pratiques de test des algorithmes d’apprentissage lorsque les données disponibles sont limitées. Néanmoins, ils fournissent des intervalles de confiance approximatifs qui peuvent être d’une grande aide pour interpréter les comparaisons expérimentales des méthodes d’apprentissage.
– Page 150, Chapitre 5, Evaluating Hypotheses, Machine Learning, 1997.
Des méthodes statistiques telles que le bootstrap peuvent être utilisées pour calculer des intervalles de confiance non paramétriques défendables qui peuvent être utilisés à la fois pour présenter les résultats et comparer les classificateurs. C’est une approche simple et efficace sur laquelle vous pouvez toujours retomber et que je recommande en général.
En fait, les intervalles de confiance ont reçu l’étude la plus théorique de tous les sujets dans le domaine du bootstrap.
– Page 321, An Introduction to the Bootstrap, 1994.
Extensions
Cette section énumère quelques idées d’extension du tutoriel que vous pourriez vouloir explorer.
- Trouvez et citez trois documents de recherche qui utilisent incorrectement le test t de Student apparié non modifié pour comparer et choisir un modèle d’apprentissage automatique.
- Résumez le cadre d’utilisation des tests d’hypothèse statistiques dans un projet d’apprentissage automatique présenté dans l’article de Thomas Dietterich en 1998.
- Trouvez et citez trois documents de recherche qui utilisent correctement soit le test de McNemar, soit la validation croisée 5×2 pour comparer et choisir un modèle d’apprentissage automatique.
Si vous explorez l’une de ces extensions, j’aimerais le savoir.
Lectures complémentaires
Cette section fournit plus de ressources sur le sujet si vous cherchez à approfondir.
Papers
- Tests statistiques approximatifs pour comparer les algorithmes d’apprentissage de classification supervisée, 1998.
- Inférence pour l’erreur de généralisation, 2003.
- Évaluation de la reproductibilité des tests de significativité pour comparer des algorithmes d’apprentissage, 2004.
- Sur l’estimation de la précision du modèle avec la validation croisée répétée, 2012.
- Comparaisons statistiques de classificateurs sur des ensembles de données multiples, 2006.
Livres
- Chapitre 5, Évaluation des hypothèses, apprentissage automatique, 1997.
- Chapitre 5, Crédibilité : Évaluation de ce qui a été appris, Data Mining : Outils et techniques pratiques d’apprentissage automatique, troisième édition, 2011.
- Introduction au Bootstrap, 1994.
Articles
- Test t de Student sur Wikipedia
- Cross-validation (statistiques) sur Wikipedia
- Test de McNemar sur Wikipedia
- Test de Wilcoxon signed-rank sur Wikipedia
Discussions
- Pour la sélection/comparaison de modèles, quel type de test dois-je utiliser ?
- Comment effectuer un test d’hypothèse pour comparer différents classificateurs
- Méthodologie du test de la somme des rangs de Wilcoxon
- Comment choisir entre le test t ou un test non paramétrique, par exemple. Wilcoxon dans les petits échantillons
Résumé
Dans ce tutoriel, vous avez découvert l’importance et le défi de la sélection d’un test d’hypothèse statistique pour comparer les modèles d’apprentissage automatique.
Spécifiquement, vous avez appris :
- Les tests d’hypothèse statistiques peuvent aider à comparer les modèles d’apprentissage automatique et à choisir un modèle final.
- L’application naïve des tests d’hypothèses statistiques peut conduire à des résultats trompeurs.
- L’utilisation correcte des tests statistiques est un défi, et il y a un certain consensus pour utiliser le test de McNemar ou la validation croisée 5×2 avec un test t de Student apparié modifié.
Avez-vous des questions ?
Posez vos questions dans les commentaires ci-dessous et je ferai de mon mieux pour y répondre.
Maîtrisez les statistiques pour l’apprentissage automatique !
Développez une compréhension pratique des statistiques
….en écrivant des lignes de code en python
Découvrez comment dans mon nouvel Ebook:
Statistical Methods for Machine Learning
Il fournit des tutoriels d’auto-apprentissage sur des sujets tels que:
Tests d’hypothèse, corrélation, statistiques non paramétriques, rééchantillonnage, et bien plus encore…
Découvrez comment transformer les données en connaissances
Skip les universitaires. Juste des résultats.
Voyez ce qu’il y a dedans