In François Chollets Deep Learning with Python heißt es:
Infolgedessen kann das Optimieren der Konfiguration des Modells basierend auf seiner Leistung im Validierungssatz schnell zu einer Überanpassung an den Validierungssatz führen, obwohl Ihr Modell niemals direkt darauf trainiert wird.
Zentral für dieses Phänomen ist der Begriff der Informationslecks. Jedes Mal, wenn Sie einen Hyperparameter Ihres Modells basierend auf der Leistung des Modells im Validierungssatz optimieren, gelangen einige Informationen zu den Validierungsdaten in das Modell . Wenn Sie dies nur einmal für einen Parameter tun, gehen nur sehr wenige Informationen verloren , und Ihr Validierungssatz bleibt für die Bewertung des Modells zuverlässig. Wenn Sie dies jedoch viele Male wiederholen - ein Experiment ausführen, den Validierungssatz auswerten und Ihr Modell als Ergebnis ändern -, verlieren Sie eine immer größere Menge an Informationen über den Validierungssatz im Modell.
Warum gehen Informationen über die Validierungsdaten verloren, wenn ich beim Optimieren von Hyperparametern die Modellleistung anhand von Validierungsdaten bewerte?
quelle
Antworten:
Informationen gehen verloren, weil Sie die Validierungsdaten verwenden, um Hyperparameter auszuwählen. Im Wesentlichen entsteht ein kompliziertes Optimierungsproblem: Minimieren Sie den Verlust über Hyperparameter der anhand der Validierungsdaten ausgewertet wird, wobei diese Hyperparameter ein neuronales Netzwerkmodell regulieren, dessen Parameter mithilfe eines bestimmten Trainingssatzes trainiert werden .ϕ θ
Obwohl die Parameter direkt durch die Trainingsdaten informiert werden, werden die Hyperparameter auf der Basis der Validierungsdaten ausgewählt. Da die Hyperparameter implizit beeinflussen , beeinflussen die Informationen aus den Validierungsdaten indirekt das von Ihnen ausgewählte Modell.θ ϕ ϕ θ
quelle