Dans le Deep Learning de François Chollet avec Python, il est écrit:
Par conséquent, le réglage de la configuration du modèle en fonction de ses performances sur l'ensemble de validation peut rapidement entraîner un surajustement de l'ensemble de validation, même si votre modèle n'est jamais directement formé sur celui-ci.
La notion de fuite d'informations est au cœur de ce phénomène. Chaque fois que vous ajustez un hyperparamètre de votre modèle en fonction des performances du modèle sur l'ensemble de validation, certaines informations sur les données de validation s'infiltrent dans le modèle . Si vous ne le faites qu'une seule fois, pour un paramètre, alors très peu de bits d'information fuiront et votre ensemble de validation restera fiable pour évaluer le modèle. Mais si vous répétez cette opération plusieurs fois, en exécutant une expérience, en évaluant l'ensemble de validation et en modifiant votre modèle en conséquence, vous ferez couler une quantité de plus en plus importante d'informations sur l'ensemble de validation dans le modèle.
Pourquoi des informations sur les données de validation ont-elles été divulguées si j'évalue les performances du modèle sur les données de validation lors du réglage des hyperparamètres?
Réponses:
Les informations sont divulguées car vous utilisez les données de validation pour faire des choix d'hyper-paramètre. Essentiellement, vous créez un problème d'optimisation compliqué: minimisez la perte par rapport aux hyper-paramètres évalués par rapport aux données de validation, où ces hyper-paramètres régularisent un modèle de réseau de neurones dont les paramètres entraînés à l'aide d'un ensemble d'entraînement spécifique .ϕ θ
Même si les paramètres sont directement informés par les données d'apprentissage, les hyper-paramètres sont sélectionnés sur la base des données de validation. De plus, comme les hyper-paramètres influencent implicitement , les informations des données de validation influencent indirectement le modèle que vous choisissez.θ ϕ ϕ θ
la source