Rozumiem, że przy weryfikacji krzyżowej i wyborze modelu staramy się rozwiązać dwie rzeczy:
P1 . Oszacuj oczekiwaną stratę w populacji podczas treningu z naszą próbą
P2 . Zmierz i zgłoś naszą niepewność dotyczącą tego oszacowania (wariancja, przedziały ufności, stronniczość itp.)
Standardową praktyką wydaje się być powtarzanie krzyżowej weryfikacji, ponieważ zmniejsza to wariancję naszego estymatora.
Jednak jeśli chodzi o raportowanie i analizę, rozumiem, że walidacja wewnętrzna jest lepsza niż walidacja zewnętrzna, ponieważ:
Lepiej jest zgłosić:
- Statystyki naszego estymatora, np. Przedział ufności, wariancja, średnia itp. Na pełnej próbce (w tym przypadku próbce CV).
niż raportowanie:
Utrata naszego estymatora w podzbiorze pierwotnej próbki, ponieważ:
(i) Byłby to pojedynczy pomiar ( nawet gdybyśmy wybrali nasz estymator z CV )
(ii) Nasz estymator dla tego pojedynczego pomiaru zostałby przeszkolony na zestawie (np. zestawie CV), który jest mniejszy niż nasza początkowa próbka, ponieważ musimy zrobić miejsce na zestaw podtrzymujący. Powoduje to bardziej stronnicze (pesymistyczne) oszacowanie w P1 .
Czy to jest poprawne? Jeśli nie to dlaczego?
Tło:
Łatwo jest znaleźć podręczniki, które zalecają podzielenie próbki na dwa zestawy:
- Zestaw CV , który jest następnie i wielokrotnie dzielony na zestawy pociągów i zestawy walidacyjne .
- Zestaw wstrzymania (test), używany tylko na końcu do raportowania wydajności estymatora
Moje pytanie jest próbą zrozumienia zalet i zalet tego podręcznika, biorąc pod uwagę, że naszym celem jest naprawdę rozwiązanie problemów P1 i P2 na początku tego postu. Wydaje mi się, że raportowanie zestawu testów podtrzymujących jest złą praktyką, ponieważ analiza próbki CV jest bardziej pouczająca.
Zagnieżdżone K-fold vs wielokrotne K-fold:
Można w zasadzie połączyć hold-out z regularnym K-krotnie w celu uzyskania zagnieżdżonych K-krotnie . Pozwoliłoby nam to zmierzyć zmienność naszego estymatora, ale wydaje mi się, że dla tej samej liczby wytrenowanych modeli całkowitych (całkowita liczba fałdów) powtarzanie K-krotności dałoby estymatory, które są mniej stronnicze i dokładniejsze niż zagnieżdżone K- zagięcie. Aby to zobaczyć:
- Powtarzane składanie K wykorzystuje większą część naszej całkowitej próbki niż zagnieżdżone składanie K dla tego samego K (tj. Prowadzi to do mniejszego odchylenia)
- 100 iteracji dałoby tylko 10 pomiarów naszego estymatora w zagnieżdżonym K-fold (K = 10), ale 100 pomiarów w K-fold (więcej pomiarów prowadzi do mniejszej wariancji w P2 )
Co jest złego w tym rozumowaniu?
źródło
Odpowiedzi:
Dodaję kilka punktów do miłych odpowiedzi, które już tu są:
Zagnieżdżone składanie K vs. powtarzane składanie K: zagnieżdżone i powtarzane składanie K to zupełnie różne rzeczy, używane do różnych celów.
Dlatego zalecam powtórzenie każdej zagnieżdżonej krzyżowej weryfikacji K-fold .
Lepszy raport „Statystyki naszego estymatora, np. Przedział ufności, wariancja, średnia itp. Dla pełnej próbki (w tym przypadku próbki CV).” :
Pewnie. Musisz jednak zdawać sobie sprawę z faktu, że nie będziesz w stanie (łatwo) oszacować przedziału ufności na podstawie samych wyników weryfikacji krzyżowej. Powodem jest to, że bez względu na to, jak często próbujesz ponownie, rzeczywista liczba przypadków, na które patrzysz, jest skończona (i zwykle raczej niewielka - inaczej nie zawracałbyś sobie głowy tymi rozróżnieniami).
Patrz np. Bengio, Y. i Grandvalet, Y .: Brak bezstronnego szacownika wariancji K-Fold Cross-Validation Journal of Machine Learning Research, 2004, 5, 1089-1105 .
Jednak w niektórych sytuacjach można jednak dokonać oszacowania wariancji: dzięki wielokrotnej walidacji krzyżowej k-krotności można dowiedzieć się, czy niestabilność modelu odgrywa rolę. I ta wariancja związana z niestabilnością jest w rzeczywistości częścią wariancji, którą można zmniejszyć poprzez wielokrotne sprawdzanie poprawności krzyżowej. (Jeśli twoje modele są idealnie stabilne, każde powtórzenie / iteracja weryfikacji krzyżowej będzie miało dokładnie takie same przewidywania dla każdego przypadku. Jednak nadal masz wariancję ze względu na faktyczny wybór / skład zestawu danych). Zatem istnieje granica niższej wariancji powtarzanej k-krotnej walidacji krzyżowej. Robienie coraz większej liczby powtórzeń / iteracji nie ma sensu, ponieważ nie ma to wpływu na wariancję wynikającą z faktu, że ostatecznie przetestowano tylko rzeczywistych przypadków.n
Wariancję spowodowaną faktem, że ostatecznie przetestowano tylko rzeczywistych przypadków, można oszacować dla niektórych szczególnych przypadków, np. Wydajność klasyfikatorów mierzona proporcjami, takimi jak współczynnik trafień, współczynnik błędów, czułość, specyficzność, wartości predykcyjne i tak dalej : podążają za rozkładami dwumianowymi Niestety, oznacza to, że mają ogromną wariancję z prawdziwą wartością wydajności modelu, obserwowany, a rozmiar próbki w mianownik ułamka. Ma to maksimum dlaσ 2 ( P ) = 1n P P NP=0,5σ2)( p^) = 1np ( 1 - p ) p p^ n p = 0,5 . Możesz także obliczyć przedziały ufności, zaczynając od obserwacji. (@Frank Harrell skomentuje, że nie są to właściwe reguły punktacji, więc i tak nie powinieneś ich używać - co jest związane z ogromną wariancją). Jednak IMHO są przydatne do ustalania konserwatywnych granic (istnieją lepsze reguły punktacji, a złe zachowanie tych frakcji stanowi najgorszy limit dla lepszych reguł),
patrz np. C. Beleites, R. Salzer i V. Sergo: Walidacja modeli miękkiej klasyfikacji przy użyciu członkostwa w klasie częściowej: Rozszerzona koncepcja wrażliwości i spółka zastosowana do klasyfikacji tkanek gwiaździaków w Chemom. Intel. Laboratorium. Syst., 122 (2013), 12–22.
To pozwala mi odwrócić twoją argumentację przeciwko wstrzymaniu się :
Niekoniecznie (w porównaniu do k-fold) - ale musisz się zgodzić: mały zestaw wstrzymujący (np. próbki => niski błąd systematyczny (≈ taki sam jak k-fold cv), duża wariancja (> k-krotnie cv, z grubsza o współczynnik k).1k
Zazwyczaj tak. Warto jednak pamiętać, że istnieją ważne rodzaje błędów (takie jak znoszenie), których nie można zmierzyć / wykryć przez sprawdzenie poprawności ponownego próbkowania.
Patrz np. Esbensen, KH i Geladi, P. Zasady prawidłowej walidacji: wykorzystanie i nadużycie ponownego pobierania próbek do walidacji, Journal of Chemometrics, 2010, 24, 168-187
Powiedziałbym „nie”: nie ma znaczenia, w jaki sposób model szkolenia używa swoich próbek treningu , o ile modele zastępcze i model „rzeczywisty” używają ich w tym samym droga. (Patrzę na wewnętrzną walidację krzyżową / oszacowanie hiperparametrów jako część konfiguracji modelu). Sprawy wyglądają inaczej, jeśli porównasz wyuczone modele zastępcze, w tym optymalizację hiperparametrów, z modelem „trenowanym” na ustalonych hiperparametrach. Ale IMHO uogólnia od jabłek do 1 pomarańczy.kk - 1kn
k
To, czy to robi różnicę, zależy od niestabilności modeli (zastępczych), patrz wyżej. W przypadku modeli stabilnych nie ma to znaczenia. Może tak być, czy wykonujesz 1000 czy 100 zewnętrznych powtórzeń / iteracji.
I ten artykuł definitywnie należy do listy lektur na ten temat: Cawley, GC i Talbot, NLC O nadmiernym dopasowywaniu w wyborze modelu i późniejszym odchyleniu wyboru w ocenie wyników, Journal of Machine Learning Research, 2010, 11, 2079-2107
źródło
Kluczowe odniesienie wyjaśniające to:
Zobacz też:
W mojej własnej pracy odkryłem, że dzielenie danych wymaga szkolenia i testowania wielkości próbek zbliżających się do 10 000, aby zapewnić zadowalającą pracę.
źródło
To naprawdę zależy od procesu budowania modelu, ale ten dokument był dla mnie pomocny
http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf
Sednem omawianych tutaj zagadnień jest znaczące liberalne odchylenie (szacowanie wydajności modelu na lepsze, niż będzie w rzeczywistości), które wystąpi, jeśli wybierzesz swój model w oparciu o tę samą rzecz, której używasz do oszacowania jego wydajności. Tak więc, jeśli wybierasz model z zestawu możliwych modeli, patrząc na jego błąd weryfikacji krzyżowej, nie powinieneś używać błędu weryfikacji krzyżowej (ani żadnej innej wewnętrznej metody szacowania) do oszacowania wydajności modelu.
Innym przydatnym zasobem jest
/stats//a/27751/26589
Ten post zawiera wyraźny przykład tego, jak wybranie funkcji, gdy wszystkie dane są „widoczne”, doprowadzi do liberalnego odchylenia w wydajności modelu (mówiąc, że twój model będzie działał lepiej niż w rzeczywistości).
Jeśli chciałbyś, abym przedstawił przykład bardziej konkretny dla tego, co robisz, być może mógłbyś podać ogólny opis typów modeli, które budujesz (ile masz danych, ile funkcji wybierasz, rzeczywisty model itp.).
źródło
Myślę, że twoje zrozumienie jest prawidłowe, estymator strat uzyskany przy użyciu pojedynczego zestawu testów podtrzymujących ma zwykle dużą wariancję. Wykonując coś w rodzaju krzyżowej weryfikacji K-folds, uzyskujesz dokładniejsze wyobrażenie o stracie, a także poczucie rozkładu straty.
Zwykle występuje kompromis, im więcej CV składa się, tym lepsza jest twoja ocena, ale potrzeba więcej czasu na obliczenia.
źródło