Weryfikacja krzyżowa zwykłym angielskim?

Odpowiedzi:

54

Rozważ następującą sytuację:

Chcę złapać metro i iść do mojego biura. Mam zamiar wziąć samochód, zaparkować w metrze, a następnie wsiąść do pociągu, aby przejść do mojego biura. Moim celem jest złapanie pociągu o godz. 8.15 każdego dnia, abym mógł dotrzeć do biura na czas. Muszę zdecydować, co następuje: (a) godzina, w której muszę opuścić dom i (b) trasa, którą wybiorę do stacji.

W powyższym przykładzie mam dwa parametry (tj. Czas wyjazdu z domu i trasę do stacji) i muszę wybrać te parametry, aby dotrzeć do stacji przed godziną 8.15.

Aby rozwiązać powyższy problem, mogę wypróbować różne zestawy „parametrów” (tj. Inną kombinację godzin wyjazdu i trasy) w poniedziałki, środy i piątki, aby sprawdzić, która kombinacja jest „najlepsza”. Chodzi o to, że gdy już znajdę najlepszą kombinację, mogę jej używać każdego dnia, aby osiągnąć swój cel.

Problem przeregulowania

Problem z powyższym podejściem polega na tym, że mogę się przestawić, co zasadniczo oznacza, że ​​najlepsza kombinacja, którą zidentyfikuję, może w pewnym sensie być unikalna dla Pon, Śr i Piątku i ta kombinacja może nie działać dla Wt i Cz. Przekroczenie może się zdarzyć, jeśli w poszukiwaniu najlepszej kombinacji czasów i tras wykorzystam pewien aspekt sytuacji na drodze w poniedziałek / środę / piątek, która nie występuje w wtorek i czwartek.

Jedno rozwiązanie problemu nadmiernego dopasowania: walidacja krzyżowa

Walidacja krzyżowa jest jednym z rozwiązań nadmiernego dopasowania. Chodzi o to, że po zidentyfikowaniu naszej najlepszej kombinacji parametrów (w naszym przypadku czas i trasa) testujemy wydajność tego zestawu parametrów w innym kontekście. Dlatego też możemy chcieć przetestować również wt i czw, aby upewnić się, że nasze wybory działają również w te dni.

Rozszerzenie analogii na statystyki

W statystykach mamy podobny problem. Często używamy ograniczonego zestawu danych do oszacowania nieznanych parametrów, których nie znamy. Jeśli się dopasujemy, nasze szacunki parametrów będą działać bardzo dobrze dla istniejących danych, ale nie tak dobrze, gdy będziemy ich używać w innym kontekście. W ten sposób walidacja krzyżowa pomaga w uniknięciu powyższego problemu nadmiernego dopasowania, dowodząc pewności, że oszacowania parametrów nie są unikalne dla danych, które wykorzystaliśmy do ich oszacowania.

Oczywiście krzyżowa walidacja nie jest doskonała. Wracając do naszego przykładu metra, może się zdarzyć, że nawet po weryfikacji krzyżowej nasz najlepszy wybór parametrów może nie działać miesiąc później z powodu różnych problemów (np. Budowa, zmiany natężenia ruchu w czasie itp.).

jbaums
źródło
2
Z technicznego punktu widzenia jest to walidacja wstrzymania, ale można sobie wyobrazić rozszerzenie przykładu metra na kontekst weryfikacji krzyżowej. Jeśli to pomoże, przepiszę ponownie przykład i resztę tekstu, aby był charakterystyczny dla weryfikacji krzyżowej.
@ srikant .. słowo „overfit” jako słowo sugeruje mi, że coś jest „nadmiernie” zrobione, co znaczy… więcej niż jest wymagane… więc co jest nadmiernie zrobione? Czy to nie zmienne? Przykro mi, że wiele razy słyszałem, że termin jest zbyt dobry i że skorzystam z okazji, aby wyjaśnić to wam.
ayush biyani,
1
Myślę, że odpowiedź ta zostałaby poprawiona poprzez dodanie koncepcji foldów, która jest kluczem do tego, jak CV różni się od testowania Holdout. W przykładzie (używając skrótu M dla poniedziałku, T dla wtorku, ..., R dla czwartku, ...): Więc patrzysz na TWRF dla najlepszej kombinacji i widzisz, jak to działa na M, a następnie MWRF i widzisz, jak to działa działa na T, itp. Więc każdy dzień jest wykorzystywany jako część problemu cztery razy i jako kontrola problemu raz, ale nigdy jako problem i kontrola w tej samej rundzie.
Wayne,
43

Myślę, że najlepiej to opisać za pomocą poniższego obrazu (w tym przypadku pokazującego k-krotną weryfikację krzyżową):

alternatywny tekst

Walidacja krzyżowa jest techniką stosowaną w celu ochrony przed przeuczeniem w modelu predykcyjnym, szczególnie w przypadku, gdy ilość danych może być ograniczona. W przypadku weryfikacji krzyżowej wykonujesz stałą liczbę fałd (lub partycji) danych, uruchamiasz analizę dla każdej fałdy, a następnie uśredniasz ogólny szacunek błędu.

Shane
źródło
2
Wydaje się, biorąc pod uwagę dyskusje gdzie indziej na tej stronie, że k-krotna walidacja krzyżowa jest tylko jednym rodzajem walidacji krzyżowej, a jej opis nie wykonuje ogólnego zadania polegającego na opisaniu czym jest walidacja krzyżowa.
russellpierce
3
@drknexus: To prawda, ale wspominam, że jest to k-fold i chciałem przedstawić wizualizację procesu, aby pomóc to wyjaśnić.
Shane
Szybkie wyjaśnienie: czy tak jest, że nfold = 4 oznacza 25% dla zestawu testowego; nfold = 5 oznacza 20% dla zestawu testowego; nfold = 10 oznacza 10% dla zestawu testowego, i tak dalej: nfold = n oznacza 100 / n procent idzie do zestawu testowego?
johnjps111
9

„Unikaj uczenia się danych treningowych na pamięć, upewniając się, że wyszkolony model działa dobrze na niezależnych danych”.

Andre Holzner
źródło
3
Jest to motywacja do CV, a nie opis samego CV.
jbaums
6

Powiedzmy, że badasz jakiś proces; zebrałeś pewne dane opisujące to i zbudowałeś model (statystyczny lub ML, nie ma znaczenia). Ale teraz, jak ocenić, czy jest w porządku? Prawdopodobnie pasuje podejrzanie dobrze do danych, na których został zbudowany, więc nikt nie uwierzy, że Twój model jest tak wspaniały, jak myślisz.
Pierwszym pomysłem jest oddzielenie podzbioru danych i użycie go do przetestowania kompilacji modelu za pomocą metody na pozostałych danych. Teraz wynik jest zdecydowanie zbyt mocny, niemniej (szczególnie w przypadku małych zestawów) mogłeś (nie) mieć szczęścia i losować (mniej) prostszych przypadków do przetestowania, dzięki czemu (trudniej) łatwiej przewidzieć ... Również twoją dokładność / Szacowanie błędu / dobroci jest bezużyteczne do porównywania / optymalizacji modeli, ponieważ prawdopodobnie nic nie wiesz o jego dystrybucji.
W razie wątpliwości użyj brutalnej siły, więc po prostu powtórz powyższy proces, zbierz kilka oszacowań dokładności / błędu / dobroci i uśrednij je - aby uzyskać krzyżową weryfikację. Wśród lepszych oszacowań otrzymasz również histogram, dzięki czemu będziesz w stanie przybliżać rozkład lub wykonać testy nieparametryczne.
I to jest to; szczegóły podziału pociągu testowego są przyczyną różnych typów CV, jednak z wyjątkiem rzadkich przypadków i niewielkich różnic siły są one raczej równoważne. W rzeczywistości jest to ogromna zaleta, ponieważ sprawia, że ​​jest to metoda kuloodporna; bardzo trudno go oszukać.


źródło
3

Ponieważ nie masz dostępu do danych testowych w czasie szkolenia i chcesz, aby Twój model dobrze radził sobie z niewidzialnymi danymi testowymi, „udajesz”, że masz dostęp do niektórych danych testowych poprzez wielokrotne podpróbkowanie niewielkiej części swoje dane treningowe, trzymaj ten zestaw podczas treningu modelu, a następnie traktuj trzymany zestaw jako dane zastępcze dla danych testowych (i wybierz parametry modelu, które zapewniają najlepszą wydajność przechowywanych danych). Masz nadzieję, że losowo próbkując różne podzbiory z danych treningowych, możesz sprawić, że będą wyglądać jak dane testowe (w sensie średniego zachowania), a zatem wyuczone parametry modelu również będą dobre dla danych testowych (tj. Twojego modelu dobrze uogólnia dla niewidocznych danych).

ebony1
źródło