Kiedy zagnieżdżona weryfikacja krzyżowa jest naprawdę potrzebna i może mieć praktyczny wpływ?


36

Korzystając z walidacji krzyżowej w celu dokonania wyboru modelu (np. Strojenia hiperparametrów) i oceny wydajności najlepszego modelu, należy zastosować zagnieżdżoną walidację krzyżową . Pętla zewnętrzna służy do oceny wydajności modelu, a pętla wewnętrzna służy do wyboru najlepszego modelu; model jest wybierany na każdym zewnętrznym zestawie treningowym (przy użyciu wewnętrznej pętli CV), a jego wydajność jest mierzona na odpowiednim zewnętrznym zestawie testowym.

Zostało to omówione i wyjaśnione w wielu wątkach (np. Tutaj Szkolenie z pełnym zestawem danych po weryfikacji krzyżowej ? , patrz odpowiedź @DikranMarsupial) i jest dla mnie całkowicie jasne. Wykonanie tylko prostej (nie zagnieżdżonej) weryfikacji krzyżowej zarówno dla wyboru modelu, jak i oceny wydajności może dać pozytywnie tendencyjne oszacowanie wydajności. @DikranMarsupial ma artykuł z 2010 r. Na ten właśnie temat ( O nadmiernym dopasowaniu przy wyborze modelu i późniejszym odchyleniu przy ocenie w ocenie wydajności ), zatytułowany rozdział 4.3. Czy nadmierne dopasowanie przy wyborze modelu jest naprawdę poważnym problemem w praktyce? - a artykuł pokazuje, że odpowiedź brzmi „tak”.

Biorąc to wszystko pod uwagę, pracuję teraz z wielowymiarową regresją wielu grzbietów i nie widzę żadnej różnicy między prostym a zagnieżdżonym CV, więc zagnieżdżone CV w tym konkretnym przypadku wygląda jak niepotrzebne obciążenie obliczeniowe. Moje pytanie brzmi: w jakich warunkach proste CV zapewni zauważalne uprzedzenie, którego unika się w przypadku zagnieżdżonego CV? Kiedy zagnieżdżone CV ma znaczenie w praktyce, a kiedy nie ma tak dużego znaczenia? Czy są jakieś praktyczne zasady?

Oto ilustracja z wykorzystaniem mojego rzeczywistego zestawu danych. Oś pozioma to dla regresji kalenicy. Oś pionowa jest błędem walidacji krzyżowej. Niebieska linia odpowiada prostej (nie zagnieżdżonej) walidacji krzyżowej z 50 losowymi podziałami treningu / testu 90:10. Czerwona linia odpowiada zagnieżdżonej walidacji krzyżowej z 50 losowymi podziałami treningu / testu 90:10, gdzie jest wybierana z wewnętrzną pętlą weryfikacji krzyżowej (również 50 losowych podziałów 90:10). Linie to średnie ponad 50 losowych podziałów, zacienienia pokazują odchylenie standardowe .log(λ)λ±1

Prosta vs zagnieżdżona walidacja krzyżowa

Czerwona linia jest płaska, ponieważ jest wybierana w pętli wewnętrznej, a wydajność pętli zewnętrznej nie jest mierzona w całym zakresie . Gdyby prosta walidacja krzyżowa była stronnicza, to minimum niebieskiej krzywej byłoby poniżej czerwonej linii. Ale tak nie jest.λλ

Aktualizacja

Tak naprawdę jest :-) Różnica jest niewielka. Oto powiększenie:

Prosta vs zagnieżdżona walidacja krzyżowa, powiększanie

Jedną potencjalnie mylącą rzeczą jest to, że moje słupki błędów (cieniowania) są ogromne, ale zagnieżdżone i proste CV można (i były) prowadzić z tymi samymi podziałami treningu / testu. Tak więc porównanie między nimi jest sparowane , jak wskazał @Dikran w komentarzach. Weźmy więc różnicę między zagnieżdżonym błędem CV a prostym błędem CV (dla który odpowiada minimum na mojej niebieskiej krzywej); ponownie, przy każdym zakładaniu, te dwa błędy są obliczane na tym samym zestawie testowym. Wykreślając tę ​​różnicę w podziałach treningów / testów, otrzymuję:λ=0,00250

Prosta vs zagnieżdżona walidacja krzyżowa, różnice

Zera odpowiadają podziałom, w których wewnętrzna pętla CV również dawała (zdarza się to prawie w połowie przypadków). Różnica jest zazwyczaj dodatnia, tzn. W zagnieżdżonym CV występuje nieco wyższy błąd. Innymi słowy, proste CV wykazuje drobne, ale optymistyczne nastawienie.λ=0,002

(Całą procedurę przeprowadziłem kilka razy i zdarza się to za każdym razem.)

Moje pytanie brzmi: w jakich warunkach możemy oczekiwać, że to uprzedzenie będzie niewielkie, a pod jakimi warunkami nie powinniśmy?


Nie jestem pewien, czy rozumiem diagram, czy mógłbyś wygenerować wykres rozproszenia pokazujący szacowany błąd z zagnieżdżonej i nie zagnieżdżonej walidacji krzyżowej na każdej osi (zakładając, że 50 podziałów treningu było za każdym razem takie samo)? Jak duży jest zestaw danych, którego używasz?
Dikran Marsupial

1
Wygenerowałem wykres rozproszenia, ale wszystkie punkty są bardzo zbliżone do przekątnej i trudno jest dostrzec jakiekolwiek odchylenie od niej. Zamiast tego odjąłem prosty błąd CV (dla optymalnej lambda) od zagnieżdżonego błędu CV i wykreśliłem go we wszystkich podziałach testu treningowego. Wydaje się, że jest to bardzo małe, ale zauważalne uprzedzenie! Dokonałem aktualizacji. Daj mi znać, jeśli liczby (lub moje wyjaśnienia) są mylące, chciałbym, aby ten post był jasny.
ameba mówi Przywróć Monikę

W pierwszym akapicie masz wybrany model na każdym zestawie treningu zewnętrznego ; powinien on być może inner- zamiast?
Richard Hardy,

@RichardHardy Nie. Ale widzę, że to zdanie nie zostało sformułowane bardzo jasno. Model jest „wybierany” na każdym zestawie do treningu zewnętrznego. Różne modele (np. Modele z różnymi lambdami) pasują do każdego zestawu do treningu wewnętrznego, testowane na zestawach do testu wewnętrznego, a następnie wybierany jest jeden z modeli na podstawie całego zestawu do treningu zewnętrznego. Jego wydajność jest następnie oceniana przy użyciu zewnętrznego zestawu testowego. Czy jest sens?
ameba mówi Przywróć Monikę

Odpowiedzi:


13

Sugerowałbym, że odchylenie zależy od wariancji kryterium wyboru modelu, im wyższa wariancja, tym większe może być odchylenie. Wariancja kryterium wyboru modelu ma dwa główne źródła, rozmiar zestawu danych, na podstawie którego jest on oceniany (więc jeśli masz mały zestaw danych, tym większe może być odchylenie) i na stabilność modelu statystycznego (jeśli parametry modelu są dobrze oszacowane na podstawie dostępnych danych treningowych, model ma mniejszą elastyczność, aby przesadzić z kryterium wyboru modelu przez dostrojenie hiperparametrów). Innym istotnym czynnikiem jest liczba możliwych do wyboru modeli i / lub dostrajanie hiper-parametrów.

W moich badaniach patrzę na potężne modele nieliniowe i stosunkowo małe zestawy danych (powszechnie stosowane w badaniach uczenia maszynowego), a oba te czynniki oznaczają, że zagnieżdżona walidacja krzyżowa jest absolutnie niezbędna. Jeśli zwiększysz liczbę parametrów (być może posiadając jądro z parametrem skalowania dla każdego atrybutu), nadmierne dopasowanie może być „katastroficzne”. Jeśli używasz modeli liniowych z tylko jednym parametrem regularyzacji i stosunkowo dużą liczbą przypadków (w stosunku do liczby parametrów), różnica prawdopodobnie będzie znacznie mniejsza.

Powinienem dodać, że zalecałbym zawsze stosowanie zagnieżdżonej weryfikacji krzyżowej, pod warunkiem, że jest to wykonalne obliczeniowo, ponieważ eliminuje potencjalne źródło stronniczości, dzięki czemu my (i recenzenci; o) nie musimy się martwić, czy to jest nieistotne czy nie.


2
Jeśli wykorzystasz wszystkie dane, to czy nie jest to skuteczne wykreślanie błędu zestawu treningowego? Dość często używam modeli klasyfikacji, w których najlepsze modele mają zerowy błąd zestawu treningowego, ale niezerowy błąd generalizacji, mimo że parametr regularyzacji jest starannie wybrany.
Dikran Marsupial

1
Kilka tysięcy schematów treningowych lub mniej. Jakiego modelu używasz? W miarę powiększania się zestawu danych problemy statystyczne maleją, a problemy obliczeniowe rosną, co do zasady. K-krotna walidacja krzyżowa jest tylko k razy wolniejsza niż dopasowanie do modelu podstawowego (w tym dostrajanie hiperparametrów), więc rzadko przechodzi od wykonalności do niewykonalności. K-krotna walidacja krzyżowa jest również łatwa do sparaliżowania, co zwykle robię.
Dikran Marsupial

1
Po prostu daje obiektywną ocenę wydajności. Zasadniczo zagnieżdżone CV szacuje wydajność metody dopasowania modelu, w tym wybór modelu poprzez walidację krzyżową. Aby uzyskać model operacyjny, zwykle po prostu powtarzamy metodę przy użyciu całego zestawu danych, co daje te same wybory modelu co „płaska” procedura walidacji krzyżowej.
Dikran Marsupial

1
Natknąłem się również na kwestię zagnieżdżonego CV. Korzystanie z bezstronnego zagnieżdżonego CV obejmuje dopasowanie modeli o mniejszych danych. W przypadku 10-krotnego CV jest to 81% w zagnieżdżonym CV w porównaniu do 90% w nie zagnieżdżonym CV. Również test fold staje się 9% vs 10% w przypadku zagnieżdżenia. Czy to generuje dodatkową wariancję w ocenie modelu? Szczególnie w przypadku małych zestawów danych, takich jak 350 próbek w tym poście. Czy to „wada” korzystania z zagnieżdżonego CV? Jeśli tak, to jak powinniśmy zdecydować, czy użyć zagnieżdżonego CV w porównaniu z rozmiarem zbioru danych? Naprawdę doceniam opinię eksperta takiego jak Ty na ten temat. Czy jest jakiś papier związany z tym problemem? @Dikran Marsupial
zesla

2
@zesla Tak, rzeczywiście tak jest w przypadku mniejszej ilości danych do wewnętrznej weryfikacji krzyżowej, co zwiększy jej wariancję, jednak ostateczny model jest budowany przy użyciu całego zestawu danych (w tym estymacji hiperparametrów). Zawsze występuje kompromis między stronniczością a wariancją w ocenie wydajności. Najważniejsze jest zastosowanie zagnieżdżonej weryfikacji krzyżowej, jeśli zestaw danych jest mały, ponieważ nadmierne dopasowanie w wyborze modelu i odchylenie jest większym problemem. W praktycznych zastosowaniach, w których istnieje niewiele hiper-parametrów, różnica może mieć niewielkie znaczenie praktyczne arxiv.org/abs/1809.09446 .
Dikran Torbacz
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.