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.

Podziel zbiór danych na k fałd

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.

k-krotna weryfikacja krzyżowa

Krok 3: Powtórz ten proces k razy, za każdym razem używając innego zbioru jako zbioru wykluczającego.

Przykład k-krotnej walidacji krzyżowej

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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *