Mam zestaw danych 120 próbek w 10-krotnym ustawieniu walidacji krzyżowej. Obecnie wybieram dane treningowe pierwszego wstrzymania i wykonuję na nim 5-krotną weryfikację krzyżową, aby wybrać wartości gamma i C za pomocą wyszukiwania siatki. Używam SVM z jądrem RBF. Ponieważ przeprowadzam dziesięć-krotną weryfikację krzyżową, aby zgłosić precyzję, pamiętajcie, czy wykonuję to wyszukiwanie siatki w danych treningowych każdej blokady (istnieje 10 bloków, z których każda ma 10% danych testowych i 90% danych treningowych)? Czy nie byłoby to zbyt czasochłonne?
Jeśli użyję wartości gamma i C z pierwszego wstrzymania i użyję jej do pozostałych 9 wstrzymań z k-krotną weryfikacją krzyżową, to jest to naruszenie, ponieważ użyłbym danych pociągu, aby uzyskać gamma i C i ponownie użyć część danych pociągu jako test w drugim zawieszeniu?
źródło
Odpowiedzi:
Tak, byłoby to naruszeniem, ponieważ dane testowe dla fałd 2-10 zewnętrznej walidacji krzyżowej byłyby częścią danych treningowych dla fałdu 1, które zostały użyte do określenia wartości jądra i parametrów regularyzacji. Oznacza to, że niektóre informacje o danych testowych potencjalnie wyciekły do projektu modelu, co potencjalnie daje optymistyczne nastawienie do oceny wydajności, co jest najbardziej optymistyczne dla modeli, które są bardzo wrażliwe na ustawienie hiperparametrów (tj. najbardziej zdecydowanie faworyzuje modele o niepożądanej funkcji).
Ta tendencja będzie najprawdopodobniej najsilniejsza w przypadku małych zestawów danych, takich jak ten, ponieważ wariancja kryterium wyboru modelu jest największa w przypadku małych zestawów danych, co zachęca do nadmiernego dopasowania kryterium wyboru modelu, co oznacza, że więcej informacji o danych testowych może przeciekać przez.
Napisałem na ten temat artykuł rok lub dwa lata temu, ponieważ byłem raczej zaskoczony wielkością odchyleń odchylenia od pełnej zagnieżdżonej weryfikacji krzyżowej, która może łatwo zatrzeć różnicę w wydajności między systemami klasyfikującymi. Artykuł jest „O nadmiernym dopasowaniu przy wyborze modelu i późniejszym odchyleniu przy dokonywaniu oceny wyników” Gavin C. Cawley, Nicola LC Talbot; JMLR 11 (lipiec): 2079-2107, 2010.
Zasadniczo dostrajanie hiper-parametrów należy uznać za integralną część dopasowania modelu, więc za każdym razem, gdy trenujesz SVM na nowej próbce danych, niezależnie strojenie hiper-parametrów dla tej próbki. Jeśli zastosujesz się do tej zasady, prawdopodobnie nie będziesz w stanie popełnić błędu. Warto uzyskać koszt obliczeniowy, aby uzyskać obiektywną ocenę wydajności, ponieważ w przeciwnym razie istnieje ryzyko wyciągnięcia niewłaściwych wniosków z eksperymentu.
źródło
Po przeprowadzeniu wyszukiwania siatki dla każdego modelu zastępczego możesz i powinieneś sprawdzić kilka rzeczy:
Jeśli wewnętrzna (tj. Strojeniowa) krzyżowa walidacja wygląda znacznie lepiej niż zewnętrzna (walidacja ostatecznego modelu), to również masz kłopoty: jesteś przeregulowany. Istnieje znaczne ryzyko, że dostrojone parametry wcale nie są optymalne. Jeśli jednak zewnętrzna weryfikacja krzyżowa zostanie wykonana prawidłowo (wszystkie zestawy testów są naprawdę niezależne od odpowiednich modeli zastępczych), to przynajmniej nadal masz obiektywną (!) Ocenę wydajności modelu. Ale nie możesz być pewien, że jest to optymalne.
Istnieje wiele do powiedzenia na temat nadmiernego dopasowania przez wybór modelu. Należy jednak pamiętać, że zarówno wariancja, jak i optymistyczne nastawienie mogą naprawdę zaszkodzić
Jeśli jesteś zainteresowany przykładem i umiesz czytać po niemiecku, mógłbym umieścić moją pracę dyplomową online.
Z mojego doświadczenia wynika, że dostrajanie hiperparametrów jest niezwykle skutecznym pomysłem na nadmierne dopasowanie ...
Teraz, jeśli zdasz sobie sprawę z tego, że jesteś nadmiernie sprawny, masz głównie dwie opcje:
Alternatywą do dostrojenia hiperparametrów do każdego zestawu treningowego jest możliwość wcześniejszego określenia (hiper) parametrów (tj. Ich wcześniejsza poprawa). Robię to tak często, jak to możliwe dla moich modeli, ponieważ zwykle mam nawet mniej przypadków niż ty, patrz poniżej.
Jednak to ustalenie musi być naprawdę i uczciwie wykonane wcześniej: np. Poprosiłem kolegę o jego zoptymalizowane parametry na podobnym zbiorze danych (niezależny eksperyment) lub wykonałem eksperyment wstępny, w tym przeszukanie parametrów na siatce. Ten pierwszy eksperyment jest następnie używany do ustalenia niektórych parametrów eksperymentalnych, a także parametrów modelu dla rzeczywistego eksperymentu i analizy danych. Zobacz dalsze wyjaśnienia poniżej.
Oczywiście możliwe jest przeprowadzenie odpowiednich testów na automatycznie zoptymalizowanych modelach (sprawdzanie poprawności podwójnej lub zagnieżdżonej), ale wielkość próbki może nie pozwolić na dwukrotne podzielenie danych .
W takiej sytuacji IMHO znacznie lepiej jest zgłosić uczciwą ocenę modelu, który został zbudowany przy użyciu doświadczenia zawodowego w zakresie wyboru parametrów modelowania, niż zgłosić nadmiernie optymistyczne oszacowanie na jakimś rodzaju automatycznie zoptymalizowanego modelu.
Innym punktem widzenia na tę sytuację jest to, że musisz się wymienić
Kilka podobnych myśli na podobne pytanie: /stats//a/27761/4598
Na temat ustalania parametrów i komentarzy Dikran Marsupial
Używam terminu hiper-parametry, ponieważ Dikran Marsupial używa go w swojej pracy (link w odpowiedzi)
Pracuję z danymi spektroskopowymi. Jest to rodzaj pomiaru, w którym analiza i modelowanie danych często obejmuje sporo wstępnego przetwarzania. Można to postrzegać jako hiper-parametry (np. Jaka kolejność wielomianu powinna być zastosowana dla linii bazowej? Jakie kanały pomiarowe należy uwzględnić?). Istnieją inne decyzje, które są bliższe twoim parametrom svm, np. Ile głównych komponentów należy użyć, jeśli PCA zostanie wykonane w celu zmniejszenia wymiarów przed wytrenowaniem „prawdziwego” modelu? Czasami też używam klasyfikacji SVM, więc muszę zdecydować o parametrach SVM.
Teraz IMHO najlepszym sposobem na naprawienie hiperparametrów jest posiadanie powodów, które pochodzą z aplikacji. Np. Zazwyczaj decyduję o tym, jakiego rodzaju linii bazowej użyć z przyczyn fizycznych / chemicznych / biologicznych (tj. Wiedzy o próbce i wynikającego z tego zachowania spektroskopowego). Nie znam jednak takiej argumentacji, która pomaga w parametrach SVM ...
Przypadek wcześniejszych eksperymentów, o których wspomniałem powyżej, wygląda następująco:
Widma są analizowane, uruchamiana jest iterowana podwójna walidacja krzyżowa SVM (spędził noc lub dwie na serwerze obliczeniowym).
Mój wniosek jest następujący: chociaż nie jestem pewien, czy końcowe hiperparametry są optymalne, zewnętrzna weryfikacja krzyżowa daje mi właściwe oszacowanie wydajności modeli zastępczych.
Podczas części eksperymentalnej zdecydowaliśmy o pewnych zmianach w konfiguracji eksperymentalnej (rzeczy, które nie wpływają na sygnał do szumu danych, ale idą o krok dalej w automatyzacji urządzenia)
Ulepszamy ustawienia eksperymentalne i zdobywamy nowe widma. Ponieważ komórki są, muszą być hodowane na świeżo. Tj. Nowy zestaw danych to nawet niezależne partie kultur.
Teraz podejmuję decyzję: czy powinienem „pominąć” wewnętrzną weryfikację krzyżową i po prostu zastosować hiperparametry, które określiłem na podstawie starych danych?
W takim przypadku zdecydowałem się na stałe parametry (na podstawie doświadczenia na podobnych danych i wiedząc, że w przyszłości będziemy musieli odrobić „pracę domową”, w tym między innymi ponownie sprawdzić te decyzje przy użyciu dużych danych).
Zauważ, że ważne jest to, że pomijam wewnętrzną ( strojeniowa krzyżowa walidacja), a nie zewnętrzną. Przy ustalonych hiperparametrach uzyskuję obiektywne oszacowanie wydajności modelu prawdopodobnie nieoptymalnego. To prawda, że ta ocena podlega dużej wariancji, ale ta wariancja jest w zasadzie taka sama, niezależnie od tego, czy wykonuję wewnętrzne strojenie, czy nie.
Pomijając zewnętrzną vaidation uzyskałbym optymistycznie tendencyjne oszacowanie dostrojonego modelu - który w zależności od aplikacji i danych może być bezwartościowy (jeśli bardzo nadmiernie optymistyczny), a optymistyczne nastawienie może być po prostu niedopuszczalne.
źródło
Myślę, że kluczem jest poszukiwanie gładkości powierzchni wokół lokalnych minimów (lub każdej projekcji 1-dim), a nie tylko przyjęcie globalnego minimum.
źródło