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 - 1kkkk - 1
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 ) .