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 - 1kkkk - 1
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 ) .