Validation croisée imbriquée - en quoi est-elle différente de la sélection de modèle via kfold CV sur le kit de formation?

10

Je vois souvent des gens parler de la validation croisée 5x2 comme un cas spécial de validation croisée imbriquée .

Je suppose que le premier nombre (ici: 5) fait référence au nombre de plis dans la boucle intérieure et le deuxième nombre (ici: 2) fait référence au nombre de plis dans la boucle extérieure? Alors, en quoi est-ce différent d'une approche de sélection et d'évaluation de modèle "traditionnelle"? Par "traditionnel", je veux dire

  • diviser l'ensemble de données en une formation distincte (par exemple, 80%) et un ensemble de tests
  • utiliser la validation croisée k-fold (par exemple, k = 10) pour le réglage de l'hyperparamètre et la sélection du modèle sur l'ensemble d'apprentissage
  • évaluer les performances de généralisation du modèle sélectionné à l'aide de l'ensemble de test

Le 5x2 n'est-il pas exactement le même, sauf que l'ensemble de test et d'entraînement a une taille égale si k = 2?


la source
1
Vous avez raison, dans ce cas c'est la même chose, sauf qu'il utilise un split 50/50 dans la boucle externe au lieu d'un 80/20. Généralement, il donne une meilleure estimation des performances de généralisation et devrait être préféré, en particulier avec des tailles d'échantillon relativement petites. D'après mon expérience, même pour les CV imbriqués, l'estimation des performances varie beaucoup. Il est souvent préférable d'effectuer plusieurs fois un CV imbriqué pour obtenir une bonne estimation des performances de généralisation.
George
Merci, c'est logique! Cependant, pour les petits ensembles d'entraînement, j'augmenterais probablement le nombre de plis dans les boucles intérieures et extérieures; pourrait diminuer la variance mais aussi augmenter le biais
En général, au lieu de faire un CV imbriqué 5x2, j'exécute habituellement un (k-1) xk, avec k = 5 ou 10. Dans le cas de quelques échantillons, au lieu d'augmenter le nombre de plis, j'opterais pour des valeurs plus petites de k .
George
1
Je pense que vous l'avez fait à l'envers plutôt que complètement faux, mais la réponse acceptée peut être en désaccord avec la source avec laquelle je vais me référer. Dans Python Machine Learning par Raschka, il fait référence à un «type particulier de validation croisée imbriquée est également connu sous le nom de validation croisée 5x2». Il y a un graphique inclus dans lequel il montre que le 2 se réfère à la boucle interne pour le réglage hyperparamétrique et le 5 se réfère à la boucle externe pour l'estimation de la performance du modèle non biaisé. Une copie en couleur du graphique peut être trouvée dans le scénario 3 ici: sebastianraschka.com/faq/docs/evaluate-a-model.html
Austin

Réponses:

13

5x2cv pour autant que je l'ai vu dans la littérature, se réfèrent toujours à une répétition 5 d'un double. Il n'y a pas du tout de nidification. faire un double (50/50 divisé entre le train et le test), répétez-le 4 fois de plus. Le 5x2cv a été popularisé par l'article Tests statistiques approximatifs pour comparer les algorithmes d'apprentissage de classification supervisée par Dietterich comme un moyen d'obtenir non seulement une bonne estimation de l'erreur de généralisation mais aussi une bonne estimation de la variance de cette erreur (afin d'effectuer des tests statistiques )

Jacques Wainer
la source
Merci! Savez-vous ce que les gens font généralement si les boucles internes sélectionnent différents modèles, par exemple, si le paramètre de régularisation "optimal" est lambda = 100 lors de la sélection d'un modèle et lambda = 1000 pour l'autre? Dans ce cas, calculer les performances moyennes du modèle serait un peu bizarre, non!? Jetteriez-vous les modèles pour «instables»?
3
La boucle intérieure entraînera très probablement une sélection différente d'hyperparamètres. Vous n'utilisez pas la validation croisée imbriquée pour sélectionner les hyperparamètres, uniquement pour obtenir une bonne estimation de l'erreur de généralisation (avec les meilleurs hyperparamètres possibles). Le cv imbriqué est utilisé pour choisir entre l'un ou l'autre algorithme. Voir stats.stackexchange.com/questions/136296/… ou stats.stackexchange.com/questions/65128/… (entre autres)
Jacques Wainer
Oh, je vois, cela a alors tout son sens! Je pensais que les gens l'utilisaient différemment. Je pense que nous pouvons alors clore la question.
2

2 répétitions en boucle externe signifient que vous répétez votre CV 5 fois 2 fois sur l'ensemble du train. Chaque fois, la subdivision en plis sera différente.

Ceci est principalement utilisé pour de meilleures estimations des performances du modèle, comme l'exécution de tests statistiques sur la performance statistiquement significative d'un modèle par rapport à un autre.

Le CV imbriqué n'est pas d'une importance critique si votre ensemble de données est volumineux et sans valeurs aberrantes. Si vos données contiennent des valeurs aberrantes, les performances de validation croisée peuvent être radicalement différentes selon le ou les plis de ces valeurs aberrantes. Par conséquent, vous répétez le CV plusieurs fois.

lanenok
la source
Bon point. Dans l'approche traditionnelle (test / répartition du train, puis CV k-fold sur le kit d'entraînement), vous n'avez qu'un seul pli pour évaluer le modèle alors qu'en CV 5x2, la performance moyenne peut être calculée à partir des 2 plis différents.