Comment la validation croisée k-fold s'inscrit-elle dans le contexte des ensembles de formation / validation / test?

14

Ma principale question est de savoir comment comprendre la validation croisée k-fold dans le contexte des ensembles de formation / validation / test (si cela correspond à un tel contexte).

Habituellement, les gens parlent de diviser les données en un ensemble de formation, de validation et de test - disons à un ratio de 60/20/20 par cours d'Andrew Ng - où l'ensemble de validation est utilisé pour identifier les paramètres optimaux pour la formation du modèle.

Cependant, si l'on voulait utiliser la validation croisée k-fold dans l'espoir d'obtenir une mesure d'exactitude plus représentative lorsque la quantité de données est relativement petite, que signifie la validation croisée k-fold exactement dans cette répartition 60/20/20 scénario?

Par exemple, cela signifierait-il que nous combinerions réellement les ensembles de formation et de test (80% des données) et ferions une validation croisée sur eux pour obtenir notre mesure de précision (éliminer efficacement avec un `` ensemble de test '' explicite? Si oui, quel modèle formé utilisons-nous a) en production et b) à utiliser par rapport à l'ensemble de validation et à identifier les paramètres d'entraînement optimaux? Par exemple, une réponse possible pour a et b est peut-être d'utiliser le modèle le mieux replié.

blu
la source

Réponses:

12

La validation croisée permet généralement d'éviter la nécessité d'un ensemble de validation.

L'idée de base avec les ensembles de données de formation / validation / test est la suivante:

  1. Entraînement: Vous essayez différents types de modèles avec différents choix d'hyperparamètres sur les données d'entraînement (par exemple, modèle linéaire avec différentes sélections de caractéristiques, réseau neuronal avec différents choix de couches, forêt aléatoire avec différentes valeurs de mtry).

  2. Validation: vous comparez les performances des modèles à l'étape 1 en fonction de l' ensemble de validation et sélectionnez le gagnant. Cela permet d'éviter les mauvaises décisions prises en sur-adaptant l'ensemble de données d'entraînement.

  3. Test: vous essayez le modèle gagnant sur les données de test juste pour avoir une idée de son efficacité réelle. Cela dénoue le sur-ajustement introduit à l'étape 2. Ici, vous ne prendrez plus de décision. Ce ne sont que des informations simples.

Maintenant, dans le cas où vous remplacez l'étape de validation par une validation croisée, l'attaque sur les données se fait presque à l'identique, mais vous n'avez qu'une formation et un ensemble de données de test. Il n'est pas nécessaire d'avoir un ensemble de données de validation.

  1. Formation: voir ci-dessus.

  2. Validation: vous effectuez une validation croisée sur les données de formation pour choisir le meilleur modèle de l'étape 1 en ce qui concerne les performances de validation croisée (ici, les données de formation d'origine sont divisées à plusieurs reprises en un ensemble temporaire de formation et de validation). Les modèles calculés en validation croisée ne sont utilisés que pour choisir le meilleur modèle de l'étape 1, qui sont tous calculés sur l'ensemble complet de formation.

  3. Test: voir ci-dessus.

Michael M
la source
1
Merci! Pour confirmer, dans le contexte du CV, on peut avoir 80% de train vs 20% de split test. Ensuite, on peut construire un modèle sur ces 80% des données et tester contre les 20% pour obtenir la précision. Pour essayer différentes variantes de modèle, on peut faire un CV 10 fois sur l'ensemble de données de formation (80% des données) - s'entraîner efficacement sur 8% du total des données et tester contre 72% du total des données dans chaque pli. Sur la base des résultats du CV, on peut identifier les valeurs d'hyperparamètre optimales et les utiliser pour construire un nouveau modèle formé sur toutes les données de formation (80% de l'ensemble de données complet) et tester par rapport à l'ensemble de données de test 20% restant. Correct?
blu
3
Oui, sauf que dans chaque CV, vous utiliseriez 72% pour la formation et 8% pour la validation ;-)
Michael M
Réponse impressionnante @MichaelM. Je lisais sur la validation croisée imbriquée (NCV) , et j'ai du mal à décider si je dois l'utiliser, ou tout simplement faire ce que vous avez décrit pour CV. Et juste pour que je le comprenne, NCV serait appliqué à l'étape 3. Au lieu d'obtenir un score de 1 gagnant, vous obtenez K scores de gagnant (multipliant le nombre total de courses par K, étape 1-2 répétée K fois avec 80% de données de train), que vous pouvez ensuite faire la moyenne. Donc questions: 1) ma compréhension est-elle correcte? 2) est-il recommandé d'utiliser NCV?
Aziz Javed
Tu as parfaitement raison. Le CV imbriqué aidera à obtenir des estimations plus fiables que l'approche "simple" décrite ci-dessus. Si le temps le permet, c'est définitivement une option. Savez-vous sur quel ensemble de données le modèle final est calculé dans le CV imbriqué? Sur le plein?
Michael M
3

K validation croisée pliée en est une stratégie de (ré) échantillonnage comme beaucoup d'autres.

La division en formation / validation / test est également une stratégie d'échantillonnage.

Vous pouvez remplacer la formation / validation par une autre stratégie d'échantillonnage. Ensuite , vous procéderez CV de 80% sur des données et test sur les 20% restants.K

Vous pouvez également l'appliquer à la partie test (c'est ce que les gens appellent la validation croisée imbriquée), où les plis sont utilisés pour la formation / validation et le reste pour tester, puis vous répétez cela sur les plis.K1

Pyromane
la source