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?
Votre préoccupation est au bon endroit et il y a beaucoup de littérature sur ce sujet, par exemple
- Cawley, GC & Talbot, NLC: On Over-fit in Model Selection and Subsequent Selection Bias in Performance Evaluation, Journal of Machine Learning Research, 11, 2079-2107 (2010).
- Boulesteix, A.-L .: Over-optimism in bioinformatics research., Bioinformatics, 26, 437-439 (2010). DOI: 10.1093 / bioinformatique / btp648
- Jelizarow, M .; Guillemot, V .; Tenenhaus, A .; Strimmer, K. & Boulesteix, A.-L .: Over-optimism in bioinformatics: an illustration., Bioinformatics, 26, 1990-1998 (2010). DOI: 10.1093 / bioinformatique / btq323
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:
Donc, si mon modèle (c'est-à-dire mon paramètre de réglage dans ce cas) échoue à la validation externe, que dois-je faire alors?
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.