Moyenne (scores) vs Score (concaténation) en validation croisée

15

TLDR:

Mon ensemble de données est assez petit (120) échantillons. Lors de la validation croisée 10 fois, dois-je:

  1. Recueillir les résultats de chaque pli test, les concaténer en un vecteur, puis calculer l'erreur sur ce vecteur complet de prédictions (120 échantillons)?

  2. Ou devrais-je plutôt calculer l'erreur sur les sorties que j'obtiens à chaque fois (avec 12 échantillons par pli), puis obtenir mon estimation d'erreur finale comme la moyenne des 10 erreurs d'erreur estimées?

Existe-t-il des articles scientifiques qui font valoir les différences entre ces techniques?


Contexte: Relation potentielle avec les scores macro / micro dans la classification multi-labels:

Je pense que cette question peut être liée à la différence entre les moyennes micro et macro qui sont souvent utilisées dans une tâche de classification multi-étiquettes (par exemple, disons 5 étiquettes).

Dans le cadre multi-étiquettes, les micro-scores moyens sont calculés en créant un tableau de contingence agrégé de vrais positifs, faux positifs, vrais négatifs, faux négatifs pour les 5 prédictions du classificateur sur 120 échantillons. Ce tableau de contingence est ensuite utilisé pour calculer la micro précision, le micro rappel et la micro f-mesure. Ainsi, lorsque nous avons 120 échantillons et cinq classificateurs, les micro-mesures sont calculées sur 600 prédictions (120 échantillons * 5 étiquettes).

Lors de l'utilisation de la variante Macro , on calcule les mesures (précision, rappel, etc.) indépendamment sur chaque étiquette et enfin, ces mesures sont moyennées.

L'idée derrière la différence entre les estimations micro et macro peut être étendue à ce qui peut être fait dans un paramètre K-fold dans un problème de classification binaire. Pour 10 fois, nous pouvons soit faire la moyenne de plus de 10 valeurs ( macro- mesure), soit concaténer les 10 expériences et calculer les micro- mesures.

Contexte - Exemple développé:

L'exemple suivant illustre la question. Disons que nous avons 12 échantillons de test et nous avons 10 plis:

  • Pli 1 : TP = 4, FP = 0, TN = 8 Précision = 1,0
  • Pli 2 : TP = 4, FP = 0, TN = 8 Précision = 1,0
  • Pli 3 : TP = 4, FP = 0, TN = 8 Précision = 1,0
  • Pli 4 : TP = 0, FP = 12, précision = 0
  • Pli 5 .. Pli 10 : Tous ont le même TP = 0, FP = 12 et Precision = 0

où j'ai utilisé la notation suivante:

TP = # de vrais positifs, FP = # de faux positifs, TN = # de vrais négatifs

Les résultats sont:

  • Précision moyenne sur 10 plis = 3/10 = 0,3
  • Précision sur la concaténation des prédictions des 10 plis = TP / TP + FP = 12/12 + 84 = 0,125

Notez que les valeurs 0,3 et 0,125 sont très différentes !

user13420
la source
Le CV n'est pas vraiment une bonne mesure pour prédire les performances futures. La variance est tout simplement trop petite. Mieux vaut aller avec bootstrap pour valider votre modèle.
user765195
2
@ user765195: pourriez-vous sauvegarder votre réclamation avec quelques citations?
Zach
J'ai cherché mais je n'ai trouvé aucune littérature concernant la méthode CV agrégée. Il semble que ce soit une façon plus appropriée de calculer la mesure car elle présente moins de variance.
user13420
1
@Zach, il y a une discussion ici, dans le livre de Harrell: tinyurl.com/92fsmuv (regardez le dernier paragraphe de la page 93 et ​​le premier paragraphe de la page 94.) Je vais essayer de me souvenir d'autres références qui sont plus explicites.
user765195
1
k

Réponses:

3

La différence décrite est bidon à mon humble avis.

Vous ne l'observerez que si la distribution des cas vraiment positifs (c'est-à-dire que la méthode de référence dit que c'est un cas positif) est très inégale entre les plis (comme dans l'exemple) et le nombre de cas de test pertinents (le dénominateur de la mesure de performance dont nous parlons, ici le vraiment positif) n'est pas pris en compte lors de la moyenne des moyennes des plis.

412=13


edit: la question d'origine demandait également d'itérer / répéter la validation:

k

  • Dans quelle mesure les prévisions changent-elles si les données d'entraînement sont perturbées par l'échange de quelques échantillons d'apprentissage?
  • C'est-à-dire, dans quelle mesure les prévisions des différents modèles de «substitution» varient-elles pour le même échantillon de test?

Vous demandiez des articles scientifiques :

Sous-estimation de la variance En fin de compte, votre ensemble de données a une taille d'échantillon finie (n = 120), quel que soit le nombre d'itérations de bootstrap ou de validation croisée que vous effectuez.

  • Vous avez (au moins) 2 sources de variance dans les résultats de validation du rééchantillonnage (validation croisée et hors bootstrap):

    • variance due au nombre fini d'échantillon (test)
    • variance due à l'instabilité des prédictions des modèles de substitution
  • Si vos modèles sont stables, alors

    • k
    • Cependant, l'estimation des performances est toujours sujette à variance en raison du nombre fini d'échantillons de test.
    • Si votre structure de données est "simple" (c'est-à-dire un seul vecteur de mesure pour chaque cas statistiquement indépendant), vous pouvez supposer que les résultats des tests sont les résultats d'un processus de Bernoulli (lancer de pièces) et calculer la variance de l'ensemble de tests finis.
  • nk

cbeleites soutient Monica
la source
De plus, je fais une classification multi-étiquettes avec quatre classificateurs. Je souhaite donc examiner les mesures F micro et macro à travers la 4 tâche. Je suppose que la validation croisée "combinée" serait même nécessaire dans ce cas? De plus, je ne suis pas certain que le bootstrap soit le même que la méthode CV "combinée" que je mentionne ci-dessus. Il y a également eu une discussion sur stats.stackexchange.com/questions/4868/…
user13420
@ user13420: je ne suis pas sûr non plus de ce que vous voulez dire avec un CV combiné ... Voici une réponse où j'ai écrit ce que signifie pour moi le hors-bootstrap et la validation croisée: stats.stackexchange.com/a/26548/4598
cbeleites supports Monica
@ user13420: La terminologie est très différente dans différents domaines. Pouvez-vous mettre à jour votre réponse avec des informations sur les micro-mesures et les macro-mesures? Cependant, la validation croisée est une technique très générale: c'est un schéma pour calculer les résultats des tests de modèle. Vous pouvez calculer toute mesure de performance qui nécessite en entrée la valeur de référence pour chaque cas et la valeur prédite pour chaque cas.
cbeleites prend en charge Monica
un CV combiné signifierait que vous collectiez la prédiction de chaque rétention et calculiez la mesure après les 10 réticences. Donc, si je mesure la précision, le rappel pour une tâche de classification, il aurait une seule précision, un rappel par opposition à 10 valeurs et une moyenne (ce qui est le cas dans les CV habituels)
user13420
2
Merci cbeleites - J'ai ajouté ces clarifications parce que j'ai trouvé le libellé de la question originale un peu déroutant. J'espère que mes modifications ont été pour le mieux - j'ai essayé de mieux mettre en évidence le dilemme - mais veuillez me le faire savoir autrement. Cela dit, lorsque vous avez mentionné que vous trouvez la différence bidon - je voudrais noter que @ user13420 obtient deux résultats sensiblement différents au bas de son OP en suivant les approches 1 ou 2 . Je me suis retrouvé face à ce dilemme moi-même. Je crois que la 2ème approche est plus courante cependant, mais ce serait formidable d'avoir votre avis.
Josh
1

Vous devez faire un score (concaténation). C'est une idée fausse courante dans le domaine que la moyenne (scores) est la meilleure façon. Cela peut introduire plus de biais dans votre estimation, en particulier sur les classes rares, comme dans votre cas. Voici un document qui confirme cela:

http://www.kdd.org/exploration_files/v12-1-p49-forman-sigkdd.pdf

Dans le papier, ils utilisent "Favg" à la place de votre "moyenne (scores)" et "Ftp, fp" à la place de votre "score (concaténation)"

Exemple de jouet:

Imaginez que vous ayez une validation croisée 10 fois et une classe qui apparaît 10 fois et qui se trouve être affectée de sorte qu'elle apparaisse une fois dans chaque pli. De plus, la classe est toujours prédite correctement mais il y a un seul faux positif dans les données. Le pli de test contenant le faux positif aura une précision de 50%, tandis que tous les autres plis auront 100%. Donc moyenne (scores) = 95%. En revanche, le score (concaténation) est de 10/11, environ 91%.

Si nous supposons que cette population réelle est bien représentée par les données et que les 10 classificateurs de validation croisée représentent bien le classificateur final, alors la précision dans le monde réel serait de 91%, et l'estimation moyenne (scores) de 95% est biaisée .

En pratique, vous ne voudrez pas faire ces hypothèses. Au lieu de cela, vous pouvez utiliser des statistiques de distribution pour estimer la confiance, en permutant au hasard les données et en recalculant le score (concaténation) plusieurs fois, ainsi qu'en amorçant.

user2255970
la source
Ceci est un excellent papier! Je pense que le résultat dans le langage de la question d'origine (non utilisé dans l'article) est que lors du calcul du score F, utilisez une approche de «micro-moyennage»; spécifiquement, additionnez les TP, TN, FP, FN de tous les plis, pour obtenir une matrice de confusion unique, puis calculez le score F (ou d'autres mesures souhaitées).
travellingbones