Comment comparer statistiquement les performances des classificateurs d'apprentissage automatique?

29

Sur la base de la précision estimée de la classification, je veux tester si un classificateur est statistiquement meilleur sur un ensemble de base qu'un autre classificateur. Pour chaque classificateur, je sélectionne un échantillon de formation et de test au hasard dans l'ensemble de base, j'entraîne le modèle et teste le modèle. Je fais cela dix fois pour chaque classificateur. J'ai donc dix mesures d'exactitude de classification d'estimation pour chaque classificateur. Comment puis-je tester statistiquement si le classifier1 est un meilleur classificateur que le classifier2sur l'ensemble de données de base. Quel test t convient-il d'utiliser?

entropie
la source
Avez-vous testé les classificateurs sur les mêmes échantillons? c'est-à-dire, sample1, c1 (sample1), c2 (sample1)? Ou avez-vous utilisé des échantillons différents pour chaque classificateur?
John Moeller
Un test t apparié serait approprié dans ce scénario.
GEL
1
@lewellen: la précision est une proportion: les tests t ne sont généralement pas appropriés.
cbeleites prend en charge Monica
3
@JohnMoeller: "différence de proportions" serait un terme de recherche, indépendant ou dépendant que nous ne connaissons pas encore. S'il est jumelé: test de McNemar. Je suppose que le test t signifie une taille d'échantillon assez petite, donc une approximation normale n'est peut-être pas une bonne idée. J'irais pour des méthodes statistiques pour les taux et les proportions pour rechercher des détails.
cbeleites prend en charge Monica
2
@JohnMoeller: Je dis que chaque précision est une proportion. Si vous souhaitez les comparer, utilisez des méthodes de "différence de proportions". J'ai développé cela en une réponse pour éviter les commentaires sans fin.
cbeleites prend en charge Monica

Réponses:

14

Un examen et une critique de certaines approches test t est donnée dans Le choix entre deux algorithmes d'apprentissage basés sur des tests étalonnés , tests statistiques approximatives pour comparer les algorithmes d' apprentissage Classification supervisée , et sur les classificateurs Comparaison: Les pièges à éviter et une approche recommandée

entropie
la source
Dietterich dit: "La distribution binomiale peut être bien approximée par une distribution normale pour des valeurs raisonnables de ." Jusqu'à présent, vous ne nous avez pas dit que vous aviez un n raisonnable . @ Les 30 cas de JohnMoeller sont à mon humble avis plutôt peu nombreux pour l'approximation normale (du moins sans aucune connaissance de p 1 et p 2 ). nnp1p2
cbeleites prend en charge Monica
J'ai au moins 4000 enregistrements par classe disponibles dans le jeu de données de base, par conséquent l'échantillon que je sélectionne peut être inférieur à cela. Le plus grand inconvénient des tests de différence de proportions est qu'ils ignorent la "variation interne de l'algorithme d'apprentissage". Je pense que cela est important pour un classificateur tel un réseau neuronal, que j'utilise.
entropie
eh bien, c'est une situation complètement différente de celle avec laquelle JohnMoeller a réagi. Si vous entendez l'instabilité du modèle par "variation interne": vous pouvez le mesurer. Je mettrai à jour ma réponse.
cbeleites prend en charge Monica
Pour clarifier, 30 est le nombre de fois que je sélectionne des ensembles de partitions de test / train, pas le nombre de points de test que je sélectionne.
John Moeller
@JohnMoeller: désolé, j'ai complètement mal compris cela (venant d'un champ où "un échantillon" est un spécimen physique quelconque).
cbeleites prend en charge Monica
10

Je n'ai pas le livre Fleiss sous la main, donc tout ça c'est l'IIRC.

Répondre à la question de @ JohnMoeller dans les commentaires pour le moment: la question d'origine est à mon humble avis comme elle est sans réponse.

Supposons donc que j'ai 30 échantillons, que je teste c1 et c2 sur chaque échantillon et enregistre la précision de chacun sur chaque échantillon.

ce faisant, vous vous retrouvez avec une table de contingence 2 x 2 donnant au classificateur 1 correct / faux contre le classificateur 2 correct / faux. C'est le point de départ du test de McNemar . Il s'agit donc d'une comparaison par paires, qui est plus puissante que la comparaison de proportions "indépendantes" (qui ne sont pas complètement indépendantes si elles proviennent du tirage aléatoire du même échantillon fini).

Je ne peux pas rechercher les "petits caractères" de McNemar pour le moment, mais 30 échantillons, ce n'est pas beaucoup. Ainsi, vous devrez peut-être même passer du test exact de McNemar au test exact de Fisher [ou autre chose] qui calcule les probabilités binomiales.


Moyens de proportions:
Peu importe que vous testiez un seul et même classificateur 10x avec 10 cas de test ou une fois avec tous ces 100 cas (le tableau 2 x 2 ne compte que tous les cas de test).

Si les 10 estimations de précision pour chaque classificateur dans la question d'origine sont obtenues par maintien aléatoire ou validation croisée 10 fois ou 10 fois hors bootstrap, l'hypothèse est généralement que les 10 modèles de substitution calculés pour chaque classificateur sont équivalents (= ont la même précision), de sorte que les résultats des tests peuvent être regroupés *. Pour une validation croisée 10 fois, vous supposez que la taille de l'échantillon de test est égale au nombre total d'échantillons de test. Pour les autres méthodes, je n'en suis pas si sûr: vous pouvez tester le même cas plus d'une fois. Selon les données / le problème / l'application, cela ne représente pas autant d'informations que de tester un nouveau cas.

k

knp^=knσ2(p^)=σ2(kn)=p(1-p)n

cbeleites soutient Monica
la source
Ah ok. C'est le dernier élément qui clarifie les choses, du moins pour moi. Merci.
John Moeller
Merci pour la réponse. Tout simplement pas clair sur la procédure à suivre. Vous dites effectuer une validation croisée 10 fois sur un seul jeu de données. Mesurez la précision sur l'échantillon retenu, c'est-à-dire calculez une matrice de confusion 2x2. Additionnez les dix matrices de confusion 2x2. Effectuez le test de McNemar sur la matrice de confusion 2x2 agrégée.
entropie
@entropy: 1. La table de contingence 2x2 n'est pas la matrice de confusion. 2. nouvel échantillon à chaque fois par rapport au test des deux classificateurs sur les mêmes données de test: les tests appariés sont plus puissants (et possibles ici). Voir la réponse mise à jour.
cbeleites prend en charge Monica
Désolé pour cela, oui, table de contingence. Ai-je raison de dire que le test de McNemar se traduit également directement par un problème multi-classes.
entropie
@cbeleites merci beaucoup pour la réponse !!! Je pense que vous avez maintenant répondu exactement à mes questions. Cependant, je ne comprends toujours pas la procédure exacte à suivre. Pourriez-vous développer le dernier paragraphe.
entropie