Właśnie skończyłem „Wprowadzenie do uczenia statystycznego” . Zastanawiałem się, czy zastosowanie weryfikacji krzyżowej w celu znalezienia najlepszych parametrów dostrajania różnych technik uczenia maszynowego różni się od szpiegowania danych?
Wielokrotnie sprawdzamy, która wartość parametru strojenia daje najlepszy wynik predykcyjny w zestawie testowym. Co się stanie, jeśli parametr strojenia, do którego doszliśmy, przypadkowo pasuje do tego konkretnego zestawu testowego i nie będzie działał dobrze na niektórych przyszłych zestawach testowych?
Proszę wybaczyć moje nowatorskie rozumienie uczenia maszynowego i jestem chętny do edukacji.
EDYCJA: Zobacz odpowiedź @AdamO na definicję „szpiegowania danych”. Użyłem tego terminu bardzo niedokładnie w swoim pytaniu.
źródło
Odpowiedzi:
Twoje obawy są słuszne, a na ten temat jest mnóstwo literatury, np
Problem polega na tym, że dostrajanie hiperparametrów z weryfikacją krzyżową jest procesem optymalizacji opartym na danych i nadal będzie miał tendencję do nadmiernego dopasowywania się do zestawu danych (mniej niż dostrajanie przez błąd ponownego podstawienia, ale nadal). Próba użycia wyników weryfikacji krzyżowej dostrajania jako „niezależnej” miary wydajności jest w pewnym sensie jak zjedzenie tortu (= strojenie) i utrzymanie (= zmierzenie wydajności modelu końcowego).
Nie oznacza to, że nie należy używać weryfikacji krzyżowej do strojenia hiperparametrów. Oznacza to, że można go używać tylko do jednego celu. Zoptymalizuj lub zmierz wydajność modelu do celów sprawdzania poprawności.
Rozwiązaniem jest to, że musisz wykonać niezależną weryfikację w celu pomiaru jakości modelu uzyskanego za pomocą dostrojonych hiperparametrów. Nazywa się to zagnieżdżeniem lub podwójnym sprawdzaniem poprawności. Znajdziesz tutaj wiele pytań i odpowiedzi na te tematy
Pod względem koncepcyjnym lubię powiedzieć, że trening obejmuje wszelkiego rodzaju fantazyjne kroki, aby dopasować nie tylko „zwykłe” parametry modelu, ale także by dopasować (autostrojenie) hiperparametrów. Oparta na danych optymalizacja λ jest wyraźnie częścią szkolenia modelowego.
Zasadniczo można również powiedzieć, że szkolenie modelowe jest wszystkim, co należy zrobić, zanim będzie dostępna gotowa do użycia końcowa funkcja czarnej skrzynki, która jest w stanie wygenerować prognozy dla nowych przypadków.
PS: Uważam, że terminologia testowania kontra walidacji jest bardzo myląca, ponieważ w mojej dziedzinie „walidacja” oznacza udowodnienie, że ostateczny model jest odpowiedni do celu, a zatem to, co inni nazywają testowaniem, a nie walidacją. Wolę nazywać wewnętrzny zestaw testowy „zestawem testowym dostrajania” i zewnętrznym „zestawem testowym do ostatecznej weryfikacji” lub podobnym.
Aktualizacja:
Zazwyczaj nie dzieje się tak po prostu: istnieją typowe sytuacje, które mogą spowodować taką awarię. I wszystkie takie sytuacje, o których jestem świadomy, to sytuacje zbyt trudne. Należy pamiętać, że chociaż regularyzacja pomaga zmniejszyć niezbędną liczbę przypadków szkoleniowych, optymalizacja oparta na danych wymaga dużych ilości danych.
Moje rekomendacje:
Zazwyczaj (powinieneś) mieć już surowe oczekiwania, np. Jaka wydajność powinna być osiągalna, jaką wydajność uważasz za podejrzanie ładną. Lub podaj specyfikację, jaką wydajność musisz osiągnąć i wydajność bazową. Na podstawie tego i liczby dostępnych przypadków treningowych (dla schematu podziału, na który zdecydowałeś się), obliczyć oczekiwaną niepewność dla testów wewnętrznych (tuningowych). Jeśli ta niepewność wskazuje, że nie byłoby możliwe uzyskanie znaczących porównań, nie rób optymalizacji opartej na danych.
Powinieneś sprawdzić, jak stabilne są zarówno uzyskane prognozy dla wybranego λ, jak i optymalne λ znalezione w procedurze automatycznego dostrajania. Jeśli λ nie jest wystarczająco stabilny w odniesieniu do różnych podziałów danych, optymalizacja nie działa.
Jeśli okaże się, że albo nie będziesz w stanie przeprowadzić optymalizacji opartej na danych, albo że ona w końcu nie działała, możesz wybrać λ na podstawie swojej wiedzy eksperckiej, np. Na podstawie doświadczenia z podobnymi danymi. Lub wiedząc, że jeśli dowiesz się, że optymalizacja nie powiodła się, będziesz potrzebować silniejszej regularyzacji: nadmierne dopasowanie, które prowadzi do awarii, działa w kierunku zbyt skomplikowanych modeli.
źródło
„Szpiegowanie danych” lub, jak mógłbym to nazwać, „eksploracyjna analiza danych” nie dotyczy wcześniej zadanego pytania. Wymieniasz pewną liczbę możliwych, prawdopodobnie interesujących wyników i oceniasz je indywidualnie. Możesz wykonać dowolną liczbę analiz eksploracyjnych i zwykle nie martwisz się o wielokrotne testowanie. Każdą analizę eksploracyjną można oceniać indywidualnie, stosując walidację krzyżową, ale z natury nie uwzględnia ona wielokrotnych testów, jeśli masz więcej niż jedną analizę eksploracyjną. Hipotezy w tym otoczeniu mogą być dość szerokie i dalekosiężne, „jakie czynniki są związane z rakiem prostaty?” (z których mierzono picie kawy, zużycie wazektomii itp. itd.) Istotne wyniki są postrzegane jako „generowanie hipotez” i nie dostarczają dowodów potwierdzających.
źródło
W rzeczywistości podczas CV próbujesz znaleźć najlepsze parametry w zestawie walidacyjnym , który różni się od zestawu testowego. Dzielisz całe swoje dane na trzy zestawy: zestaw treningowy, zestaw walidacyjny i zestaw testowy. Po prawidłowym sprawdzeniu poprawności krzyżowej nigdy nie patrzysz na koniec testu do końca, więc nie ma w ogóle szpiegowania. Przeprowadzanie weryfikacji krzyżowej na zestawie testowym jest poważnym (choć częstym) błędem metodologicznym.
źródło
Jeśli spojrzysz na przykład na stronie 225 „Wprowadzenie do uczenia statystycznego” z przykładem Lasso, zobaczysz, że faktycznie przeprowadzają one zagnieżdżoną weryfikację krzyżową. Tj. Wybór modelu odbywa się
cv.glmnet
natrain
zestawie, który jest dzielony przezcv.glmnet
pakiet na pary testowe. Sprawdzanie poprawności modelu odbywa się natest
zestawie sprawdzania poprawności („ ”), więc jest to niezależne sprawdzanie poprawności.źródło