Walidacja wewnętrzna i zewnętrzna oraz wybór modelu

26

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?

Amelio Vazquez-Reina
źródło
1
Poprawiłem twój tytuł, aby był bardziej szczegółowy w stosunku do tego, co gromadzę, co chcesz wiedzieć. Myślę, że bardziej prawdopodobne jest uzyskanie potrzebnych informacji w ten sposób. Jeśli się nie zgadzasz, możesz to zmienić. Zauważ też, że ten wątek automatycznie stał się CW ze względu na dużą liczbę edycji. Jeśli nie chcesz, aby był CW, oflaguj go dla uwagi moderatora; powinno być możliwe odwrócenie tego (tak myślę).
gung - Przywróć Monikę
1
Dzięki @gung. Moim jedynym zmartwieniem jest to, że niektórzy ludzie mogą pomylić trzymanie się z 2-krotnym CV , z tym, myślę, że wewnętrzne i zewnętrzne CV, jak w Steyerberg03, jest jaśniejsze
Amelio Vazquez-Reina

Odpowiedzi:

20

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.

  • Jak już wiesz , zagnieżdżanie jest dobre, jeśli chcesz użyć wewnętrznego cv do wyboru modelu.
  • powtórzone: IMHO zawsze powinieneś powtarzać k-fold cv [patrz poniżej].

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 ) = 1nP P NP=0,5σ2(p^)=1np(1p)pp^np=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ę :

  • Sam ponowny próbkowanie (koniecznie) nie daje też dobrego oszacowania wariancji,
  • OTOH, jeśli potrafisz uzasadnić wariancję wielkości próby skończonej testu oszacowania krzyżowego, jest to również możliwe.

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.

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

Wydaje mi się, że raportowanie zestawu testów podtrzymujących jest złą praktyką, ponieważ analiza próbki CV jest bardziej pouczająca.

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

ale wydaje mi się, że dla tej samej liczby wytrenowanych modeli całkowitych (całkowita liczba fałdów) powtórzenie K-fold dałoby estymatory, które są mniej stronnicze i bardziej dokładne niż zagnieżdżone K-fold. 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)

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.kk1kn
k

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)

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

cbeleites obsługuje Monikę
źródło
6

Kluczowe odniesienie wyjaśniające to:

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

Zobacz też:

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

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ę.

Frank Harrell
źródło
Frank - to świetne zasoby. Zastanawiam się, jak ta informacja odnosi się do tego, co @Dan podał w swojej odpowiedzi. Być może źle to interpretuję, ale wygląda na to, że społeczność jest podzielona w tej kwestii.
Amelio Vazquez-Reina
Nie miałem czasu na przeczytanie pierwszego, ale co do drugiego rzuciłem szybkie spojrzenie i wydaje się, że odzwierciedla to dokładnie to, co napisały moje artykuły. Przyjrzyj się bliżej sekcji „Analiza statystyczna”, a zobaczysz, że opisują one ten sam proces wyboru funkcji, który Dikran opisuje w poście, który zamieściłem powyżej. Zgaduję, że badani ludzie nie zrobili tego w ten sposób i dlatego stwierdzili, że „Z powodu nieodpowiedniej walidacji nasze wybrane badania opublikowały zbyt optymistyczne wyniki w porównaniu z wynikami naszych własnych analiz”. Nie sądzę, żeby istniała jakaś niezgodność.
Dan L
4

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

Dan L.
źródło
Dziękuję Dan. To wszystko jest interesujące. Dla uproszczenia możemy założyć, że próbujemy oszacować parametry jądra SVM (np. Jądro RBF) do klasyfikacji binarnej (<~ 10 parametrów) i że pracujemy ze 100 próbkami (np. 20 dodatnimi) z dużej populacji.
Amelio Vazquez-Reina
Kilka szybkich pytań. 1) Czy budując maszynę SVM, pozwalasz sobie wybrać podzbiór 10 parametrów, czy zawsze używasz wszystkich tych, które otrzymałeś? 2) Czy bierzesz pod uwagę różne jądra lub modele (logistyka, losowy las itp.)? 3) Z jakiego oprogramowania / pakietu korzystasz? Wbudowane implementacje weryfikacji krzyżowej są różne i chciałbym wiedzieć, z którego będziesz korzystać.
Dan L
Dziękuję @ Dan - szukam w siatce modeli i parametrów (tzn. Jądra i parametry różnią się w wyszukiwaniu siatki). Dla każdego eksperymentu w wyszukiwaniu siatki robię CV (powtarzane krzyżowe sprawdzanie poprawności K) Używam scikit-learn.
Amelio Vazquez-Reina,
1
Dzięki @Dan. Wydaje mi się, że moje jedyne pytanie dotyczące walidacji zagnieżdżonej polega na tym, jak wybrać model (ponieważ otrzymuję inny model w każdej zakładce zewnętrznej pętli). Wybieranie modelu, który ma najwyższy wynik w tej zewnętrznej pętli, nie wydaje mi się rozsądne, ponieważ model wygrywający w każdej zakładce jest mierzony w stosunku do innej części zestawu danych.
Amelio Vazquez-Reina
1
Powiedz, że masz 3 zewnętrzne fałdy. Oznacza to, że uruchamiasz cały proces budowania modelu 3 razy, co daje trzy różne modele. W końcu nie używasz żadnego z tych modeli - aby uzyskać ostateczny model, uruchamiasz cały proces budowania modelu na wszystkich swoich danych (z wyjątkiem ewentualnie niezależnego zestawu ocen). Wygląda na to, że doprowadziłoby to do nadmiernego dopasowania, ale jeśli strategia budowania modelu jest nieodpowiednia, powinna również pasować do zewnętrznej weryfikacji krzyżowej, prowadząc do odpowiednio wyższej oceny błędu.
Dan L
2

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.

Max S.
źródło
Dzięki. Do PO dodałem fragment tła, aby wyjaśnić moje pytanie.
Amelio Vazquez-Reina