Je viens de terminer "Une introduction à l'apprentissage statistique" . Je me demandais si l'utilisation de la validation croisée pour trouver les meilleurs paramètres de réglage pour diverses techniques d'apprentissage automatique était différente de l'espionnage des données?
Nous vérifions à plusieurs reprises quelle valeur du paramètre de réglage donne un meilleur résultat prédictif dans l'ensemble de test. Que se passe-t-il si le paramètre de réglage auquel nous arrivons arrive juste à s'adapter à cet ensemble de test particulier par hasard et ne fonctionne pas bien sur un futur ensemble de test?
Veuillez excuser ma compréhension novice de l'apprentissage automatique, et j'ai hâte d'être éduquée.
EDIT: Veuillez voir la réponse de @AdamO sur la définition de «surveillance de données». J'ai utilisé le terme de façon très imprécise dans ma question.
la source
Réponses:
Votre préoccupation est au bon endroit et il y a beaucoup de littérature sur ce sujet, par exemple
Le problème est que le réglage hyperparamétrique avec validation croisée est un processus d'optimisation basé sur les données, et aura toujours tendance à s'adapter à votre ensemble de données (moins que le réglage par erreur de resubstitution, mais quand même). Essayer d'utiliser les résultats de la validation croisée de réglage comme mesure de performance "indépendante" revient à manger le gâteau (= réglage) et à le conserver (= mesurer les performances finales du modèle).
Cela ne signifie pas que vous ne devez pas utiliser la validation croisée pour le réglage des hyperparamètres. Cela signifie simplement que vous ne pouvez l'utiliser que dans un seul but. Optimisez ou mesurez les performances du modèle à des fins de validation.
La solution est que vous devez effectuer une validation indépendante pour mesurer la qualité du modèle obtenu avec les hyperparamètres accordés. C'est ce qu'on appelle la validation imbriquée ou double. Vous trouverez ici un certain nombre de questions et réponses sur ces sujets
Conceptuellement, j'aime dire que la formation comprend toutes sortes d'étapes fantaisistes pour s'adapter non seulement aux paramètres du modèle "habituels" mais aussi pour ajuster (auto-réglage) les hyperparamètres. L'optimisation de λ basée sur les données fait clairement partie de la formation du modèle.
En règle générale, vous pouvez également dire que la formation du modèle est tout ce qui doit être fait avant d'avoir une fonction de boîte noire finale prête à l'emploi qui est capable de produire des prévisions pour de nouveaux cas.
PS: Je trouve la terminologie test vs validation très déroutante car dans mon domaine "validation" signifie prouver que le modèle final est adapté à l'usage, et est donc ce que les autres appellent test plutôt que validation. Je préfère appeler l'ensemble de test intérieur "ensemble de test de réglage" et "ensemble de test de validation final" ou similaire.
Mise à jour:
En règle générale, cela ne se produit pas: il existe des situations typiques qui peuvent provoquer une telle défaillance. Et toutes ces situations que je connais sont des situations de sur-ajustement. Vous devez être conscient que si la régularisation aide à réduire le nombre nécessaire de cas de formation, l'optimisation basée sur les données nécessite de grandes quantités de données.
Mes recommandations:
En règle générale, vous (devriez) déjà avoir des attentes approximatives, par exemple, quelles performances devraient être réalisables, quelles performances vous considéreriez suspectes. Ou avez des spécifications sur les performances dont vous avez besoin et sur les performances de base. À partir de cela et du nombre de cas de formation disponibles (pour le schéma de fractionnement que vous avez choisi), calculez l'incertitude attendue pour les tests internes (réglage). Si cette incertitude indique que vous ne pourrez pas obtenir de comparaisons significatives, ne faites pas d'optimisation basée sur les données.
Vous devez vérifier la stabilité des prédictions obtenues avec le λ choisi et le λ optimal trouvé par la procédure d'auto-réglage. Si λ n'est pas raisonnablement stable par rapport aux différentes divisions de vos données, l'optimisation n'a pas fonctionné.
Si vous constatez que vous ne serez pas en mesure de faire l'optimisation basée sur les données ou que cela n'a pas fonctionné après tout, vous pouvez choisir le λ par vos connaissances d'experts, par exemple à partir de l'expérience avec des données similaires. Ou en sachant que si vous découvrez que l'optimisation a échoué, vous aurez besoin d'une régularisation plus forte: le sur-ajustement qui conduit à l'échec fonctionne vers des modèles trop complexes.
la source
«L'espionnage des données» ou, comme je pourrais l'appeler, «l'analyse exploratoire des données» ne traite pas d'une question prédéfinie. Vous énumérez en quelque sorte un certain nombre de résultats possibles et plausiblement intéressants et les évaluez individuellement. Vous pouvez effectuer un nombre illimité d'analyses exploratoires et, généralement, vous n'avez pas à vous soucier des tests multiples. Vous pouvez évaluer chaque analyse exploratoire individuellement à l'aide de la validation croisée, mais elle ne tient pas intrinsèquement compte de plusieurs tests lorsque vous disposez de plus d'une analyse exploratoire. Les hypothèses dans ce contexte peuvent être assez larges et de grande portée, "quels sont les facteurs associés au cancer de la prostate?" (à partir de laquelle la consommation de café, la vasectomie, etc., etc. ont été mesurés dans une cohorte). Les résultats significatifs sont considérés comme «générateurs d'hypothèses» et ne fournissent aucune preuve confirmative.
la source
En fait, pendant le CV, vous essayez de trouver les meilleurs paramètres sur un ensemble de validation , qui est distinct de l'ensemble de test. Vous divisez l'ensemble de vos données en trois ensembles: ensemble de formation, ensemble de validation et ensemble de test. Lorsque vous effectuez une validation croisée correctement, vous ne regardez jamais la fin du test jusqu'à la fin, il n'y a donc pas du tout d'espionnage. La validation croisée sur l'ensemble de test est une grave erreur méthodologique (mais fréquente).
la source
Si vous regardez par exemple à la page 225 de "Une introduction à l'apprentissage statistique" avec l'exemple Lasso, vous voyez qu'ils font en fait une validation croisée imbriquée. C'est-à-dire que la sélection du modèle se fait
cv.glmnet
sur untrain
ensemble, qui est divisé par lecv.glmnet
paquet en paires train-test. La validation du modèle est effectuée sur l'ensemble de validation ("test
"), il s'agit donc d'une validation indépendante.la source