Jak pasuje k-krotnie walidacja krzyżowa w kontekście zestawów szkoleniowych / walidacyjnych / testowych?

14

Moje główne pytanie dotyczy prób zrozumienia, w jaki sposób k-krotna walidacja krzyżowa pasuje w kontekście posiadania zestawów szkoleniowych / walidacyjnych / testowych (jeśli w ogóle pasuje w takim kontekście).

Zwykle ludzie mówią o podziale danych na zestaw treningowy, walidacyjny i testowy - powiedzmy w stosunku 60/20/20 na kurs Andrew Ng - przy czym zestaw walidacyjny jest wykorzystywany do identyfikacji optymalnych parametrów treningu modelowego.

Jeśli jednak ktoś chciałby zastosować k-krotną weryfikację krzyżową w nadziei na uzyskanie bardziej reprezentatywnej miary dokładności, gdy ilość danych jest względnie mała, to co robi k-krotna weryfikacja krzyżowa pociąga za sobą dokładnie w tym podziale 60/20/20 scenariusz?

Czy na przykład oznacza to, że faktycznie połączylibyśmy zestawy szkoleniowe i testowe (80% danych) i przeprowadziliśmy na nich k-krotną weryfikację krzyżową, aby uzyskać naszą miarę dokładności (skutecznie odrzucając posiadając wyraźny „zestaw testowy”? Jeśli tak, jakiego wyszkolonego modelu używamy a) w produkcji, i b) do wykorzystania w stosunku do zestawu walidacyjnego i identyfikacji optymalnych parametrów szkolenia? Na przykład jedną z możliwych odpowiedzi dla aib jest być może model najlepiej pasujący.

blu
źródło

Odpowiedzi:

12

Walidacja krzyżowa zwykle pomaga uniknąć konieczności korzystania z zestawu walidacji.

Podstawowa idea z zestawami danych szkoleniowych / walidacyjnych / testowych jest następująca:

  1. Trening: Wypróbowujesz różne typy modeli z różnymi wyborami hiperparametrów na danych treningowych (np. Model liniowy z innym wyborem cech, sieć neuronowa z różnymi wyborami warstw, losowy las z różnymi wartościami mtry).

  2. Walidacja: Porównujesz wydajność modeli w kroku 1 na podstawie zestawu walidacji i wybierasz zwycięzcę. Pomaga to uniknąć błędnych decyzji podejmowanych przez przeładowanie zestawu danych treningowych.

  3. Test: Wypróbuj model zwycięzcy na danych testowych, aby przekonać się, jak dobrze działa w rzeczywistości. To rozwiązuje problem nadmiernego dopasowania wprowadzonego w kroku 2. W tym miejscu nie podejmowałbyś żadnej dalszej decyzji. To tylko zwykła informacja.

Teraz, w przypadku zastąpienia kroku weryfikacji przez walidację krzyżową, atak na dane odbywa się prawie identycznie, ale masz tylko szkolenie i zestaw danych testowych. Nie ma potrzeby używania zestawu danych do sprawdzania poprawności.

  1. Szkolenie: patrz wyżej.

  2. Walidacja: Przeprowadzasz walidację krzyżową danych treningowych, aby wybrać najlepszy model kroku 1 w odniesieniu do wydajności walidacji krzyżowej (tutaj oryginalne dane treningowe są wielokrotnie dzielone na tymczasowy zestaw treningowy i walidacyjny). Modele obliczone w ramach walidacji krzyżowej są używane tylko do wyboru najlepszego modelu kroku 1, które wszystkie są obliczane na pełnym zestawie szkoleniowym.

  3. Test: patrz wyżej.

Michael M.
źródło
1
Dzięki! Aby potwierdzić, w kontekście CV, można mieć 80% podziału pociągu w porównaniu do 20% podziału testu. Następnie można zbudować model na tych 80% danych i przetestować względem 20%, aby uzyskać dokładność. Aby wypróbować różne warianty modeli, można wykonać 10-krotne CV w zbiorze danych szkoleniowych (80% danych) - skutecznie trenując 8% wszystkich danych i testując względem 72% wszystkich danych w każdym folderze. Na podstawie wyników CV można zidentyfikować optymalne wartości hiperparametrów i użyć ich do zbudowania nowego modelu wyuczonego na wszystkich danych szkoleniowych (80% pełnego zestawu danych) i przetestować na pozostałym 20% zestawie danych testowych. Poprawny?
blu
3
Tak, z wyjątkiem tego, że w każdym przebiegu CV zużyłbyś 72% na szkolenie i 8% na sprawdzenie ;-)
Michael M
Niesamowita odpowiedź @MichaelM. Czytałem o zagnieżdżonej walidacji krzyżowej (NCV) i trudno mi zdecydować, czy powinienem jej użyć, czy po prostu zrobić to, co nakreśliłeś dla CV. I właśnie to rozumiem, NCV zostanie zastosowane do kroku 3. Zamiast uzyskać 1 wynik zwycięzcy, otrzymasz K wyniki zwycięzcy (pomnożenie łącznej liczby przebiegów przez K, krok 1-2 powtórzony K razy z różnicą 80% danych pociągu), które możesz następnie uśrednić. Więc pytania: 1) czy moje rozumowanie jest prawidłowe? 2) Czy zaleca się stosowanie NCV?
Aziz Javed
Masz rację. Zagnieżdżone CV pomoże uzyskać bardziej wiarygodne szacunki niż „proste” podejście opisane powyżej. Jeśli czas na to pozwala, jest to zdecydowanie opcja. Czy wiesz, na którym zestawie danych obliczany jest ostateczny model w zagnieżdżonym CV? Na pełny?
Michael M
3

KWalidacja krzyżowa fold jest strategią (ponownego) próbkowania, jak wiele innych.

Podział na szkolenie / walidację / testowanie jest również strategią pobierania próbek.

Możesz zastąpić szkolenie / walidację inną strategią pobierania próbek. Następnie wykonasz fold CV na 80% danych i przetestujesz na pozostałych 20%.K

Możesz także zastosować go do części testowej (tak nazywają zagnieżdżone sprawdzanie poprawności krzyżowej), gdzie fałdy są używane do treningu / sprawdzania poprawności, a pozostała część do testowania, a następnie iteruje się po fałdach.K1

Firebug
źródło