Quand la validation croisée imbriquée est-elle vraiment nécessaire et peut-elle faire la différence?


36

Lorsque vous utilisez la validation croisée pour sélectionner des modèles (par exemple, un réglage hyperparamètre) et pour évaluer les performances du meilleur modèle, vous devez utiliser une validation croisée imbriquée . La boucle externe sert à évaluer les performances du modèle et la boucle interne à sélectionner le meilleur modèle. le modèle est sélectionné sur chaque ensemble de formation externe (à l'aide de la boucle CV interne) et ses performances sont mesurées sur le jeu de test externe correspondant.

Cela a été discuté et expliqué dans de nombreux fils de discussion (comme par exemple ici Formation avec l'ensemble de données complet après validation croisée?, Voir la réponse de @DikranMarsupial) et me semble tout à fait clair. Faire seulement une validation croisée simple (non imbriquée) pour la sélection du modèle et l'estimation de la performance peut produire une estimation de la performance biaisée positivement. @DikranMarsupial a rédigé un article en 2010 sur exactement ce sujet ( sur le sur-ajustement dans la sélection de modèle et sur le biais de sélection subséquent dans l'évaluation de la performance ) avec la section 4.3 intitulée « Le sur-ajustement dans la sélection de modèle est-il vraiment une préoccupation réelle dans la pratique? - et le papier montre que la réponse est oui.

Tout cela étant dit, je travaille maintenant avec une régression multivariée à arêtes multiples et je ne vois aucune différence entre un CV simple et imbriqué, et un CV imbriqué dans ce cas particulier ressemble donc à une charge de calcul inutile. Ma question est la suivante: dans quelles conditions un CV simple produira-t-il un biais notable qui sera évité avec un CV imbriqué? Quand le CV imbriqué est-il important dans la pratique et quand cela importe-t-il moins? Y at-il des règles de base?

Voici une illustration utilisant mon jeu de données actuel. L'axe horizontal est pour la régression de l'arête. L'axe vertical est une erreur de validation croisée. La ligne bleue correspond à la validation croisée simple (non imbriquée), avec 50 divisions aléatoires entraînement / test 90:10. La ligne rouge correspond à la validation croisée imbriquée avec 50 fractionnements aléatoires d’entraînement / test 90:10, où λ est choisi avec une boucle de validation croisée interne (également 50 fractionnements aléatoires 90:10). Les lignes sont des moyennes sur plus de 50 divisions aléatoires, les ombrages indiquent ± 1 écart-type.log(λ)λ±1

Validation croisée simple vs imbriquée

λλ

Mise à jour

C'est en fait le cas :-) C'est juste que la différence est minime. Voici le zoom avant:

Validation croisée simple ou imbriquée, zoom avant

λ=0.00250

Validation croisée simple vs imbriquée, différences

λ=0.002

(J'ai couru toute la procédure plusieurs fois et cela se produit à chaque fois.)

Ma question est la suivante: dans quelles conditions pouvons-nous nous attendre à ce que ce biais soit minuscule et dans quelles conditions ne devrions-nous pas?


Je ne suis pas sûr de bien comprendre le diagramme. Pouvez-vous générer un nuage de points illustrant l'erreur estimée par la validation croisée imbriquée et non imbriquée sur chaque axe (en supposant que les 50 divisions de test-formation étaient identiques à chaque fois)? Quelle est la taille de l'ensemble de données que vous utilisez?
Dikran Marsupial

1
J'ai généré le nuage de points, mais tous les points sont très proches de la diagonale et il est difficile de discerner toute déviation par rapport à celle-ci. Donc, au lieu de cela, j'ai soustrait l'erreur CV simple (pour un lambda optimal) de l'erreur CV imbriquée et l'ai représentée dans toutes les divisions du test d'apprentissage. Il semble y avoir un très petit, mais un biais perceptible! J'ai fait la mise à jour. Faites-moi savoir si les chiffres (ou mes explications) sont confus, je voudrais que ce post soit clair.
amibe dit de réintégrer Monica

Dans le premier paragraphe, vous avez le modèle est sélectionné sur chaque ensemble de formation externe ; devrait-il être peut-être intérieur ?
Richard Hardy

@RichardHardy Non. Mais je peux voir que cette phrase n'est pas formulée très clairement. Le modèle est "sélectionné" sur chaque ensemble d'entraînement externe. Différents modèles (par exemple des modèles avec différentes lambdas) sont ajustés sur chaque ensemble de formation interne, testés sur des ensembles de test interne, puis l'un des modèles est sélectionné , sur la base de l'ensemble de formation externe. Ses performances sont ensuite évaluées à l'aide d'un ensemble de tests externes. Est-ce que ça fait du sens?
amibe dit de réintégrer Monica

Réponses:


13

Je suggérerais que le biais dépend de la variance du critère de sélection du modèle, plus la variance est élevée, plus le biais est susceptible d'être important. La variance du critère de sélection du modèle a deux sources principales, la taille du jeu de données sur lequel il est évalué (ainsi, si vous avez un petit jeu de données, plus le biais sera grand) et la stabilité du modèle statistique (si les paramètres du modèle sont bien estimés par les données de formation disponibles, le modèle dispose de moins de souplesse pour surpasser le critère de sélection du modèle en réglant les hyper-paramètres). L'autre facteur pertinent est le nombre de choix de modèle à effectuer et / ou d'hyper-paramètres à ajuster.

Dans mon étude, j'examine de puissants modèles non linéaires et des ensembles de données relativement petits (couramment utilisés dans les études d'apprentissage automatique). Ces deux facteurs signifient que la validation croisée imbriquée est absolument nécessaire. Si vous augmentez le nombre de paramètres (peut-être avec un noyau avec un paramètre de mise à l'échelle pour chaque attribut), la sur-adaptation peut être "catastrophique". Si vous utilisez des modèles linéaires avec un seul paramètre de régularisation et un nombre relativement grand d'observations (par rapport au nombre de paramètres), la différence sera probablement beaucoup plus petite.

J'ajouterais que je recommanderais de toujours utiliser la validation croisée imbriquée, à condition qu'elle soit réalisable sur le plan du calcul, car elle élimine une source possible de biais, de sorte que nous (et les pairs examinateurs; o) n'avons pas à nous demander si c'est vrai. négligeable ou non.


2
Si vous utilisez toutes les données, n’est-il pas effectivement en train de tracer l’erreur du jeu d’entraînement? J'utilise assez souvent des modèles de classification où les meilleurs modèles ont une erreur d’entraînement nulle, mais une erreur de généralisation non nulle, même si le paramètre de régularisation est choisi avec soin.
Dikran Marsupial

1
Quelques milliers de modèles d'entraînement ou moins. Quel type de modèle utilisez-vous? Au fur et à mesure que le jeu de données s'agrandit, les problèmes statistiques diminuent et les problèmes de calcul augmentent, en règle générale. La validation croisée au pli k est seulement k fois plus lente que l’adaptation du modèle de base (y compris le réglage hyper-paramètre), elle passe donc rarement de faisable à irréalisable. La valdiation croisée k-fold est également facilement parallélisée, ce que je fais habituellement.
Dikran Marsupial le

1
Cela donne simplement une estimation de performance impartiale. CV essentiellement imbriqué estime les performances d'une méthode d'adaptation d'un modèle incluant la sélection de modèle via une validation croisée. Pour obtenir le modèle opérationnel, nous répétons généralement la méthode en utilisant l'ensemble de données complet, ce qui donne les mêmes choix de modèle que la procédure de validation croisée "à plat".
Dikran Marsupial

1
Je suis également tombé sur la question du CV imbriqué. L'utilisation du CV imbriqué sans biais implique l'ajustement de modèles avec des données plus petites. Pour un CV multiplié par 10, cela correspond à 81% du CV imbriqué et à 90% du CV non imbriqué. Le pli de test devient également 9% vs 10% chez les non-nichés. Est-ce que cela génère une variance supplémentaire dans l'évaluation du modèle? Particulièrement pour les petits ensembles de données, comme 350 échantillons dans ce post. Est-ce le «désavantage» d'utiliser un CV imbriqué? Si tel est le cas, comment devrions-nous décider d'utiliser un CV imbriqué par rapport à la taille de l'ensemble de données? Vraiment apprécier l'opinion d'un expert comme vous sur cette question. Y a-t-il un papier lié à cette question? @Dikran Marsupial
zesla

2
@zesla Oui, c'est effectivement le cas, il y a moins de données pour la validation croisée interne, ce qui augmentera sa variance, mais le modèle final est construit en utilisant l'ensemble de données complet (y compris l'estimation hyper-paramétrique). Il y a toujours un compromis entre le biais et la variance dans l'estimation de la performance. Il est très important d'utiliser la validation croisée imbriquée si le jeu de données est petit, car le sur-ajustement dans la sélection du modèle et le biais est davantage un problème. Dans les applications pratiques, où il y a peu d'hyper-paramètres, la différence peut avoir une faible signification pratique arxiv.org/abs/1809.09446 .
Dikran Marsupial le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.