В книге «глубокое обучение Франсуа Шоле с Python» говорится:
В результате настройка конфигурации модели на основе ее производительности на наборе проверки может быстро привести к подгонке к набору проверки, даже если ваша модель никогда не обучалась непосредственно этому.
Центральное место в этом явлении занимает понятие утечки информации. Каждый раз, когда вы настраиваете гиперпараметр вашей модели на основе производительности модели на наборе проверки, некоторая информация о данных проверки просачивается в модель . Если вы сделаете это только один раз для одного параметра, тогда будет утечка очень небольшого количества информации , и ваш набор проверки останется надежным для оценки модели. Но если вы повторите это много раз - запустите один эксперимент, оцените набор проверки и в результате измените свою модель - тогда вы утечете в модель все более значительного объема информации о наборе проверки.
Почему информация о проверочных данных просачивается, если я оцениваю производительность модели на проверочных данных при настройке гиперпараметров?
Ответы:
Информация просочилась, потому что вы используете данные проверки для выбора гиперпараметров. По сути, вы создаете сложную задачу оптимизации: минимизируйте потери по гиперпараметрам по сравнению с данными валидации, где эти гиперпараметры регуляризируют модель нейронной сети, параметры которой обучаются с использованием специального обучающего набора ,φ θ
Даже если параметры напрямую сообщаются данными обучения, гиперпараметры выбираются на основе данных проверки. Более того, поскольку гиперпараметры неявно влияют на , информация из данных проверки косвенно влияет на выбранную вами модель.θ φ φ θ
источник