W głębokim nauczaniu François Cholleta w Pythonie napisano:
W rezultacie dostrajanie konfiguracji modelu w oparciu o jego wydajność w zestawie sprawdzania poprawności może szybko doprowadzić do nadmiernego dopasowania do zestawu sprawdzania poprawności, nawet jeśli Twój model nigdy nie jest bezpośrednio na nim szkolony.
Centralnym elementem tego zjawiska jest pojęcie wycieków informacji. Za każdym razem, gdy dostrajasz hiperparametr modelu na podstawie wydajności modelu w zestawie sprawdzania poprawności, niektóre informacje o danych sprawdzania poprawności wyciekają do modelu . Jeśli zrobisz to tylko raz, dla jednego parametru, wycieknie bardzo niewiele bitów informacji , a zestaw walidacyjny pozostanie niezawodny do oceny modelu. Ale jeśli powtórzysz to wiele razy - przeprowadzając jeden eksperyment, oceniając zestaw walidacyjny i modyfikując w rezultacie swój model - wówczas wyciekniesz do modelu coraz większą ilość informacji o zestawie walidacyjnym.
Dlaczego informacje o danych walidacyjnych wyciekają, jeśli oceniam wydajność modelu na danych walidacyjnych podczas strojenia hiperparametrów?
źródło
Odpowiedzi:
Informacje wyciekły, ponieważ używasz danych sprawdzania poprawności do dokonywania wyborów hiperparametrów. Zasadniczo tworzysz skomplikowany problem z optymalizacją: zminimalizuj stratę na hiperparametrach ocenianą na podstawie danych walidacyjnych, gdzie hiperparametry regulują model sieci neuronowej, w której parametry szkolone przy użyciu określonego zestawu szkoleniowego .ϕ θ
Mimo że parametry są bezpośrednio informowane przez dane treningowe, hiper-parametry są wybierane na podstawie danych walidacyjnych. Ponadto, ponieważ hiperparametry pośrednio wpływają na , informacje z danych sprawdzania poprawności pośrednio wpływają na wybrany model.θ ϕ ϕ θ
źródło