Prosty przewodnik po walidacji krzyżowej typu k
Aby ocenić wydajność modelu na zbiorze danych, musimy zmierzyć, jak dobrze przewidywania dokonane przez model odpowiadają obserwowanym danym.
Najczęstszym sposobem pomiaru tego jest użycie błędu średniokwadratowego (MSE), który oblicza się w następujący sposób:
MSE = (1/n)*Σ(y i – f(x i )) 2
Złoto:
- n: całkowita liczba obserwacji
- y i : Wartość odpowiedzi i -tej obserwacji
- f(x i ): Przewidywana wartość odpowiedzi i- tej obserwacji
Im bardziej prognozy modelu będą zbliżone do obserwacji, tym niższy będzie MSE.
W praktyce do obliczenia MSE danego modelu stosujemy następujący proces:
1. Podziel zbiór danych na zbiór uczący i zbiór testowy.
2. Utwórz model wykorzystując wyłącznie dane ze zbioru uczącego.
3. Wykorzystaj model do przewidywania zbioru testowego i pomiaru MSE testu.
Testy MSE dają nam wyobrażenie o tym, jak dobrze model radzi sobie na danych, których wcześniej nie widział. Jednak wadą stosowania pojedynczego zestawu testowego jest to, że test MSE może znacznie się różnić w zależności od obserwacji zastosowanych w zbiorze uczącym i testowym.
Jednym ze sposobów uniknięcia tego problemu jest wielokrotne dopasowanie modelu przy użyciu za każdym razem innego zestawu treningowego i testowego, a następnie obliczenie testowego MSE jako średniej wszystkich testowych MSE.
Ta ogólna metoda znana jest jako walidacja krzyżowa, a jej szczególna forma jest znana jako k-krotna walidacja krzyżowa .
Walidacja krzyżowa K-Fold
K-krotna walidacja krzyżowa wykorzystuje następujące podejście do oceny modelu:
Krok 1: Losowo podziel zbiór danych na k grup, czyli „fałd”, o mniej więcej równej wielkości.
Krok 2: Wybierz jedną z zakładek jako zestaw do trzymania. Dopasuj szablon do pozostałych zakładek k-1. Oblicz test MSE na podstawie obserwacji w naprężonej warstwie.
Krok 3: Powtórz ten proces k razy, za każdym razem używając innego zbioru jako zbioru wykluczającego.
Krok 4: Oblicz ogólne MSE testu jako średnią k MSE testu.
Test MSE = (1/k)*ΣMSE tj
Złoto:
- k: Liczba fałd
- MSE i : Testuje MSE w i-tej iteracji
Jak wybrać K
Ogólnie rzecz biorąc, im więcej załamań zastosujemy w k-krotnej walidacji krzyżowej, tym mniejsze obciążenie testu MSE, ale większa wariancja. I odwrotnie, im mniej fałd zastosujemy, tym większe odchylenie, ale mniejsza wariancja. Jest to klasyczny przykład kompromisu w zakresie odchylenia i wariancji w uczeniu maszynowym.
W praktyce zazwyczaj decydujemy się na użycie od 5 do 10 warstw. Jak zauważono we wstępie do uczenia się statystycznego , wykazano, że ta liczba krotności zapewnia optymalną równowagę między obciążeniem a wariancją, a tym samym zapewnia wiarygodne szacunki MSE testu:
Podsumowując, istnieje kompromis w zakresie odchylenia wariancji związany z wyborem k w k-krotnej walidacji krzyżowej.
Zazwyczaj, biorąc pod uwagę te rozważania, przeprowadza się k-krotną weryfikację krzyżową przy użyciu k = 5 lub k = 10, ponieważ empirycznie wykazano, że wartości te dają szacunki poziomu błędów testów, które nie są obciążone ani nadmiernie dużym obciążeniem, ani bardzo dużą wariancją.
-Strona 184, Wprowadzenie do uczenia się statystycznego
Korzyści z walidacji krzyżowej K-Fold
Kiedy podzielimy zbiór danych na pojedynczy zbiór uczący i pojedynczy zbiór testowy, test MSE obliczony na podstawie obserwacji w zbiorze testowym może się znacznie różnić w zależności od obserwacji zastosowanych w zbiorze uczącym i testowym.
Stosując k-krotną walidację krzyżową, jesteśmy w stanie obliczyć test MSE przy użyciu kilku różnych odmian zbiorów uczących i testujących. Daje nam to znacznie większą szansę na uzyskanie bezstronnego oszacowania MSE testu.
K-krotna walidacja krzyżowa zapewnia również przewagę obliczeniową w porównaniu z walidacją krzyżową Leave-One-Out (LOOCV), ponieważ musi dopasować model tylko k razy zamiast n razy.
W przypadku modeli, których dopasowanie zajmuje dużo czasu, k-krotna walidacja krzyżowa może obliczyć test MSE znacznie szybciej niż LOOCV, a w wielu przypadkach test MSE obliczony każdym podejściem będzie dość podobny, jeśli użyjesz wystarczającej liczby fałd.
Rozszerzenia sprawdzania krzyżowego K-Fold
Istnieje kilka rozszerzeń k-krotnej walidacji krzyżowej, w tym:
Powtarzana k-krotna walidacja krzyżowa: w tym przypadku k-krotna walidacja krzyżowa jest po prostu powtarzana n razy. Zawsze, gdy zbiory uczące i testowe są mieszane, zmniejsza to obciążenie w estymatorze MSE testu, chociaż wykonanie tego zajmuje więcej czasu niż zwykła k-krotna walidacja krzyżowa.
Walidacja krzyżowa typu Leave-One-Out: Jest to szczególny przypadek k-krotnej walidacji krzyżowej, w której k = n . Więcej o tej metodzie możesz dowiedzieć się tutaj .
Warstwowa k-krotna walidacja krzyżowa: Jest to wersja k-krotnej walidacji krzyżowej, w której zbiór danych jest przestawiany w taki sposób, że każdy fałd jest reprezentatywny dla całości. Jak zauważył Kohavi , metoda ta zwykle zapewnia lepszy kompromis między obciążeniem a wariancją w porównaniu ze zwykłą k-krotną walidacją krzyżową.
Zagnieżdżona walidacja krzyżowa: w tym przypadku przeprowadzana jest k-krotna walidacja krzyżowa w każdym przypadku walidacji krzyżowej. Jest to często używane do dostrajania hiperparametrów podczas oceny modelu.