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.
Réponses:
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:
(un classique )
Dougherty et Braga-Neto ont un certain nombre de publications sur le sujet , par exemple
Dougherty, ER et al. : Performances des estimateurs d'erreur pour la classification bioinformatique actuelle, 2010, 5, 53-67
Beleites, C. et al. : Réduction de la variance dans l'estimation de l'erreur de classification à l'aide d'ensembles de données clairsemés Chemom Intell Lab Syst, 2005, 79, 91 - 100.
Nous avons une comparaison de la validation croisée une seule fois ou de l'itération / de la répétition, et la comparons avec out-of-bootstrap et .632 bootstrap également pour des données particulièrement larges avec plusieurs colinéarités.
Kim, J.-H .: Estimation du taux d'erreur de classification: validation croisée répétée, maintien répété et bootstrap, Computational Statistics & Data Analysis, 2009, 53, 3735 - 374k
constate également que la validation croisée répétée / itérée de la multiplication et out-of-bootstrap a des performances similaires (par opposition à la validation croisée une seule fois).
Choix de métrique:
La précision (dont @FrankHarrell vous dira que c'est un mauvais choix car ce n'est pas une règle de notation appropriée ) est sujette à une variance élevée car elle compte chaque cas comme complètement correct ou complètement incorrect, même si le classificateur a prédit par exemple seulement 60 % probabilité postérieure que le cas de test appartienne à la classe en question. Une règle de notation appropriée est par exemple le score de Brier, qui est étroitement lié à l'erreur quadratique moyenne dans la régression.
Des analogies d'erreur quadratique moyenne sont disponibles pour des proportions telles que la précision, la sensibilité, la spécificité, les valeurs prédictives: Beleites, C. et al. : Validation of soft classification models using partial class memberships: An extended concept of sensitive & Co. applied to grading of astrocytoma tissus, Chemom Intell Lab Syst, 2013, 122, 12 - 22; DOI: 10.1016 / j.chemolab.2012.12.003 (page récapitulative donnant également un lien vers la préimpression)
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:
Le problème est que vous vous retrouvez très rapidement dans une situation de comparaison multiple massive.
Cependant, vous pouvez dire que pour les applications que j'ai à portée de main, les comparaisons multiples n'aggravent pas vraiment les choses, car j'ai rarement assez de cas de test pour permettre même une seule comparaison ...
Je pense que le réglage des hyperparamètres de modèle est une version spécialisée du problème général de comparaison de modèles, qui peut être plus facile à résoudre pour commencer. Cependant, il y a des rumeurs selon lesquelles la qualité des modèles dépend beaucoup de l'expertise de celui qui les construit, peut-être encore plus que du choix du type de modèle
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
la source
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.
la source
À 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.
la source