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?

9

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?

fabiomaia
la source
BTW: cela ne dépend pas seulement de la fréquence à laquelle vous effectuez cette opération mais également de l'incertitude aléatoire de votre évaluation des performances (fonctionnelle cible) lors de l'optimisation.
cbeleites mécontents de SX
1
@cbeleites Désolé, qu'est-ce que cela signifie?
fabiomaia
1
si les résultats de validation utilisés pour l'optimisation étaient parfaits (c.-à-d. ni erreur systématique ni aléatoire), l'optimisation choisirait le modèle vraiment optimal, vous n'auriez pas de sur-ajustement et une autre validation parfaite indépendante du modèle choisi donnerait exactement le même résultat. L'optimisation pourrait même tolérer une erreur systématique (biais) tant qu'elle ne change pas avec les facteurs que vous variez pendant l'optimisation. Considérez maintenant ce qui se passe s'il y a une erreur aléatoire (incertitude de variance) sur l'estimation des performances: vous obtenez du bruit au-dessus du véritable "paysage" performant.
cbeleites mécontents de SX le
1
Ce bruit peut rendre certains points (paramètres d'hyperparamètres) plus beaux qu'ils ne le sont en réalité, de sorte que ces paramètres d'hyperparamètres peuvent être choisis accidentellement (et par erreur). La probabilité que cela se produise augmente avec a) le nombre de fois que vous examinez ces valeurs de performances et b) la quantité de bruit que vous avez en plus des performances réelles (par rapport à l'augmentation des performances réelles). Il ne s'agit pas de savoir pourquoi la réutilisation des résultats de validation est une fuite de données, mais de savoir comment le sur-ajustement se produit et la gravité du problème auquel vous devez vous attendre - donc seulement un commentaire.
cbeleites mécontents de SX le

Réponses:

11

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.θϕϕθ

Sycorax dit de réintégrer Monica
la source
1
Rétrospectivement, c'était assez évident. Mais qu'est-ce que "si vous ne faites cela qu'une seule fois, pour un paramètre, alors très peu d'informations vont fuir"? Que signifie-t-on là et en quoi contraste-t-il avec l'autre cas où "vous répétez cela plusieurs fois"?
fabiomaia
4
Supposons que vous n'essayiez que 2 configurations d'hyper-paramètres, mesurant les performances par rapport aux données de validation, et choisissez le meilleur modèle. Il y a une moindre chance que, par une chance aveugle, vous ayez réussi à surcharger les données de validation. En revanche, supposons que vous essayiez configurations hyperparamétriques et que vous choisissiez le meilleur modèle en fonction des données de validation. Il y a un plus grand risque que, par pur hasard, vous ayez réussi à surajuster les données de validation. Voir aussi: "le jardin des chemins bifurqués" et la découverte des effets parasites. 210
Sycorax dit Réintégrer Monica
1
Cela est parfaitement logique. La formulation du livre original n'était pas la meilleure. Je vous remercie!
fabiomaia
La formulation du livre est excellente.
Michael M
2
Cela peut vous sembler "excellent" car vous savez probablement déjà de quoi parle l'auteur. Le commentaire de @Sycorax m'a été beaucoup plus explicite et utile.
fabiomaia