Validation croisée comprenant la formation, la validation et les tests. Pourquoi avons-nous besoin de trois sous-ensembles?

29

J'ai une question concernant le processus de validation croisée. Je suis au milieu d'un cours de Machine Learning sur la Cursera. L'un des sujets concerne la validation croisée. J'ai trouvé ça un peu difficile à suivre. Je sais pourquoi nous avons besoin de CV parce que nous voulons que nos modèles fonctionnent bien sur les données futures (inconnues) et que CV empêche le sur-ajustement. Cependant, le processus lui-même prête à confusion.

Ce que j'ai compris, c'est que je divise les données en 3 sous-ensembles: formation, validation et test. Former et Valider consiste à trouver la complexité optimale d'un modèle. Ce que je ne comprends pas, c'est le troisième sous-ensemble. Je comprends que je prends un certain nombre de fonctionnalités pour le modèle, le forme et le valide sur le sous-ensemble de validation et recherche la fonction de coût minimum lorsque je change la structure. Quand je l'ai trouvé, je teste le modèle sur le sous-ensemble Test. Si j'ai déjà trouvé la fonction de coût minimum sur le sous-ensemble de validation, pourquoi devrais-je la tester à nouveau sur le sous-ensemble de test ???

Quelqu'un pourrait-il clarifier cela pour moi?

Merci

Celdor
la source
Vous trouverez l'article et la discussion dans [1] sans rapport avec votre question. De mémoire, il mentionne trois sous-ensembles: le premier pour formuler un modèle, le second pour estimer ses paramètres et le troisième pour le valider par prédiction. [1] Chatfield, C. Incertitude du modèle, exploration de données et inférence statistique (avec discussion) Journal de la Royal Statistical Society. Série A (Statistiques dans la société), 1995, 158, 419-466
Hibernation du
À votre santé! Le fil derrière ce lien est également une bonne source pour comprendre cela :)
Celdor

Réponses:

39
  • L'ensemble d'apprentissage est utilisé pour choisir les paramètres optimaux pour un modèle donné. Notez que l'évaluation d'un ensemble donné de paramètres à l'aide de l'ensemble de formation devrait vous donner une estimation impartiale de votre fonction de coût - c'est l'acte de choisir les paramètres qui optimisent l'estimation de votre fonction de coût en fonction de l'ensemble de formation qui fausse l'estimation qu'ils fournissent. . Les paramètres choisis sont ceux qui fonctionnent le mieux sur l'ensemble d'entraînement; par conséquent, les performances apparentes de ces paramètres, évaluées sur l'ensemble d'entraînement, seront trop optimistes.
  • Après avoir été formé à l'aide de l'ensemble de formation, l'ensemble de validation est utilisé pour choisir le meilleur modèle. Encore une fois, notez que l'évaluation d'un modèle donné à l'aide de l'ensemble de validation devrait vous donner une estimation représentative de la fonction de coût - c'est l'acte de choisir le modèle qui fonctionne le mieux sur l'ensemble de validation qui fausse l'estimation qu'ils fournissent. Le modèle choisi a été le plus performant sur l'ensemble de validation; par conséquent, les performances apparentes de ce modèle, telles qu'évaluées sur l'ensemble de validation, seront trop optimistes.
  • Après avoir formé chaque modèle à l'aide de l' ensemble de formation et choisi le meilleur modèle à l'aide de l' ensemble de validation , l'ensemble de test vous indique la qualité de votre choix final de modèle. Il vous donne une estimation impartiale des performances réelles que vous obtiendrez au moment de l'exécution, ce qui est important à connaître pour de nombreuses raisons. Vous ne pouvez pas utiliser l'ensemble de formation pour cela, car les paramètres sont biaisés vers cela. Et vous ne pouvez pas utiliser l'ensemble de validation pour cela, car le modèle lui-même est biaisé vers ceux-ci. D'où la nécessité d'un troisième ensemble.
Tapoter
la source
Je peux voir ça maintenant. Merci. Je n'ai pas pensé au fait que j'aurais besoin d'un sous-ensemble de plus pour trouver des performances impartiales en termes de structure du modèle. A bientôt :) C'est une très bonne explication.
Celdor
Cela signifie-t-il donc que l'ensemble de test final ne joue aucun rôle dans l'optimisation du modèle ou la sélection du meilleur modèle?
Anmol Singh Jaggi
1
Non. En fait, il ne doit être utilisé que pour estimer les performances attendues. Donc, si vous n'aimez pas le résultat des performances sur l'ensemble de test, vous devriez vraiment éviter l'envie de régler votre modèle pour optimiser le résultat du test, car votre modèle serait à nouveau biaisé.
Ytsen de Boer
13

Si j'ai déjà trouvé la fonction de coût minimum sur le sous-ensemble de validation, pourquoi devrais-je le tester à nouveau sur le sous-ensemble de test

En raison d'une erreur aléatoire: vous n'avez généralement qu'un nombre fini de cas.

L'optimisation des performances de validation (test interne) signifie que vous êtes peut-être sur-adapté à cet ensemble de test interne. L'ensemble de test interne contribue à l'estimation du modèle final et n'est donc pas indépendant du modèle.

Cela signifie que vous devez disposer d'un autre ensemble de tests (externe) indépendant de toute la procédure de modélisation (y compris tous les processus d'optimisation et de prétraitement piloté par les données ou de sélection de modèle) si vous souhaitez estimer les propriétés de généralisation.

Je vous recommande de faire une simulation et de comparer les trois estimations d'erreur différentes que vous pouvez avoir

  • resubstitution: la prédiction de la rame
    mesure la qualité de l'ajustement
  • ensemble de test interne (dans votre nomenclature: validation): la qualité que l'optimiseur pense être atteinte
  • ensemble de test externe: erreur de généralisation, indépendante de la formation du modèle.

Dans une simulation, vous pouvez facilement les comparer également à un ensemble de test approprié, grand et généré indépendamment. Si la configuration est correcte, le test externe doit être non biaisé (par rapport au modèle de substitution qu'il évalue, et non par un modèle "final" construit sur l'ensemble des données). Le test interne est généralement biaisé de manière optimiste, et la substitution est encore plus biaisée de manière optimiste.

Dans mon domaine, le test interne sous-estimerait facilement l'erreur de généralisation d'un facteur 2 à 5 (beaucoup plus pour les schémas d'optimisation agressifs).


Remarque: la nomenclature des ensembles n'est pas universelle. Dans mon domaine (chimie analytique), la validation signifierait généralement la preuve de la performance de la procédure finale - donc plus ce que fait votre ensemble "test" que ce que fait votre ensemble "validation".

Je préfère donc parler des ensembles de test intérieur et extérieur, ou de l'ensemble de test d'optimisation (= ensemble de test intérieur), puis ensemble de validation signifierait l'ensemble de test externe.

cbeleites soutient Monica
la source
2

Lors de la formation du modèle, il faut sélectionner des méta-paramètres pour le modèle (par exemple, paramètre de régularisation) ou même choisir parmi plusieurs modèles. Dans ce cas, un sous-ensemble de validation est utilisé pour le choix des paramètres, mais un sous-ensemble de test pour l'estimation de prédiction finale.

oraz
la source