Validation croisée multipliée par 10 vs validation croisée avec sortie unique

25

Je fais une validation croisée imbriquée. J'ai lu que la validation croisée avec un seul retrait peut être biaisée (je ne me souviens pas pourquoi).

Est-il préférable d'utiliser la validation croisée 10 fois ou la validation croisée avec suppression de la mise à part le temps d'exécution plus long pour la validation croisée avec suppression?

machinerie
la source
1
Vous souvenez-vous où vous avez lu cela?
Richard Hardy
5
Avez-vous vu ce post sur les préjugés? En outre, cette réponse a une citation d'un très bon livre qui recommande une validation croisée en 5 ou 10 fois.
Eric Farng
1
Ce post est un peu lié.
Richard Hardy
1
Merci. Donc, dans l'ensemble, on peut dire que je devrais aller avec un CV 10 fois au lieu d'un CV avec un seul congé? Cela vaut-il également pour un petit ensemble de données?
machines
1
@Thomas, lorsque votre ensemble de données devient trop petit, vous finissez presque par faire LOO-CV, de sorte que l'avantage d'un CV 10 fois diminue à mesure que la taille de votre ensemble de données diminue.
cdeterman

Réponses:

27

Juste pour ajouter un peu à la réponse de @SubravetiSuraj (+1)

La validation croisée donne une estimation pessimiste de la performance car la plupart des modèles statistiques s'amélioreront si l'ensemble d'entraînement est agrandi. Cela signifie que la validation croisée k-fold estime les performances d'un modèle formé sur un ensemble de données 100 * (k-1) / k% des données disponibles, plutôt que sur 100% de celui-ci. Donc, si vous effectuez une validation croisée pour estimer les performances, puis utilisez un modèle formé sur toutes les données pour une utilisation opérationnelle, il fonctionnera légèrement mieux que ne le suggère l'estimation de validation croisée.

La validation croisée avec omission est approximativement non biaisée , car la différence de taille entre l'ensemble d'apprentissage utilisé dans chaque pli et l'ensemble de données n'est qu'un seul modèle. Il existe un article à ce sujet de Luntz et Brailovsky (en russe).

Luntz, Aleksandr et Viktor Brailovsky. "Sur l'estimation des caractères obtenus en procédure statistique de reconnaissance." Technicheskaya Kibernetica 3.6 (1969): 6-12.

voir également

Estimation des taux d'erreur dans l'analyse discriminante Peter A. Lachenbruch et M. Ray Mickey Technometrics Vol. 10, Iss. 1,1968

Cependant, bien que la validation croisée avec omission soit approximativement sans biais, elle a tendance à avoir une variance élevée (vous obtiendrez donc des estimations très différentes si vous répétiez l'estimation avec différents échantillons initiaux de données de la même distribution). Étant donné que l'erreur de l'estimateur est une combinaison de biais et de variance, le fait que la validation croisée avec ou sans interruption soit meilleure que la validation croisée multipliée par 10 dépend des deux quantités.

Maintenant, la variance dans l'ajustement du modèle a tendance à être plus élevée s'il est ajusté à un petit ensemble de données (car il est plus sensible aux bruits / artefacts d'échantillonnage dans l'échantillon d'apprentissage particulier utilisé). Cela signifie qu'une validation croisée 10 fois est susceptible d'avoir une variance élevée (ainsi qu'un biais plus élevé) si vous ne disposez que d'une quantité limitée de données, car la taille de l'ensemble d'apprentissage sera plus petite que pour LOOCV. La validation croisée k-fold peut également avoir des problèmes de variance, mais pour une raison différente. C'est pourquoi LOOCV est souvent meilleur lorsque la taille de l'ensemble de données est petite.

Cependant, la principale raison d'utiliser LOOCV à mon avis est qu'il est peu coûteux en calcul pour certains modèles (comme la régression linéaire, la plupart des méthodes du noyau, les classificateurs du plus proche voisin, etc.), et à moins que l'ensemble de données ne soit très petit, j'utiliserais Validation croisée 10 fois si elle correspondait à mon budget de calcul, ou mieux encore, estimation bootstrap et ensachage.

Dikran Marsupial
la source
2
+1 pour l'obscure référence russe de 1969! Avez-vous une bonne référence pour LOOCV ayant une variance élevée? Ceci est indiqué dans Hastie et al mais je ne suis pas sûr d'être convaincu à 100% par l'argument et je n'ai pas vu de démonstrations empiriques (simulations).
amibe dit Réintégrer Monica
3
oui, je ne pense pas être d'accord avec cela, car il suppose que le modèle est stable sous les perturbations causées par la suppression des échantillons de test, ce qui n'est probable que si vous avez un très grand ensemble de données (c'est-à-dire qu'il est seulement asymptotiquement vrai, mais si vous aviez autant de données, presque n'importe quel schéma d'évaluation de performance raisonnable vous donnerait le même résultat).
Dikran Marsupial
2
+1 (à la fois le message et le dernier commentaire - grand papier mais à ne pas aveugler suivi (comme tout autre papier)).
usεr11852 dit Réintégrer Monic
2
@Dikran Ce sujet (de LOOCV ayant la plus grande variance) est revenu dans une question distincte et assez intéressante: stats.stackexchange.com/questions/280665 , vous voudrez peut-être y jeter un œil.
amibe dit Réintégrer Monica
2
Voici une autre simulation stats.stackexchange.com/a/357749 montrant que la variance de l'estimateur CV diminue avec le nombre de plis et LOOCV a la même variance (ou moins) que 10 fois. Une autre simulation liée dans mon commentaire ci-dessus a montré un autre exemple où la variance diminuait avec et était la plus faible pour LOOCV. À présent, je suis vraiment curieux de voir une simulation où la variance augmenterait avec le nombre de plis. Je commence également à être plutôt sceptique quant au fait que cela puisse se produire dans la pratique. k
amibe dit Réintégrer Monica le
20

À mon avis, laisser une validation croisée est préférable lorsque vous disposez d'un petit ensemble de données de formation. Dans ce cas, vous ne pouvez pas vraiment faire 10 plis pour faire des prédictions sur l'utilisation du reste de vos données pour former le modèle.

Si vous disposez d'un grand nombre de données d'entraînement d'un autre côté, une validation croisée 10 fois serait un meilleur pari, car il y aura trop d'itérations pour en laisser une en dehors de la validation croisée, et compte tenu de ces nombreux résultats pour régler vos hyperparamètres, pas une si bonne idée.

Selon ISL, il y a toujours un compromis biais-variance entre le fait de laisser un sur et la validation croisée k fois. Dans LOOCV (laissez un CV), vous obtenez des estimations d'erreur de test avec un biais plus faible et une variance plus élevée car chaque ensemble d'entraînement contient n-1 exemples, ce qui signifie que vous utilisez presque tout l'ensemble d'entraînement à chaque itération. Cela entraîne également une variance plus élevée, car il y a beaucoup de chevauchement entre les ensembles d'apprentissage, et donc les estimations d'erreur de test sont fortement corrélées, ce qui signifie que la valeur moyenne de l'estimation d'erreur de test aura une variance plus élevée.

L'inverse est vrai avec un CV multiplié par k, car il y a relativement moins de chevauchement entre les ensembles d'apprentissage, donc les estimations d'erreur de test sont moins corrélées, de sorte que la valeur d'erreur de test moyenne n'aura pas autant de variance que LOOCV.

Subraveti Suraj
la source