Jak ocenić, czy nadzorowany model uczenia maszynowego jest zbyt dobry, czy nie?

27

Czy ktoś może mi powiedzieć, jak ocenić, czy nadzorowany model uczenia maszynowego jest zbyt dobry, czy nie? Jeśli nie mam zewnętrznego zestawu danych do sprawdzania poprawności, chcę wiedzieć, czy mogę użyć ROC 10-krotnego sprawdzania poprawności krzyżowej w celu wyjaśnienia nadmiernego dopasowania. Jeśli mam zewnętrzny zestaw danych do sprawdzania poprawności, co powinienem zrobić dalej?

użytkownik22062
źródło

Odpowiedzi:

29

W skrócie: sprawdzając poprawność modelu. Głównym powodem sprawdzania poprawności jest stwierdzenie braku przeładowania oraz oszacowanie wydajności modelu uogólnionego.

Overfit

Najpierw przyjrzyjmy się, czym tak naprawdę jest nadmierne dopasowanie. Modele są zwykle trenowane, aby pasowały do ​​zestawu danych, minimalizując niektóre funkcje utraty w zestawie szkoleniowym. Istnieje jednak limit, w którym zminimalizowanie tego błędu szkolenia nie przyniesie już więcej rzeczywistej wydajności modeli, a jedynie zminimalizuje błąd w określonym zestawie danych. Zasadniczo oznacza to, że model został zbyt ściśle dopasowany do określonych punktów danych w zestawie szkoleniowym, próbując modelować wzorce w danych pochodzących z hałasu. Ta koncepcja nazywa się overfit . Przykład dopasowania jest wyświetlany poniżej, gdzie widać zestaw treningowy w kolorze czarnym i większy zestaw z rzeczywistej populacji w tle. Na tym rysunku widać, że niebieski model jest zbyt ciasno dopasowany do zestawu treningowego, modelując podstawowy hałas. wprowadź opis zdjęcia tutaj

Aby ocenić, czy model jest przepasowany, czy nie, musimy oszacować ogólny błąd (lub wydajność), który będzie miał model w przyszłych danych i porównać go z naszą wydajnością na zestawie szkoleniowym. Szacowanie tego błędu można wykonać na kilka różnych sposobów.

Podział zestawu danych

Najprostszym podejściem do oszacowania ogólnej wydajności jest podzielenie zestawu danych na trzy części, zestaw szkoleniowy, zestaw sprawdzania poprawności i zestaw testowy. Zestaw szkoleniowy służy do szkolenia modelu w celu dopasowania danych, zestaw sprawdzający służy do pomiaru różnic w wydajności między modelami w celu wybrania najlepszego zestawu i zestawu testowego w celu stwierdzenia, że ​​proces wyboru modelu nie pasuje do pierwszego dwa zestawy.

Aby oszacować stopień przeuczenia, po prostu oceń swoje interesujące wskaźniki na zestawie testowym jako ostatni krok i porównaj je z wydajnością na zestawie treningowym. Wspominasz o ROC, ale moim zdaniem powinieneś również spojrzeć na inne wskaźniki, takie jak na przykład wynik Briera lub wykres kalibracji, aby zapewnić wydajność modelu. Jest to oczywiście zależne od twojego problemu. Istnieje wiele wskaźników, ale jest to poza tym kwestia.

Ta metoda jest bardzo popularna i szanowana, ale stawia duże zapotrzebowanie na dostępność danych. Jeśli twój zestaw danych jest zbyt mały, najprawdopodobniej stracisz dużo wydajności, a twoje wyniki będą tendencyjne przy podziale.

Walidacja krzyżowa

Jednym ze sposobów obejścia marnowania dużej części danych na walidację i testowanie jest zastosowanie weryfikacji krzyżowej (CV), która szacuje ogólną wydajność przy użyciu tych samych danych, które są używane do trenowania modelu. Ideą krzyżowej weryfikacji jest podzielenie zestawu danych na pewną liczbę podzbiorów, a następnie użycie każdego z tych podzbiorów jako wyciągniętych zestawów testowych z kolei przy użyciu reszty danych do trenowania modelu. Uśrednienie metryki dla wszystkich fałdów da oszacowanie wydajności modelu. Ostateczny model jest następnie ogólnie trenowany z wykorzystaniem wszystkich danych.

Jednak oszacowanie CV nie jest obiektywne. Ale im więcej fałd, tym mniejsze odchylenie, ale zamiast tego dostajesz większą wariancję.

Podobnie jak w przypadku podziału zestawu danych otrzymujemy oszacowanie wydajności modelu, a aby oszacować dopasowanie, po prostu porównujesz wskaźniki z CV z danymi uzyskanymi z oceny wskaźników w zestawie treningowym.

Bootstrap

Idea bootstrap jest podobna do CV, ale zamiast dzielić zestaw danych na części, wprowadzamy losowość w szkoleniu poprzez ciągłe rysowanie zestawów szkoleniowych z całego zestawu danych, zastępując je i wykonując pełną fazę szkolenia na każdej z tych próbek bootstrap.

Najprostsza forma sprawdzania poprawności bootstrapu po prostu ocenia mierniki na próbkach nie znalezionych w zestawie szkoleniowym (tj. Pomijane) i uśrednia we wszystkich powtórzeniach.

Ta metoda daje oszacowanie wydajności modelu, które w większości przypadków jest mniej stronnicze niż CV. Ponownie, porównując to z wydajnością zestawu treningowego, otrzymasz strój.

Istnieją sposoby na poprawienie sprawdzania poprawności bootstrapu. Wiadomo, że metoda .632+ zapewnia lepsze, bardziej niezawodne oszacowania wydajności modelu uogólnionego, biorąc pod uwagę przełożenie. (Jeśli jesteś zainteresowany, oryginalny artykuł to dobra lektura: Ulepszenia w walidacji krzyżowej: metoda ładowania początkowego 632+ )

Mam nadzieję, że to odpowiada na twoje pytanie. Jeśli interesuje cię walidacja modelu, polecam przeczytanie części dotyczącej walidacji w książce Elementy uczenia statystycznego: eksploracja danych, wnioskowanie i przewidywanie, które są dostępne bezpłatnie online.

podczas
źródło
2
Pamiętaj, że Twoja terminologia sprawdzania poprawności vs. testowania nie jest przestrzegana we wszystkich polach. Np. W mojej dziedzinie (chemia analityczna) walidacja to procedura, która powinna udowodnić, że model działa dobrze (i zmierzyć, jak dobrze działa). Odbywa się to w ostatecznym modelu, późniejsze zmiany nie są dozwolone (lub, jeśli to zrobisz, musisz ponownie sprawdzić poprawność za pomocą niezależnych danych). Nazwałbym więc twój zestaw sprawdzania poprawności „zestawem testów wewnętrznych” lub „zestawem testów optymalizacyjnych”. „Zewnętrzne” dane testowe nie zapobiegają nadmiernemu dopasowaniu, ale można je wykorzystać do pomiaru stopnia nadmiernego dopasowania.
cbeleites wspiera Monikę
Ok, nie mam doświadczenia w twojej dziedzinie. Dziękuję za wyjaśnienie. Prawdopodobnie jest tak samo w innych dziedzinach. Po prostu użyłem terminologii użytej w książce, do której ostatecznie się odnosiłem. Mam nadzieję, że nie jest to zbyt mylące.
podczas gdy
7

Oto, jak możesz oszacować stopień nadmiernego dopasowania:

  • Uzyskaj oszacowanie błędu wewnętrznego. Albo resubstitutio (= przewidywanie danych treningowych), albo jeśli wykonasz wewnętrzną „weryfikację” krzyżową w celu optymalizacji hiperparametrów, również ta miara byłaby interesująca.
  • Uzyskaj oszacowanie błędu niezależnego zestawu testów. Zwykle zalecane jest ponowne próbkowanie (powtarzana walidacja krzyżowa lub poza bootstrap *). Należy jednak uważać, aby nie doszło do wycieku danych. Tzn. Pętla ponownego próbkowania musi ponownie obliczyć wszystkie kroki, które zawierają obliczenia obejmujące więcej niż jeden przypadek. Obejmuje to wstępne etapy przetwarzania, takie jak centrowanie, skalowanie itp. Upewnij się również, że dokonałeś podziału na najwyższym poziomie, jeśli masz „hierarchiczną” (znaną również jako „klastrowaną”) strukturę danych, taką jak powtarzane pomiary np. tego samego pacjenta (=> ponowne próbkowanie pacjentów ).
  • Następnie porównaj, o ile lepiej wygląda „wewnętrzny” szacunek błędu niż niezależny.

Oto przykład:
nadmierne dopasowanie
Trefferrate = współczynnik trafień (% poprawnie sklasyfikowany), Variablenzahl = liczba zmiennych (= złożoność modelu)
Symbole :. ponowne podstawienie, + wewnętrzne pomijane oszacowanie optymalizatora hiperparametrów, o niezależna zewnętrzna walidacja krzyżowa na poziomie pacjenta

Działa to z ROC lub miarami wydajności, takimi jak wynik Briera, czułość, specyficzność, ...

* Nie polecam tutaj bootstrapu .632 ani .632+: już zawierają błąd ponownego odtworzenia: i tak możesz je obliczyć później na podstawie szacunków dotyczących ponownego podstawiania i braku rozruchu.

cbeleites obsługuje Monikę
źródło
0

Przeregulowanie jest po prostu bezpośrednią konsekwencją uwzględnienia parametrów statystycznych, a zatem uzyskanych wyników, jako użytecznej informacji bez sprawdzania, czy nie zostały uzyskane w sposób przypadkowy. Dlatego, aby oszacować obecność przeregulowania, musimy zastosować algorytm w bazie danych równoważnej rzeczywistej, ale z losowo generowanymi wartościami, powtarzając tę ​​operację wiele razy, możemy oszacować prawdopodobieństwo uzyskania równych lub lepszych wyników w losowy sposób . Jeśli prawdopodobieństwo to jest wysokie, najprawdopodobniej znajdujemy się w sytuacji nadmiernego dopasowania. Na przykład prawdopodobieństwo, że wielomian czwartego stopnia ma korelację 1 z 5 losowymi punktami na płaszczyźnie, wynosi 100%, więc ta korelacja jest bezużyteczna i znajdujemy się w sytuacji przeregulowania.

Andrea Berdondini
źródło