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
Réponses:
la source
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
mesure la qualité de l'ajustement
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.
la source
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.
la source