Dlaczego dzielenie danych na zestaw szkoleniowy i testowy nie wystarczy


18

Wiem, że aby uzyskać dostęp do wyników klasyfikatora, muszę podzielić dane na zestaw szkoleniowy / testowy. Ale czytając to :

Podczas oceny różnych ustawień („hiperparametrów”) dla estymatorów, takich jak ustawienie C, które należy ręcznie ustawić dla SVM, nadal istnieje ryzyko przeregulowania zestawu testowego, ponieważ parametry można modyfikować, dopóki estymator nie wykona optymalnie. W ten sposób wiedza o zestawie testowym może „wyciekać” do modelu, a mierniki oceny nie będą już raportować wydajności uogólnienia. Aby rozwiązać ten problem, jeszcze jedna część zestawu danych może zostać przeprowadzona jako tak zwany „zestaw walidacyjny”: szkolenie przebiega na zestawie szkoleniowym, po którym następuje ocena na zestawie sprawdzania poprawności i kiedy eksperyment wydaje się udany , końcową ocenę można przeprowadzić na zestawie testowym.

Widzę, że wprowadzono inny (trzeci) zestaw sprawdzania poprawności, co jest uzasadnione nadmiernym dopasowaniem zestawu testowego podczas strojenia hiperparametrów.

Problem polega na tym, że nie mogę zrozumieć, w jaki sposób może pojawić się to przeregulowanie, a zatem nie mogę zrozumieć uzasadnienia trzeciego zestawu.


2
Myślę, że wiele zamieszania pochodzi z 2 lub 3 raczej różnych znaczeń terminu „walidacja”. Walidacja w walidacji krzyżowej to w większości tylko nazwa procedury podziału bez wymiany. „Zestaw sprawdzania poprawności” w cytowanym tekście byłby lepiej rozumiany jako „strojenie” lub „zestaw optymalizacyjny”. Natomiast „walidacja”, np. W inżynierii lub chemii analitycznej, oznacza udowodnienie, że dana metoda końcowa jest odpowiednia do swojego celu - co jest wykonywane (symulowane, aproksymowane) za pomocą zestawu „testowego”. (Dla mnie testowanie jest znacznie mniej ostateczne niż walidacja ...)
cbeleites obsługuje Monikę

Odpowiedzi:


17

Mimo że trenujesz modele wyłącznie na podstawie danych treningowych, optymalizujesz hiperparametry (np. dla SVM) w oparciu o zestaw testowy. W związku z tym Twoje oszacowanie wydajności może być optymistyczne, ponieważ zasadniczo raportujesz najlepsze wyniki. Jak już wspomnieli niektórzy na tej stronie, optymalizacja jest źródłem wszelkiego zła w statystykach .C

Szacunki wydajności należy zawsze przeprowadzać na całkowicie niezależnych danych. Jeśli optymalizujesz jakiś aspekt na podstawie danych testowych, to dane testowe nie są już niezależne i potrzebny byłby zestaw sprawdzania poprawności.

Innym sposobem na poradzenie sobie z tym jest zagnieżdżona walidacja krzyżowa , która składa się z dwóch procedur walidacji krzyżowej owiniętych wokół siebie. Wewnętrzna walidacja krzyżowa służy do dostrajania (w celu oszacowania wydajności danego zestawu hiperparametrów, która jest zoptymalizowana), a zewnętrzna walidacja krzyżowa szacuje wydajność uogólnienia całego potoku uczenia maszynowego (tj. Optymalizacja hiperparametrów + szkolenie ostatecznego modelu ).


Mogę się mylić, ale zestaw testowy służy nie tylko do dostrajania hiperparametrów, ale także do porównywania różnych rodzajów technik, takich jak np. Wydajność SVM w porównaniu z LDA lub losowym lasem, jak wskazałem w mojej odpowiedzi.

@fcoppens Tak, zdecydowanie. Nie wspomniałem o tym wyraźnie, ale to z pewnością pasuje również do tego kroku.
Marc Claesen

1
bardziej ogólnie, dostrajanie lub optymalizacja jest tutaj procesem opartym na danych (przez wewnętrzną weryfikację krzyżową).
cbeleites wspiera Monikę

@MarcClaesen Mam pytanie. Jeśli mam 2 różne wartości hiperparametru i pasuję do tych 2 modeli w zestawie szkoleniowym, to zastosuję je w zestawie testowym, a następnie, jeśli uzyskany w zestawie testowym poziom błędu jest bezstronnym estymatorem prawdziwego wskaźnika błędu prognozy te 2 modele? Ponieważ jeśli dasz mi teraz inny niezależny zestaw danych testowych, ten nowy zestaw danych testowych jest zasadniczo taki sam jak poprzedni zestaw testowy. Więc jeśli model ma lepszy wynik testu, powinien również przewyższyć drugi model w nowym zestawie danych testowych. Dlaczego potrzebujemy zestawu walidacyjnego?
KevinKim

„Jeśli optymalizujesz jakiś aspekt na podstawie danych testowych, to dane testowe nie są już niezależne i potrzebujesz zestawu sprawdzania poprawności”. to wnikliwe
Sudip Bhandari

11

Myślę, że najłatwiej jest myśleć o tym w ten sposób. Są dwie rzeczy, do których służy walidacja krzyżowa, dostrajanie hiper parametrów modelu / algorytmu i ocena wydajności modelu / algorytmu.

Rozważ pierwsze użycie jako część rzeczywistego szkolenia algorytmu. Na przykład walidacja krzyżowa w celu ustalenia siły regularyzacji dla GLM jest częścią ustalania końcowego wyniku GLM. Takie użycie jest zwykle nazywane wewnętrzną weryfikacją krzyżową . Ponieważ parametry (hiper) są wciąż ustawiane, utrata zestawu strojenia nie jest wielką miarą rzeczywistej wydajności algorytmów.

Drugie zastosowanie weryfikacji krzyżowej polega na wykorzystaniu danych, które były trzymane poza całym procesem, w którym powstał model, w celu przetestowania jego mocy predykcyjnej. Ten proces nazywa się zewnętrzną weryfikacją krzyżową .

Należy zauważyć, że wewnętrzna walidacja mogła być częścią procesu, w wyniku którego powstał model, dlatego w wielu przypadkach konieczna jest zarówno wewnętrzna, jak i zewnętrzna walidacja krzyżowa.


Osobiście nie użyłbym wyrażenia „zewnętrzna krzyżowa walidacja”, ponieważ widziałbym krzyżową walidację jako powtarzające się oddzielanie różnych zestawów walidacyjnych od zestawu szkoleniowego do celów wyboru modelu i strojenia. Nie można w sposób znaczący powtarzać tego wielokrotnie z zestawem testowym, ponieważ jest to jednorazowy serwer proxy dla przyszłych, jeszcze nieznanych danych, używanych do oceny wydajności ostatecznego modelu.
Henry

3
Henry, nie sądzę, że rozumiesz zewnętrzną walidację krzyżową. Możesz „zrobić to wielokrotnie z zestawem testowym”, wielokrotnie przytrzymując część swoich pełnych danych do celów testowych, wykonując jednocześnie całą procedurę szkolenia dla pozostałych (która może obejmować wewnętrzną weryfikację krzyżową). Zewnętrzna walidacja krzyżowa jest zwykle wykonywana w formie foldów i pozwala, aby wszystkie oryginalne dane w pewnym momencie znalazły się w zestawie testowym.
jlimahaverford

αα

2

Podczas budowy modelu trenujesz swoje modele na próbce treningowej . Pamiętaj, że możesz trenować różne modele (tj. Różne techniki, takie jak SVM, LDA, Random Forest, ... lub ta sama technika z różnymi wartościami parametrów strojenia lub mieszaniną).

Spośród wszystkich różnych modeli, które trenowałeś, musisz wybrać jeden, dlatego używasz próbki sprawdzającej, aby znaleźć ten z najmniejszym błędem w próbce testowej.

W przypadku tego „ostatecznego” modelu nadal musimy oszacować błąd, dlatego używamy próbki testowej .


1
Odwróciłbym sformułowanie w akapitach drugim i trzecim: użyłbym zestawu walidacyjnego, aby znaleźć najlepszy model i dostroić jego hiperparametry (robiąc to z kilkoma zestawami walidacyjnymi, których podział zestaw szkoleniowy dokonuje tej walidacji krzyżowej ) i, gdy model ma został sfinalizowany, a następnie zastosuj go do zestawu testowego, aby zobaczyć przykład wydajności modelu poza próbą.
Henry

@Henry: OK Henry, myślę, że etykiety faz są mniej ważne niż ich sekwencja / treść, ale twoja uwaga ma dla mnie sens, będę edytować tekst, dzięki (+1),

1

Walidacja krzyżowa nie rozwiązuje całkowicie problemu nadmiernego dopasowania przy wyborze modelu, po prostu go zmniejsza. Błąd weryfikacji krzyżowej zależy od używanego zestawu danych. Im mniejszy zestaw danych, tym wyższy byłby błąd weryfikacji krzyżowej.

Ponadto, jeśli masz wysoki stopień swobody w wyborze modelu, istnieje ryzyko, że model będzie działał słabo, ponieważ kryterium walidacji krzyżowej zostanie przeregulowane.

Tak więc, gdy dane są dzielone na 2 zestawy, czyli zestawy szkoleniowe i testowe, podział odbywa się statycznie. Istnieje więc szansa na przeregulowanie zestawu treningowego. Jednak zestawy weryfikacji krzyżowej są tworzone za pomocą różnych metod , takich jak walidacja krzyżowa k-krotna, weryfikacja krzyżowa-pominięcia-jeden (LOOCV) itp., Co pomaga zapewnić, że nagroda za dokładne dopasowanie podziału 2-kompletowego zostanie wyeliminowana i w ten sposób zmniejsza się szansa na nadmierne dopasowanie.

Oto niektóre zasoby, które pomogą Ci lepiej zrozumieć.

Tak więc krzyżowa weryfikacja pomogłaby Ci, gdy masz większy zestaw danych niż mniejszy.

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.