La validation croisée K-fold peut être utilisée pour estimer la capacité de généralisation d'un classificateur donné. Puis-je (ou devrais-je) également calculer une variance regroupée à partir de tous les cycles de validation afin d'obtenir une meilleure estimation de sa variance?
Sinon, pourquoi?
J'ai trouvé des articles qui utilisent l'écart-type groupé sur des cycles de validation croisée . J'ai également trouvé des articles indiquant explicitement qu'il n'y a pas d'estimateur universel pour la variance de validation . Cependant, j'ai également trouvé des articles montrant des estimateurs de variance pour l'erreur de généralisation (je suis toujours en train de lire et d'essayer de comprendre celle-ci). Qu'est-ce que les gens font (ou rapportent) réellement dans la pratique?
EDIT: Lorsque CV est utilisé pour mesurer l'erreur de classification brute (c.-à-d. Qu'un échantillon a été correctement étiqueté ou non, par exemple vrai ou faux), il peut ne pas être logique de parler d'une variance groupée. Cependant, je parle du cas où la statistique que nous estimons a une variance définie. Ainsi, pour un repli donné, nous pouvons nous retrouver avec une valeur pour la statistique et une estimation de la variance. Il ne semble pas juste de rejeter ces informations et de ne considérer que la statistique moyenne. Et même si je suis conscient que je pourrais construire une estimation de la variance en utilisant des méthodes de bootstrap, (si je ne me trompe pas), cela ignorerait toujours les variances de pli et ne prendrait en compte que les estimations statistiques (plus nécessiterait beaucoup plus de puissance de calcul).
Réponses:
Question très intéressante, je vais devoir lire les articles que vous donnez ... Mais peut-être que cela nous amènera dans le sens d'une réponse:
J'aborde habituellement ce problème de manière très pragmatique: j'itère la validation croisée k-fold avec de nouvelles divisions aléatoires et calcule les performances comme d'habitude pour chaque itération. Les échantillons de test globaux sont alors les mêmes pour chaque itération, et les différences proviennent de différentes divisions des données.
C'est ce que je signale, par exemple, comme le 5e au 95e centile des performances observées par rapport au poids. échange jusqu'à échantillons pour de nouveaux échantillons et en discuter comme mesure de l'instabilité du modèle.nk- 1
Note latérale: je ne peux de toute façon pas utiliser des formules qui nécessitent la taille de l'échantillon. Comme mes données sont structurées en grappes ou hiérarchiques (de nombreuses mesures similaires mais non répétées du même cas, généralement plusieurs [centaines] emplacements différents du même échantillon), je ne connais pas la taille effective de l'échantillon.
comparaison avec le bootstrap:
les itérations utilisent de nouvelles divisions aléatoires.
la principale différence est le rééchantillonnage avec (bootstrap) ou sans (cv) remplacement.
bootstrap a des avantages par rapport à cv en termes de certaines propriétés statistiques (asymptotiquement correct, peut-être avez-vous besoin de moins d'itérations pour obtenir une bonne estimation)
cependant, avec le cv, vous avez l’avantage de vous garantir que
certaines méthodes de classification élimineront les échantillons répétés, donc le bootstrap n'a pas de sens
Variance pour la performance
réponse courte: oui, il est logique de parler de variance dans une situation où seuls {0,1} résultats existent.
Jetez un œil à la distribution binomiale (k = succès, n = tests, p = probabilité réelle de succès = k / n moyen):
Cela signifie que l'incertitude pour mesurer les performances du classificateur ne dépend que des performances réelles p du modèle testé et du nombre d'échantillons de test.
Dans la validation croisée, vous supposez
que les k modèles "de substitution" ont les mêmes performances réelles que le "vrai" modèle que vous construisez habituellement à partir de tous les échantillons. (La ventilation de cette hypothèse est le biais pessimiste bien connu).
que les k modèles «de substitution» ont les mêmes performances réelles (sont équivalents, ont des prédictions stables), vous êtes donc autorisé à regrouper les résultats des k tests.
Bien entendu, non seulement les k modèles "de substitution" d'une itération de cv peuvent être regroupés, mais les modèles ki d'i itérations de k-fold cv.
Pourquoi répéter?
La principale chose que les itérations vous disent est l'instabilité du modèle (prédiction), c'est-à-dire la variance des prédictions de différents modèles pour le même échantillon.
Et oui, ce sont des informations importantes.
Si vous observez l'instabilité du modèle, la moyenne regroupée est une meilleure estimation de la performance réelle. La variance entre les itérations est une information importante, et vous pouvez la comparer à la variance minimale attendue pour un ensemble de test de taille n avec des performances moyennes réelles sur toutes les itérations.
la source
N'oubliez pas que le CV n'est qu'une estimation et ne peut jamais représenter la «vraie» erreur de généralisation. En fonction de la taille de votre échantillon (qui aura un impact sur votre nombre de plis ou la taille des plis), vous pouvez être gravement limité dans votre capacité à calculer des estimations de paramètres de la distribution de l'erreur de généralisation. À mon avis (et je l'ai vu prétendu dans divers manuels, `` Discovery Discovery with Support Vector Machines'-Lutz Hamel), vous pouvez faire une variante d'amorçage de CV pour estimer la distribution de l'erreur de généralisation, mais une norme 10- 1 (par exemple) une fois désactivé, le CV ne vous donnera pas suffisamment de points de données pour faire des inférences sur la véritable erreur de génération. Le Bootstrapping vous oblige à prendre plusieurs échantillons avec remplacement de votre formation / test / val en effectuant efficacement plusieurs (par exemple 1000 ou plus) 10-1 (ou autre) tests de CV. Vous prenez ensuite votre distribution d'échantillon de moyennes pour chaque test CV comme une estimation de la distribution d'échantillonnage de la moyenne pour la population d'erreurs CV et à partir de cela, vous pouvez estimer les paramètres de distribution, c'est-à-dire la moyenne, la médiane, la std min max Q1 Q3, etc. C'est un peu de travail, et à mon avis, ce n'est vraiment nécessaire que si votre application est suffisamment importante / risquée pour justifier le travail supplémentaire. c'est-à-dire peut-être dans un environnement marketing où l'entreprise est simplement heureuse d'être meilleure que aléatoire alors peut-être pas nécessaire. MAIS si vous essayez d'évaluer les réactions des patients aux médicaments à haut risque ou de prédire les attentes de revenus pour de gros investissements, vous pouvez être prudent de le faire.
la source