Metoda walidacji krzyżowej w statystyce
W statystyce i nauce o danych jednym z największych wyzwań jest zapewnienie, że model nie tylko dobrze działa na danych, na których został wytrenowany, ale także na nowych, wcześniej niewidzianych danych. Problem ten jest często określany mianem generalizacji. Właśnie tutaj pojawia się walidacja krzyżowa: metoda ewaluacji modelu, której celem jest bardziej sprawiedliwy i spójny pomiar wydajności modelu niż pojedyncza ewaluacja z wykorzystaniem jednego zestawu danych.
Dlaczego potrzebna jest walidacja krzyżowa?
Kiedy budujemy model predykcyjny – na przykład model regresji do przewidywania cen domów lub model klasyfikacji do wykrywania spamu – zazwyczaj dzielimy dane na dwie części: zbiór treningowy i zbiór testowy. Model jest trenowany na danych treningowych, a następnie oceniany na danych testowych. To podejście jest proste, ale ma wadę: wyniki oceny mogą w dużym stopniu zależeć od podziału danych. Jeśli dane testowe są „łatwe”, wydajność wydaje się wysoka; jeśli dane testowe są „trudne”, wydajność wydaje się niska.
Walidacja krzyżowa zmniejsza zależność od pojedynczego zestawu danych poprzez przeprowadzenie wielu procesów treningowych i testowych na różnych zestawach danych, a następnie uśrednienie wyników. W rezultacie szacunki wydajności są bardziej reprezentatywne dla rzeczywistych warunków.
Podstawowe koncepcje walidacji krzyżowej
Istotą walidacji krzyżowej jest podzielenie danych na kilka części (fałdów). W każdej iteracji niektóre fałdy są wykorzystywane do trenowania modelu, a jedna do jego testowania. Proces ten jest powtarzany, aż każda fałda zostanie wykorzystana jako dane testowe. Wyniki oceny z każdej iteracji są następnie łączone (zazwyczaj ze średnią, a czasami również z odchyleniem standardowym), aby uzyskać przegląd wydajności modelu.
Na przykład w k-krotnej walidacji krzyżowej z k=5 dane są dzielone na 5 krotności. Pierwsza iteracja: krotność 1 jako test, krotności 2–5 jako trening. Druga iteracja: krotność 2 jako test i tak dalej, aż do krotności 5.
Typowe typy walidacji krzyżowej
1. Walidacja wstrzymana (podział trening-test)
Chociaż technicznie rzecz biorąc, nie jest to „powtórzona” walidacja krzyżowa, metoda holdout jest często uważana za podstawowy etap walidacji. Dane są dzielone jednorazowo, na przykład 80% danych treningowych i 20% testowych. Zaletą jest szybkość i prostota, ale wadą jest duża zmienność wyników, ponieważ opiera się na pojedynczym podziale.
Tę metodę stosuje się zwykle wtedy, gdy danych jest bardzo dużo i nawet jeden podział jest wystarczająco reprezentatywny.
2. Walidacja krzyżowa K-krotna
To najpopularniejsza forma walidacji krzyżowej. Parametr k jest często wybierany na poziomie 5 lub 10, ponieważ ma on na celu zrównoważenie kosztów obliczeniowych i jakości estymacji.
Zalety:
– Efektywniejsze wykorzystanie danych (każde dane staje się częścią szkolenia i testowania).
– Szacunki wydajności są bardziej stabilne niż szacunki oparte na testach wytrzymałościowych.
Brak:
– Trwa dłużej, ponieważ model jest trenowany k razy.
– Jeśli danych jest bardzo dużo lub model jest bardzo złożony, koszty obliczeniowe mogą być wysokie.
3. Warstwowa walidacja krzyżowa typu K
W przypadku problemów z klasyfikacją, zwłaszcza gdy klasy są niezrównoważone (np. 90% ujemne, 10% dodatnie), regularny k-fold może generować fałdy o skośnych rozkładach klas. Stratyfikowany k-fold zapewnia, że proporcja klas w każdym fałdzie jest w przybliżeniu taka sama, jak proporcja klas w danych oryginalnych.
Jest to szczególnie ważne przy ocenie modeli wykrywania chorób, oszustw i innych przypadkach, w których mniejszość jest niewielka.
4. Walidacja krzyżowa typu „pozostaw jeden element” (LOOCV)
W metodzie LOOCV liczba krotności jest równa ilości danych (k = n). Oznacza to, że w każdej iteracji tylko jedna obserwacja staje się danymi testowymi, a pozostałe danymi treningowymi.
Zalety:
– Prawie wszystkie dane są wykorzystywane do treningu w każdej iteracji, więc błąd oszacowania może być niewielki.
Brak:
– Bardzo kosztowne obliczeniowo w przypadku dużych zbiorów danych.
– W przypadku niektórych typów problemów wariancja oszacowań może być wysoka, ponieważ zbiór testowy obejmuje tylko jeden punkt na iterację.
Metoda LOOCV jest często stosowana w przypadku niewielkiej ilości danych, na przykład w badaniach na małej próbie.
5. Powtarzana walidacja krzyżowa K-krotna
Ta metoda powtarza k-krotność wielokrotnie z różnymi (losowymi) przyporządkowaniami krotności. Celem jest zmniejszenie zależności od pojedynczego przyporządkowania krotności i uzyskanie bardziej stabilnych oszacowań.
Na przykład „10-krotnie powtórzone 3 razy” oznacza przeprowadzenie 10-krotnie 3 razy (łącznie 30 szkoleń i ocen).
6. Walidacja krzyżowa szeregów czasowych
W przypadku szeregów czasowych konwencjonalna walidacja krzyżowa nie jest odpowiednia, ponieważ może „przeciec przyszłość” do procesu uczenia. W szeregach czasowych konieczne jest zachowanie porządku czasowego. Dlatego też, podejścia takie jak:
– Okno ruchome/przesuwne: szkolenie w okresie początkowym, następnie testowanie w kolejnym okresie, po czym okno się przesuwa.
– Rozszerzające się okno: dane treningowe zwiększają się z czasem, a następnie są testowane w następnym okresie.
Metoda ta jest przydatna do miesięcznego przewidywania sprzedaży, cen akcji i pomiaru czasu rzeczywistego za pomocą czujników.
Metryki oceny w walidacji krzyżowej
Walidacja krzyżowa jest jedynie ramą oceny; stosowane wskaźniki zależą od rodzaju problemu:
– Regresja: MSE, RMSE, MAE, R-kwadrat.
– Klasyfikacja: dokładność, precyzja, czułość, wynik F1, ROC-AUC.
– Klasyfikacja niezrównoważona: ROC-AUC, PR-AUC (precyzja-odwołanie), zrównoważona dokładność.
Wyniki walidacji krzyżowej są zazwyczaj podawane jako średnia metryczna i odchylenie standardowe (np. dokładność 0,89 ± 0,03). Odchylenie standardowe pomaga zrozumieć stabilność modelu.
Walidacja krzyżowa w celu wyboru modelu i dostrojenia parametrów
Jednym z głównych zastosowań walidacji krzyżowej jest wybór modelu i dostrajanie hiperparametrów. Na przykład:
– Wybór k w k-NN.
– Wybierz maksymalną głębokość w drzewie decyzyjnym.
– Określ parametry regularyzacji w regresji grzbietowo-lassowej.
– Wyznacz C i gamma w SVM.
W dobrych praktykach proces strojenia przeprowadza się na danych treningowych za pomocą walidacji krzyżowej, podczas gdy ostateczne dane testowe są przechowywane oddzielnie do ostatecznej oceny. Zapobiega to „nadmiernemu optymizmowi” wynikającemu z nadmiernego dopasowania modelu do danych ewaluacyjnych.
Bardziej rygorystyczne podejście nazywa się zagnieżdżoną walidacją krzyżową, czyli walidacją krzyżową w walidacji krzyżowej: pętla zewnętrzna służy do ewaluacji, a pętla wewnętrzna do dostrajania. Jest to popularne podejście w badaniach, ponieważ zapewnia bardziej obiektywne szacunki wydajności.
Zalety i ograniczenia walidacji krzyżowej
Główne zalety:
1. Zapewnia bardziej stabilne szacunki wydajności niż pojedynczy podział.
2. Wykorzystuj dane efektywnie, zwłaszcza gdy zbiór danych jest niewielki.
3. Pomaga wybrać bardziej ogólny model i zmniejsza ryzyko nadmiernego dopasowania.
Keterbatasan:
1. Koszty obliczeniowe rosną w miarę wielokrotnego powtarzania szkolenia.
2. Wyciek danych może nadal mieć miejsce, jeśli wstępne przetwarzanie nie zostanie wykonane prawidłowo.
3. W przypadku danych zgrupowanych (na przykład danych pacjentów składających się z kilku rekordów) konieczna jest specjalna metoda, np. grupowanie k-krotne, dzięki której ta sama osoba nie pojawi się w grupie i badaniu w tym samym czasie.
Dobre praktyki w zakresie stosowania walidacji krzyżowej
Aby ocena była prawidłowa, należy przestrzegać kilku ważnych zasad:
– Przeprowadź wstępne przetwarzanie (normalizację, imputację, selekcję cech) w obrębie każdego segmentu, a nie jednorazowo dla całych danych. W przeciwnym razie informacje z segmentu testowego mogłyby przedostać się do segmentu szkoleniowego.
– Do klasyfikacji z niezrównoważonymi klasami należy stosować klasyfikację warstwową typu k.
– Użyj specjalnego schematu dla danych szeregów czasowych, aby zachować ich kolejność.
– Jeśli Twoim celem jest ocena końcowej wydajności modelu przed wdrożeniem, odłóż na bok końcowy zestaw testów.
Zamknięcie
Walidacja krzyżowa to fundamentalne narzędzie statystyki stosowanej i uczenia maszynowego, służące do bardziej rzetelnej i solidnej oceny wydajności modelu. Wykorzystując wielokrotne udostępnianie danych, walidacja krzyżowa pomaga zredukować błędy wynikające z podziału na testy i treningi, wykrywa nadmierne dopasowanie oraz wspomaga selekcję modelu i dostrajanie hiperparametrów. Chociaż koszty obliczeniowe są wyższe, korzyści często są warte zachodu, zwłaszcza gdy zbiór danych jest niewielki lub gdy decyzje oparte na wynikach modelu mają istotne konsekwencje. Wybierając odpowiedni typ walidacji krzyżowej i wdrażając najlepsze praktyki, możemy budować bardziej niezawodne modele, gotowe do użycia w rzeczywistych danych.