Po przeprowadzeniu wyszukiwania siatki dla każdego modelu zastępczego możesz i powinieneś sprawdzić kilka rzeczy:
- zmiana zoptymalizowanych parametrów (tutaj i C ).
Czy optymalne parametry są stabilne? Jeśli nie, najprawdopodobniej masz kłopoty.γC
- Porównaj zgłoszone wyniki walidacji krzyżowej wewnętrznej i zewnętrznej.
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.
- Jak wyraźny jest optymalny? Czy wydajność szybko spada w przypadku nieoptymalnych parametrów? Jak dobra jest optymalna wydajność?
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ć
- wariancja oznacza, że możesz przypadkowo skończyć dość daleko od naprawdę optymalnych hiper-parametrów.
- ale również uprzedzenie może zaszkodzić: jeśli jesteś zbytnio dopasowany, możesz spotkać się z sytuacjami, w których wiele modeli wygląda idealnie do wewnętrznej weryfikacji krzyżowej (ale tak naprawdę nie są). W takim przypadku strojenie może zbłądzić, ponieważ nie rozpoznaje różnic między modelami.
- Jeśli odchylenie zależy od hiper-parametrów, masz duże problemy.
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:
- zgłoś, że optymalizacja miała problem z przeregulowaniem, ale wykonałeś właściwą zewnętrzną walidację, która zaowocowała ... (wyniki zewnętrznej weryfikacji krzyżowej).
- ograniczyć złożoność modelu. Jednym ze sposobów jest poprawienie hiperparametrów:
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ć
- gorsza wydajność ze względu na odłożenie kolejnej grupy przypadków na optymalizację parametrów (mniejszy rozmiar próbki treningowej => gorszy model, ale parametry „optymalne”)
- gorsza wydajność ze względu na nieoptymalne ustalanie parametrów przez eksperta (ale przy większych danych treningowych).
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:
- pobieramy dane z kilku komórek (chcemy rozróżnić różne linie komórkowe).
Widma są analizowane, uruchamiana jest iterowana podwójna walidacja krzyżowa SVM (spędził noc lub dwie na serwerze obliczeniowym).
- γC
- Zauważyłem też pewne przeregulowanie: walidacja zewnętrznego krzyża nie jest tak dobra, jak wyniki strojenia. Tak jest zgodnie z oczekiwaniami.
- Mimo to istnieją różnice w wydajności w zakresie strojenia hiper-parametrów, a wydajność w siatce strojenia wygląda na dość gładką. Dobry.
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?
- Jak wspomniano powyżej, ryzykuję, że te z góry określone hiper-parametry nie będą optymalne.
- Ale nie mogę też mieć pewności, czy uda mi się uzyskać naprawdę optymalne hiper-parametry, wykonując wewnętrzną (dostrajającą) weryfikację krzyżową.
- Strojenie starych danych było jednak stabilne.
- Robiąc optymalizację, będę ćwiczyć na mniejszej liczbie próbek: Ponieważ i tak mam zbyt mało próbek (TM), muszę spodziewać się gorszych modeli, jeśli odłożę więcej próbek na drugą rundę walidacji krzyżowej.
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.