Validation croisée ou amorçage pour évaluer les performances de classification?

24

Quelle est la méthode d'échantillonnage la plus appropriée pour évaluer la performance d'un classificateur sur un ensemble de données particulier et la comparer avec d'autres classificateurs? La validation croisée semble être une pratique standard, mais j'ai lu que des méthodes telles que le bootstrap .632 sont un meilleur choix.

À titre de suivi: le choix de la mesure des performances affecte-t-il la réponse (si j'utilise l'ASC au lieu de la précision)?

Mon objectif ultime est de pouvoir dire avec une certaine confiance qu'une méthode d'apprentissage automatique est supérieure à une autre pour un ensemble de données particulier.

kelvin_11
la source
1
Bootstrap (avec remplacement) peut être utilisé sur votre ensemble de données d'entraînement, à la place, par exemple, d'une validation croisée (répétée) k-fold. Voir aussi: Différences entre la validation croisée et le bootstrap pour estimer l'erreur de prédiction , Comprendre le bootstrap pour la validation et la sélection du modèle .
chl

Réponses:

42

Une différence importante dans l'application habituelle des méthodes de validation croisée et hors bootstrap est que la plupart des gens n'appliquent la validation croisée qu'une seule fois (c'est-à-dire que chaque cas est testé exactement une fois), tandis que la validation hors bootstrap est effectuée avec un grand nombre de répétitions / itérations. Dans cette situation, la validation croisée est sujette à une variance plus élevée en raison de l'instabilité du modèle. Cependant, cela peut être évité en utilisant par exemple la validation croisée itérative / répétée de plis. Si cela est fait, au moins pour les ensembles de données spectroscopiques avec lesquels je travaille, l'erreur totale des deux schémas de rééchantillonnage semble être la même dans la pratique.k

La validation croisée avec omission est déconseillée, car il n'y a aucune possibilité de réduire la variance de type instabilité du modèle et il existe certains classificateurs et problèmes où elle présente un biais pessimiste énorme.

.632 bootstrap fait un travail raisonnable tant que l'erreur de rééchantillonnage qui est mélangée n'est pas trop biaisée de manière optimiste. (Par exemple, pour les données avec lesquelles je travaille, des matrices très larges avec beaucoup de variations, cela ne fonctionne pas très bien car les modèles sont sujets à de graves surajustements). Cela signifie également que j'éviterais d'utiliser le bootstrap .632 pour comparer des modèles de complexité variable. Avec .632+ bootstrap, je n'ai pas d'expérience: si le sur-ajustement se produit et est correctement détecté, il correspondra à l'estimation initiale du bootstrap, donc je m'en tiens à une validation simple ou une validation croisée itérée / répétée pour mes données.

Littérature:

  • Kohavi, R .: A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection Artificial Intelligence Proceedings 14th International Joint Conference, 20 - 25. August 1995, Montréal, Québec, Canada, 1995, 1137 - 1145.
    (un classique )

Dougherty et Braga-Neto ont un certain nombre de publications sur le sujet , par exemple

Choix de métrique:

Mon objectif ultime est de pouvoir dire avec une certaine confiance qu'une méthode d'apprentissage automatique est supérieure à une autre pour un ensemble de données particulier.

  • Utilisez un test apparié pour évaluer cela. Pour comparer les proportions, jetez un œil au test de McNemar.

  • La réponse à cette question sera affectée par le choix de la métrique. Comme les mesures d'erreur de type régression n'ont pas l'étape de «durcissement» consistant à couper les décisions avec un seuil, elles ont souvent moins de variance que leurs homologues de classification. Des mesures telles que la précision qui sont essentiellement des proportions nécessiteront un grand nombre de cas de test pour établir la supériorité d'un classificateur sur un autre.

Fleiss: «Méthodes statistiques pour les taux et les proportions» donne des exemples (et des tableaux) de comparaison non appariée des proportions. Pour vous donner une idée de ce que je veux dire par "d'énormes tailles d'échantillon", regardez l'image dans ma réponse à cette autre question . Les tests appariés comme celui de McNemar nécessitent moins de cas de test, mais l'IIRC reste dans le meilleur des cas la moitié (?) De la taille de l'échantillon nécessaire pour le test non apparié.

  • Pour caractériser les performances d'un classificateur (durci), vous avez généralement besoin d'une courbe de travail d'au moins deux valeurs telles que le ROC (sensibilité vs spécificité) ou similaire.
    J'utilise rarement la précision globale ou l'ASC, car mes applications ont généralement des restrictions, par exemple que la sensibilité est plus importante que la spécificité, ou certaines limites sur ces mesures doivent être respectées. Si vous optez pour des caractéristiques de somme "à numéro unique", assurez-vous que le point de fonctionnement des modèles que vous regardez est réellement dans une plage raisonnable.

  • Pour la précision et d'autres mesures de performances qui résument les performances de plusieurs classes selon les étiquettes de référence, assurez-vous de prendre en compte la fréquence relative des classes que vous rencontrerez dans l'application - qui n'est pas nécessairement la même que dans votre données de formation ou de test.

  • Provost, F. et al. : L'argument contre l'estimation de la précision pour comparer les algorithmes d'induction dans les actes de la quinzième conférence internationale sur l'apprentissage automatique, 1998


modifier: comparer plusieurs classificateurs

Je réfléchis à ce problème depuis un certain temps, mais je n'ai pas encore trouvé de solution (et je n'ai rencontré personne qui avait une solution).

Voici ce que j'ai jusqu'à présent:

Pour le moment, j'ai décidé que "l'optimisation est la racine de tout mal", et j'adopte une approche très différente:
je décide autant que possible par une connaissance experte du problème en question. Cela permet en fait de réduire un peu les choses, de sorte que je peux souvent éviter la comparaison de modèles. Lorsque je dois comparer des modèles, j'essaie d'être très ouvert et clair en rappelant aux gens l'incertitude de l'estimation des performances et que la comparaison de modèles particulièrement multiples est que l'AFAIK reste un problème non résolu.


Edit 2: tests appariés

n12(n2-n)du test se réfère simplement au fait que, comme tous les modèles sont testés avec exactement les mêmes cas de test, vous pouvez diviser les cas en cas "faciles" et "difficiles" d'une part, pour lesquels tous les modèles arrivent à un résultat correct (ou mauvaise) prédiction. Ils n'aident pas à distinguer les modèles. D'un autre côté, il y a les cas "intéressants" qui sont correctement prédits par certains, mais pas par d'autres modèles. Seuls ces cas «intéressants» doivent être pris en considération pour juger de la supériorité, ni les cas «faciles» ni les cas «difficiles» n'y contribuent. (C'est ainsi que je comprends l'idée derrière le test de McNemar).

nn

cbeleites soutient Monica
la source
Merci pour votre réponse détaillée! J'apprécierais vraiment si vous pouviez développer votre point de vue: " Utilisez un test par paires pour évaluer cela. Pour comparer les proportions, jetez un œil au test de McNemar. " Je devrais reformuler légèrement ma question: je voudrais comparer plusieurs machines les méthodes d'apprentissage à la fois, pas nécessairement seulement par paires. Il n'est pas immédiatement clair pour moi comment des tests par paires pourraient accomplir cela.
kelvin_11
3
(+6) Belle réponse.
chl
@cbeleites Je t'aime pour ce commentaire. Pour l'importance de la comparaison de modèles multiples - qu'en est-il des méthodes d'analyse de variance (ANOVA)? comme Kruskal – Wallis ?
Serendipity
1
@Serendipity: Je ne sais vraiment pas assez sur Kruskal-Wallis pour vous donner une réponse ici. Mais je soupçonne que les méthodes de type ANOVA ne sont pas ce que l'on veut ici car (1) elles n'utilisent pas la nature appariée des données et (2) elles gagnent en puissance par rapport aux comparaisons multiples car l'hypothèse nulle est juste "tous les modèles" effectuer également "- si cela est rejeté, vous ne savez toujours pas quels algorithmes fonctionnent différemment. Il ne peut donc être utilisé que pour souligner les résultats négatifs (peu importe l'algorithme que vous choisissez). Je soupçonne qu'il y a une grande zone où l'ANOVA vous dit que tous les modèles ne sont pas ...
cbeleites prend en charge Monica
... sont égaux, mais vous ne disposez pas de suffisamment d'informations pour permettre les comparaisons multiples nécessaires à l'identification de meilleurs modèles.
cbeleites prend en charge Monica
6

Vous devez modifier le bootstrap (.632, .632+) uniquement parce que la recherche originale a utilisé une règle de notation incorrecte discontinue (proportion correctement classée). Pour d'autres scores de précision, le bootstrap d'optimisme ordinaire a tendance à bien fonctionner. Pour plus d'informations, voir http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T

Des règles de notation incorrectes vous induisent en erreur dans le choix des fonctionnalités et leur poids. En d'autres termes, tout ce qui peut mal tourner va mal.

Frank Harrell
la source
4

À partir de 'Modélisation prédictive appliquée., Khun. Johnson . p.78

"Aucune méthode de rééchantillonnage n'est uniformément meilleure qu'une autre; le choix doit être fait en tenant compte de plusieurs facteurs. Si la taille de l'échantillon est petite, nous recommandons d'utiliser une validation croisée répétée de 10 fois pour plusieurs raisons; les propriétés de biais et de variance sont bonnes, et étant donné la taille de l'échantillon, les coûts de calcul ne sont pas importants. Si l'objectif est de choisir entre les modèles, au lieu d'obtenir le meilleur indicateur de performance, il est possible de justifier l'utilisation de l'une des procédures de bootstrap, car celles-ci ont une très faible variance. Pour les échantillons de grande taille, les différences entre les méthodes de rééchantillonnage deviennent moins prononcées et l'efficacité de calcul augmente les performances. " p. 78

De plus, étant donné le choix de deux résultats similaires, le modèle plus interprétable est généralement préféré. Par exemple (à partir du même texte), en utilisant un CV 10 fois, un classificateur SVM avait une estimation de précision de 75% avec des résultats de rééchantillonnage entre 66 et 82%. Les mêmes paramètres ont été utilisés sur un classificateur de régression logistique avec une précision de 74,9% et la même plage de rééchantillonnage. Le modèle de régression logistique plus simple pourrait être préféré car il est plus facile d'interpréter les résultats.

tapoter
la source
4
Notez que la variance que vous pouvez réduire en exécutant un grand nombre d'itérations / répétitions de bootstrap / validation croisée n'est que la partie de la variance qui provient de l'instabilité des modèles de substitution. Vous pouvez mesurer s'il s'agit d'une contribution majeure à la variance totale par validation croisée car il teste chaque échantillon exactement une fois au cours de chaque analyse, de sorte que la variance due à la taille de l'échantillon fini n'apparaît pas dans la comparaison des moyennes des exécutions complètes de validation croisée . Pour une classification «dure», vous pouvez calculer la variance due à la taille d'échantillon fini à partir de la distribution binomiale.
cbeleites prend en charge Monica
@cbeleites: Pouvez-vous expliquer un peu ce que vous entendez par "il teste chaque échantillon exactement une fois au cours de chaque analyse, de sorte que la variance due à la taille de l'échantillon fini n'apparaît pas dans la comparaison des moyennes des analyses complètes de validation croisée". (les références sont bien aussi!) (+1 clairement)
usεr11852 dit Reinstate Monic
@ usεr11852: chaque cas est testé exactement une fois par cycle de validation croisée. Imaginez un tableau des résultats d'exécution de CV n_sample xr. Si nous avons des prédictions stables , toutes les prédictions r pour le même cas sont les mêmes. C'est-à-dire qu'il n'y a pas de variance le long des rangées. Mais différents cas peuvent obtenir des prédictions différentes (sauf si nous avons par exemple une précision de 100%): nous avons une variance le long des colonnes. Maintenant, l'évaluation standard de la valorisation croisée itérée / répétée consiste à comparer les moyennes des colonnes. Pour les modèles stables, ce sont exactement les mêmes, même si nous n'avons la variance le long des colonnes, à savoir entre les cas.
cbeleites prend en charge Monica
(Si les modèles / prédictions sont instables, nous obtenons des prédictions différentes par différents modèles de substitution, et nous voyons également la variance le long des lignes. ) Ainsi, pour mesurer la stabilité (in) du modèle / prédiction, il est peut-être encore plus direct d'aller directement pour la variance le long des rangées, c'est-à-dire la variance des prédictions de différents modèles de substitution pour le même cas.
cbeleites prend en charge Monica
1
@cbeleites: Merci beaucoup pour la clarification. Je peux maintenant comprendre le point que vous soulevez davantage.
usεr11852 dit Réintégrer Monic