Cross Validation

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.