Avons-nous besoin d'un ensemble de test lors de l'utilisation de la validation croisée k-fold?

21

J'ai lu sur la validation k-fold, et je veux m'assurer de comprendre comment cela fonctionne.

Je sais que pour la méthode d'exclusion, les données sont divisées en trois ensembles, et l'ensemble de test n'est utilisé qu'à la toute fin pour évaluer les performances du modèle, tandis que l'ensemble de validation est utilisé pour régler les hyperparamètres, etc.

Dans la méthode du pli k, tenons-nous toujours un ensemble de test pour la toute fin, et utilisons-nous uniquement les données restantes pour la formation et le réglage des hyperparamètres, c'est-à-dire que nous divisons les données restantes en k plis, puis utilisons la précision moyenne après la formation à chaque fois (ou quelle que soit la mesure de performance que nous choisissons pour régler nos hyperparamètres)? Ou n'utilisons-nous pas du tout un ensemble de tests séparé et divisons-nous simplement l'ensemble des données en k plis (si tel est le cas, je suppose que nous considérons simplement la précision moyenne sur les k plis comme notre précision finale)?

b_pcakes
la source
3
Cela dépend de ce que vous voulez faire. Si vous voulez une estimation de performance généralisée, alors oui, le modèle devrait faire des tests sur des données qu'il n'a jamais vues auparavant. Mais cela ne signifie pas qu'il doit s'agir d'une seule itération d'exclusion, vous pouvez utiliser le rééchantillonnage pour atteindre le même objectif.
Firebug
2
... ce qui signifie que chaque fois que vous utilisez des résultats de "validation" pour l'optimisation hyperparamétrique / le réglage du modèle, vous avez besoin d'une autre étape de validation indépendante de ce réglage. Pour les deux étapes, vous pouvez utiliser, par exemple, la validation croisée ou le maintien (ou hors bootstrap ou ...). CV + CV est appelé CV imbriqué, maintenez + maintenez les pistes vers la configuration de 3 ensembles que vous avez mentionnée
cbeleites prend en charge Monica

Réponses:

9

Dans la méthode K-Fold, tenons-nous toujours un ensemble de test pour la toute fin, et utilisons-nous uniquement les données restantes pour la formation et le réglage des hyperparamètres (c'est-à-dire que nous divisons les données restantes en k plis, puis utilisons la précision moyenne après l'entraînement avec chaque pli (ou quelle que soit la mesure de performance que nous choisissons) pour régler nos hyperparamètres)?

Oui. En règle générale, l'ensemble de test ne doit jamais être utilisé pour modifier votre modèle (par exemple, ses hyperparamètres).

Cependant, la validation croisée peut parfois être utilisée à des fins autres que le réglage d'hyperparamètre, par exemple pour déterminer dans quelle mesure la répartition train / test a un impact sur les résultats.

Franck Dernoncourt
la source
6
+1, mais vous souhaiterez peut-être mentionner la validation croisée imbriquée comme alternative à l'ensemble de test de validation croisée +.
amibe dit Réintégrer Monica
1
msgstr "peut parfois être utilisé à des fins autres que le réglage hyperparamétrique". Par exemple, vous pouvez utiliser la validation croisée à des fins de validation (= tester des cas inconnus pour mesurer l'erreur de généralisation).
cbeleites prend en charge Monica
3

En général, oui. Fondamentalement, nous parlons du compromis biais-variance. Si vous utilisez des données pour construire votre modèle (données de formation et de validation) et que vous parcourez différents hyperparamètres et que vous essayez de maximiser une mesure de performance moyenne, votre modèle peut ne pas être aussi bon qu'indiqué.

Cependant, en particulier dans les petits ensembles de données, la division supplémentaire peut conduire à un ensemble d'apprentissage encore plus petit et entraîner un mauvais modèle.

cajoler
la source
2
Ce n'est pas une vraie réponse à la question.
Michael R. Chernick
Pouvez-vous développer ceci afin qu'il ajoute quelque chose à la réponse acceptée et aux commentaires assez détaillés?
mdewey
1

Idéalement, la validation (pour la sélection du modèle) et le test final ne devraient pas être mélangés. Cependant, si votre valeur k est élevée, ou si elle est laissée pour compte, l'utilisation du résultat du test pour guider la sélection de votre modèle est moins nocive. Dans ce scénario, si vous écrivez un article académique, ne le faites pas (sauf si vous vous donnez la peine de l'expliquer) - ce qui signifie toujours avoir un ensemble de tests séparé. Si vous construisez un projet pratique, vous pouvez le faire.

ymeng
la source