Wprowadzenie
Cross Validation (walidacja krzyżowa) to jedna z najważniejszych technik oceny modeli uczenia maszynowego. Zamiast jednorazowego podziału danych na zbiór treningowy i testowy, dane są wielokrotnie dzielone w różny sposób, co daje znacznie bardziej wiarygodną i stabilną ocenę zdolności modelu do generalizacji.
Najpopularniejsze metody
- K-Fold Cross Validation – dane dzielone są na K równych części. Model trenowany jest K razy – za każdym razem inna część służy jako zbiór walidacyjny.
- Stratified K-Fold – wariant K-Fold, który zachowuje proporcje klas w każdej foldzie (kluczowy przy niezbalansowanych danych)
- Leave-One-Out (LOO) – ekstremalny przypadek K-Fold, gdzie K = liczba przykładów
- Time Series Cross Validation – Rolling Window / Expanding Window – ważne przy danych sekwencyjnych
- Hold-Out Validation – prosty podział na train/test (nie jest to pełna cross validation)
Zalety Cross Validation
- Bardziej wiarygodna ocena generalizacji modelu
- Lepsze wykorzystanie dostępnych danych (każdy przykład jest użyty zarówno do treningu, jak i walidacji)
- Pomaga wykryć overfitting
- Umożliwia stabilne porównywanie różnych modeli i hiperparametrów
Ograniczenia
- Zwiększony koszt obliczeniowy (trening K razy)
- Przy bardzo dużych zbiorach danych bywa czasochłonne
- W przypadku Time Series wymaga specjalnych wariantów
Zastosowania
- Dobór hiperparametrów (Grid Search, Random Search, Bayesian Optimization)
- Porównywanie różnych algorytmów
- Ocena finalnej jakości modelu przed wdrożeniem
- Detekcja overfittingu
- Praca z małymi i średnimi zbiorami danych
Aktualny status (2026)
Cross Validation pozostaje standardem w każdym profesjonalnym projekcie uczenia maszynowego. W erze dużych modeli językowych i AutoML jest szeroko stosowana podczas dostrajania hiperparametrów LoRA/QLoRA oraz przy ewaluacji modeli na danych tabelarycznych. Nowoczesne biblioteki (scikit-learn, Optuna, Ray Tune, Hugging Face) oferują bardzo wygodne i zoptymalizowane implementacje walidacji krzyżowej.
Umiejętność prawidłowego stosowania Cross Validation to jedna z kluczowych kompetencji każdego Data Scientist’a i ML Engineera.