Zbiór walidacyjny (ang. validation set) to wydzielona część danych, której model nie widzi podczas uczenia, ale której używasz w trakcie treningu, żeby na bieżąco sprawdzać, jak dobrze radzi sobie z przykładami spoza zbioru treningowego. To twój wewnętrzny recenzent: pokazuje, czy model naprawdę się czegoś nauczył, czy tylko wykuł dane treningowe na pamięć.
Klasycznie dzielisz dane na trzy części: treningowy (model dopasowuje na nim wagi), walidacyjny (oceniasz na nim postępy i stroisz hiperparametry) oraz testowy (jednorazowy, finalny egzamin po wszystkim). Typowy podział to coś w stylu 70/15/15 albo 80/10/10, ale to nie jest świętość — przy ogromnych zbiorach walidacja może mieć i 1% całości, bo kilkadziesiąt tysięcy próbek w zupełności wystarczy.
Do czego to służy
Dwie główne robotki. Po pierwsze, wykrywanie przeuczenia (overfitting): jeśli błąd treningowy nadal spada, a błąd walidacyjny zaczyna rosnąć, to znak, że model przestał się uczyć ogólnych wzorców, a zaczął zapamiętywać szum. Tu wchodzi early stopping — przerywasz trening w momencie, gdy walidacja przestaje się poprawiać.
Po drugie, dobór hiperparametrów: learning rate, liczba warstw, siła regularyzacji, głębokość drzewa. Sprawdzasz różne ustawienia i wybierasz to, które daje najlepszy wynik na walidacji — bez podglądania zbioru testowego.
Przykład z praktyki
W scikit-learn najprościej:
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)
W Kerasie podajesz walidację wprost do treningu: model.fit(X_train, y_train, validation_data=(X_val, y_val), epochs=50) i obserwujesz val_loss w logach. Gdy danych masz mało, zamiast jednego sztywnego podziału użyj k-fold cross-validation (np. cross_val_score) — dane lecą na k części, każda po kolei bywa walidacją, a wynik uśredniasz. Mniej loterii niż przy jednym losowym splicie.
Na co uważać
- Nie myl walidacji z testem. Jeśli stroisz model pod walidację dziesiątki razy, zaczynasz się do niej pośrednio przeuczać. Zbiór testowy trzymaj w sejfie do samego końca.
- Data leakage. Skalowanie czy imputację dopasowuj tylko na treningu (
fitna train,transformna val), nigdy na całości — inaczej walidacja kłamie na twoją korzyść. - Reprezentatywność. Przy niezbalansowanych klasach używaj podziału ze stratyfikacją, żeby proporcje klas się zgadzały.
Pojęcia powiązane: zbiór treningowy, zbiór testowy, overfitting, cross-validation, hiperparametry, early stopping, regularyzacja, generalizacja.