K-fold vs. walidacja krzyżowa Monte Carlo

29

Próbuję poznać różne metody walidacji krzyżowej, przede wszystkim z zamiarem zastosowania do nadzorowanych technik analizy wielowymiarowej. Dwa, z którymi się spotkałem, to techniki K-fold i Monte Carlo. Czytałem, że K-fold jest odmianą Monte Carlo, ale nie jestem pewien, czy w pełni rozumiem, co składa się na definicję Monte Carlo. Czy ktoś mógłby wyjaśnić różnicę między tymi dwiema metodami?

Liam
źródło
Czy miałbym więc rację, twierdząc, że Monte Carlo to losowe rozmiary zestawów treningowych i testowych, podczas gdy k-fold jest zdefiniowanym rozmiarem zestawów? Widziałem powyższą stronę, ale nie całkiem zrozumiałem, jaka była różnica.
Liam,
Znam różne rodzaje weryfikacji krzyżowej i walidacji poza bootstrapem, ale jeszcze nie spotkałem się z pojęciem krzyżowej walidacji Monte Carlo (być może znam ją pod inną nazwą). Czy możesz podać link lub zacytować opis działania krzyżowej weryfikacji Monte Carlo?
cbeleites obsługuje Monikę
Najprostszy i otwarty opis Monte Carlo znajduje się na wiki . Po prostu nie widzę różnicy między metodami k-fold i metodami Monte Carlo.
Liam,

Odpowiedzi:

36

k -Fold Cross Validation

Załóżmy, że masz 100 punktów danych. W przypadku krotnej walidacji krzyżowej te 100 punktów jest podzielonych na równych rozmiarów i wykluczających się wzajemnie „foldów”. Dla = 10 możesz przypisać punkty 1-10 do złożenia # 1, 11-20 do złożenia # 2 i tak dalej, kończąc przypisując punkty 91-100 do złożenia # 10. Następnie wybieramy jeden fałd, który ma działać jako zestaw testowy, i wykorzystujemy pozostałe fałdy aby utworzyć dane treningowe. Przy pierwszym uruchomieniu możesz użyć punktów 1-10 jako zestawu testowego i 11-100 jako zestawu treningowego. Następny bieg użyłby wtedy punktów 11–20 jako zestawu testowego i trenował na punktach 1-10 plus 21–100, i tak dalej, aż każda zakładka zostanie użyta raz jako zestaw testowy.k k k - 1kkkk1

Walidacja krzyżowa Monte-Carlo

Monte Carlo działa nieco inaczej. Losowo wybierasz (bez zastępowania) pewną część swoich danych, aby utworzyć zestaw treningowy, a następnie przypisujesz resztę punktów do zestawu testowego. Proces ten jest następnie powtarzany wiele razy, generując (losowo) nowe partycje szkoleniowe i testowe za każdym razem. Załóżmy na przykład, że wykorzystałeś 10% danych jako danych testowych. W takim razie zestaw testowy w rep # 1 może mieć punkty 64, 90 , 63, 42 , 65, 49, 10, 64, 96 i 48. Przy następnym uruchomieniu zestaw testowy może mieć 90 , 60, 23, 67, 16, 78, 42 , 17, 73 i 26. Ponieważ partycje są wykonywane niezależnie dla każdego uruchomienia, ten sam punkt może pojawić się w zestawie testowym wiele razy,co jest główną różnicą między Monte Carlo i walidacją krzyżową .

Porównanie

Każda metoda ma swoje zalety i wady. W ramach walidacji krzyżowej każdy punkt jest testowany dokładnie raz, co wydaje się sprawiedliwe. Jednak weryfikacja krzyżowa bada tylko kilka możliwych sposobów partycjonowania danych. Monte Carlo pozwala eksplorować nieco więcej możliwych partycji, choć jest mało prawdopodobne, aby uzyskać je wszystkie - istnieją możliwych sposobów podziału 50/50 punktu danych 100 zestaw(!).(10050)1028

Jeśli próbujesz wnioskować (tj. Statystycznie porównać dwa algorytmy), uśrednienie wyników testu krzyżowego z krotnością daje ci (prawie) bezstronną ocenę wydajności algorytmu, ale z dużą zmiennością (tak jak oczekuj, że będziesz mieć tylko 5 lub 10 punktów danych). Ponieważ możesz w zasadzie uruchamiać go tak długo, jak chcesz / możesz sobie pozwolić, sprawdzanie poprawności Monte Carlo może dać mniej zmienną, ale bardziej stronniczą ocenę.k

Niektóre podejścia łączą te dwa elementy, jak w przypadku krzyżowej walidacji 5x2 (patrz Dietterich (1998) dla tego pomysłu, chociaż myślę, że od tego czasu wprowadzono kilka dalszych ulepszeń), lub korygując odchylenie (np. Nadeau i Bengio, 2003 ) .

Matt Krause
źródło
2
Ktoś zapytał, za pośrednictwem sugerowanej kolejki edycji, czy Monte Carlo jest wykonywane z wymianą czy bez. Dla każdego biegu w Monte Carlo zestaw treningowy i testowy są losowane bez wymiany (tzn. Każdy punkt jest przypisany, dokładnie jeden raz, pociągowi lub zestawowi testowemu). Przebiegi są jednak wykonywane niezależnie, więc podany przykład może pojawić się wielokrotnie w tym samym zestawie; to główna różnica między sprawdzaniem poprawności Monte Carlo i k-fold cross!
Matt Krause,
13

Załóżmy, że to rozmiar zestawu danych, to liczba podzbiorów , to rozmiar zestawu szkoleniowego, a to rozmiar zestawu sprawdzającego poprawność. Dlatego dla - walidacji krzyżowej i dla walidacji krzyżowej Monte Carlo.k k n t n v N = k × n v k N = n t + n vNkkntnvN=k×nvkN=nt+nv

kNkkkkkN2k=Nk=510

Nntnvntntnv(Nnt)N2(Nnt)

kntkntknt


v

[2] Hastie, T., Tibshirani, R. and Friedman, J. (2011). Elementy uczenia statystycznego: eksploracja danych, wnioskowanie i przewidywanie. Wydanie drugie Nowy Jork: Springer.

[3] Zhang, P. (1993). Wybór modelu za pomocą walidacji krzyżowej Muiltfold. Ann. Stat. 21 299–313

szef danych
źródło
7

Pozostałe dwie odpowiedzi są świetne, dodam tylko dwa zdjęcia oraz jeden synonim.


Walidacja krzyżowa K-fold (kFCV):

wprowadź opis zdjęcia tutaj

Walidacja krzyżowa Monte Carlo (MCCV) = Powtarzana losowa walidacja podpróbkowania (RRSSV):

wprowadź opis zdjęcia tutaj


Referencje:

Zdjęcia pochodzą z (1) ( strony 64 i 65 ), a synonim wspomniany jest w (1) i (2).

Franck Dernoncourt
źródło