在 François Chollet 的 Python 深度学习中,它说:
因此,根据模型在验证集上的性能调整模型的配置会很快导致对验证集的过度拟合,即使您的模型从未直接在其上进行过训练。
这种现象的核心是信息泄露的概念。每次根据模型在验证集上的性能调整模型的超参数时,有关验证数据的一些信息就会泄漏到模型中。如果您只对一个参数执行一次,那么很少有信息会泄漏,并且您的验证集将保持可靠以评估模型。但是,如果您重复多次——运行一个实验,评估验证集,然后修改你的模型——那么你就会将越来越多的关于验证集的信息泄漏到模型中。
如果我在调整超参数时评估验证数据的模型性能,为什么会泄露有关验证数据的信息?