TLDR:
Mon ensemble de données est assez petit (120) échantillons. Lors de la validation croisée 10 fois, dois-je:
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)?
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 !
la source
Réponses:
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.
edit: la question d'origine demandait également d'itérer / répéter la validation:
Vous demandiez des articles scientifiques :
préimpression
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):
Si vos modèles sont stables, alors
la source
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.
la source