Jak opisałbyś walidację krzyżową komuś bez doświadczenia w analizie danych?
Jak opisałbyś walidację krzyżową komuś bez doświadczenia w analizie danych?
Odpowiedzi:
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.).
Myślę, że najlepiej to opisać za pomocą poniższego obrazu (w tym przypadku pokazującego k-krotną weryfikację krzyżową):
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.
„Unikaj uczenia się danych treningowych na pamięć, upewniając się, że wyszkolony model działa dobrze na niezależnych danych”.
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ć.
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).