K-fold vs Monte-Carlo validation croisée

29

J'essaie d'apprendre différentes méthodes de validation croisée, principalement avec l'intention de m'appliquer aux techniques d'analyse multivariée supervisée. Deux que j'ai rencontrés sont des techniques de validation croisée K-fold et Monte Carlo. J'ai lu que le K-fold est une variation de Monte Carlo mais je ne suis pas sûr de bien comprendre ce qui fait la définition de Monte Carlo. Quelqu'un pourrait-il expliquer la distinction entre ces deux méthodes?

Liam
la source
Alors, aurais-je raison de dire que Monte Carlo est une taille aléatoire des ensembles d'entraînement et de test alors que le facteur k est une taille définie d'ensembles? J'ai vu la page ci-dessus mais je n'ai pas bien compris quelle était la différence.
Liam
Je connais différents types de validation croisée et de validation hors bootstrap, mais je n'ai pas encore rencontré le terme validation croisée Monte Carlo (je le connais peut-être sous un autre nom). Pourriez-vous lier ou citer une description du fonctionnement de la validation croisée Monte Carlo?
cbeleites prend en charge Monica
La description la plus simple et en accès libre de Monte Carlo se trouve sur wiki . Je ne semble tout simplement pas voir la distinction entre les méthodes de pliage en k et de Monte Carlo.
Liam

Réponses:

36

k - Validation croisée des plis

Supposons que vous ayez 100 points de données. Pour -fold validation croisée, ces 100 points sont divisés en de taille égale et mutuellement exclusifs « plis ». Pour = 10, vous pouvez attribuer les points 1 à 10 au pli n ° 1, 11-20 au pli n ° 2, et ainsi de suite, en terminant en affectant les points 91-100 au pli n ° 10. Ensuite, nous sélectionnons un pli pour agir comme ensemble de test et utilisons les plis restants pour former les données d'entraînement. Pour la première manche, vous pouvez utiliser les points 1-10 comme ensemble de test et 11-100 comme ensemble d'entraînement. La prochaine manche utiliserait alors les points 11-20 comme set de test et s'entraînerait sur les points 1-10 plus 21-100, et ainsi de suite, jusqu'à ce que chaque pli soit utilisé une fois comme set de test.k k k - 1kkkk1

Validation croisée Monte-Carlo

Monte-Carlo fonctionne un peu différemment. Vous sélectionnez au hasard (sans remplacement) une fraction de vos données pour former l'ensemble d'entraînement, puis attribuez le reste des points à l'ensemble d'essai. Ce processus est ensuite répété plusieurs fois, générant (au hasard) de nouvelles partitions d'apprentissage et de test à chaque fois. Par exemple, supposons que vous ayez choisi d'utiliser 10% de vos données comme données de test. Ensuite, votre ensemble de tests sur le représentant # 1 pourrait être les points 64, 90 , 63, 42 , 65, 49, 10, 64, 96 et 48. Lors de la prochaine exécution, votre ensemble de tests pourrait être 90 , 60, 23, 67, 16, 78, 42 , 17, 73 et 26. Comme les partitions sont effectuées indépendamment pour chaque exécution, le même point peut apparaître plusieurs fois dans l'ensemble de test,qui est la principale différence entre Monte Carlo et la validation croisée .

Comparaison

Chaque méthode a ses propres avantages et inconvénients. Sous validation croisée, chaque point est testé exactement une fois, ce qui semble juste. Cependant, la validation croisée n'explore que quelques-unes des manières possibles de partitionner vos données. Monte Carlo vous permet d'explorer un peu plus de partitions possibles, bien qu'il soit peu probable que vous les obteniez toutes - il existe façons possibles de diviser 50/50 un point de données 100 ensemble(!).(10050)1028

Si vous essayez de faire une inférence (c.-à-d. Comparer statistiquement deux algorithmes), la moyenne des résultats d'un cycle de validation croisée vous donne une estimation (presque) impartiale des performances de l'algorithme, mais avec une variance élevée (comme vous le feriez attendre d'avoir seulement 5 ou 10 points de données). Puisque vous pouvez, en principe, l'exécuter aussi longtemps que vous le souhaitez / pouvez vous le permettre, la validation croisée de Monte Carlo peut vous donner une estimation moins variable, mais plus biaisée.k

Certaines approches fusionnent les deux, comme dans la validation croisée 5x2 (voir Dietterich (1998) pour l'idée, même si je pense qu'il y a eu d'autres améliorations depuis), ou en corrigeant le biais (par exemple, Nadeau et Bengio, 2003 ) .

Matt Krause
la source
2
Quelqu'un a demandé, via la file d'attente de modifications suggérée, si Monte Carlo était exécuté avec ou sans remplacement. Pour chaque course de Monte-Carlo, l'ensemble d'entraînement et d'essai est tiré sans remplacement (c'est-à-dire que chaque point est attribué, une seule fois, soit au train, soit à l'ensemble d'essai). Cependant, les exécutions sont effectuées indépendamment, donc un exemple donné peut apparaître plusieurs fois dans le même ensemble; c'est la différence majeure entre Monte Carlo et la validation croisée k-fold!
Matt Krause
13

Supposons que est la taille de l'ensemble de données, est le nombre des sous-ensembles, est la taille de l'ensemble d'apprentissage et est la taille de l'ensemble de validation. Par conséquent, pour la validation croisée fois et pour la validation croisée Monte Carlo.k k n t n v N = k × n v k N = n t + n vNkkntnvN=k×nvkN=nt+nv

k validation croisée à fois (kFCV) divise les points de données en sous-ensembles mutuellement exclusifs de taille égale. Le processus exclut ensuite l'un des sous-ensembles en tant qu'ensemble de validation et s'entraîne sur les sous-ensembles restants. Ce processus est répété fois, en omettant à chaque fois l' un des sous-ensembles. La taille de peut aller de à ( est appelé validation croisée avec sortie). Les auteurs de [2] suggèrent de fixer ou .k k k k k N 2 k = N k = 5 10NkkkkkN2k=Nk=510

La validation croisée de Monte Carlo (MCCV) divise simplement les points de données en deux sous-ensembles et en échantillonnant, sans remplacement, points de données. Le modèle est ensuite entraîné sur le sous-ensemble et validé sur le sous-ensemble . Il existe ensembles d'apprentissage uniques, mais le MCCV évite d'avoir à exécuter autant d'itérations. Zhang [3] montre que l'exécution de MCCV pour itérations a des résultats proches de la validation croisée sur tous les ensembles d'apprentissage uniques. Il convient de noter que la littérature manque de recherches sur les grands N. n t n v n t n t n v ( NNntnvntntnvN2(N(Nnt)N2(Nnt)

Le choix de et affecte le biais / variance. Plus ou , plus le biais est faible et plus la variance est élevée. Les ensembles d'entraînement plus volumineux sont plus similaires entre les itérations, d'où un ajustement excessif aux données d'entraînement. Voir [2] pour plus d'informations sur cette discussion. Le biais et la variance de kFCV et MCCV sont différents, mais le biais des deux méthodes peut être rendu égal en choisissant des niveaux appropriés de et . Les valeurs du biais et de la variance pour les deux méthodes sont présentées dans [1] (ce document se réfère à MCCV comme modèle de test d'apprentissage répété).n t k n t k n tkntkntknt


[1] Burman, P. (1989). Une étude comparative de la validation croisée ordinaire, de la validation croisée pliée en et des méthodes de modèle de test d'apprentissage répété. Bometrika 76 503-514.v

[2] Hastie, T., Tibshirani, R. et Friedman, J. (2011). Les éléments de l'apprentissage statistique: exploration de données, inférence et prédiction. Deuxième éd. New York: Springer.

[3] Zhang, P. (1993). Sélection du modèle via la validation croisée Muiltfold. Ann. Stat. 21 299–313

une tête de données
la source
7

Les deux autres réponses sont super, je vais juste ajouter deux images ainsi qu'un synonyme.


Validation croisée en K (kFCV):

entrez la description de l'image ici

Validation croisée de Monte Carlo (MCCV) = Validation répétée du sous-échantillonnage aléatoire (RRSSV):

entrez la description de l'image ici


Les références:

Les images proviennent de (1) ( pages 64 et 65 ), et le synonyme est mentionné dans (1) et (2).

Franck Dernoncourt
la source