Dlaczego nadmierne dopasowanie jest złe w uczeniu maszynowym?


49

Logika często stwierdza, że ​​nadmierne dopasowanie modelu ogranicza jego możliwości uogólnienia, chociaż może to oznaczać jedynie, że nadmierne dopasowanie powstrzymuje model przed poprawą po określonej złożoności. Czy nadmierne dopasowanie powoduje pogorszenie modeli bez względu na złożoność danych, a jeśli tak, to dlaczego tak jest?


Powiązane: Kontynuacja pytania powyżej: „ Kiedy model jest niedopasowany?


1
Czy faktycznie masz pytanie, czy istnieje przypadek, w którym niemożliwe jest przeregulowanie?
Sean Owen

@SeanOwen: Nie, w jaki sposób niemożliwe byłoby przebranie?
błąka się

Zgadzam się, po prostu sprawdzam, jak zapytałeś, czy nadmierne dopasowanie spowodowało pogorszenie modeli bez względu na dane
Sean Owen

1
Nadmierne dopasowanie jest z definicji złe. Gdyby nie to, nie byłoby to nadmierne dopasowanie.
Gala

1
Nie chciałem zacytować cię na temat „dodawania złożoności modelu” - ja tylko podkreślałem to zdanie. W każdym razie wydaje mi się, że mój problem jest zasadniczo taki sam jak @GaLa, co oznacza, że ​​nadmierne dopasowanie oznacza zbyt duże dopasowanie. Wygląda na to, że prosisz nas o potwierdzenie tautologii. Chciałbym więc pomyśleć, że chciałeś zadać inne pytanie. Np. Czy wzrost złożoności modelu powoduje pogorszenie modeli? Lub w jaki sposób złożoność danych ma związek z tendencją modelu do nadmiernego dopasowania?
Nathan Gould

Odpowiedzi:


44

Przeuczenie jest empirycznie złe. Załóżmy, że masz zestaw danych, który podzieliłeś na dwie części: test i szkolenie. Model przeregulowany to taki, który działa znacznie gorzej na zestawie danych testowych niż na zestawie danych szkoleniowych. Często obserwuje się, że takie modele również generalnie działają gorzej na dodatkowych (nowych) zestawach danych testowych niż modele, które nie są nadmiernie wyposażone.

Jednym ze sposobów zrozumienia tego intuicyjnie jest to, że model może wykorzystywać niektóre istotne części danych (sygnał) i niektóre nieistotne części (szum). Przebudowany model wykorzystuje więcej hałasu, co zwiększa jego wydajność w przypadku znanego hałasu (dane treningowe) i zmniejsza jego wydajność w przypadku nowego hałasu (dane testowe). Różnica w wydajności między danymi treningowymi i testowymi wskazuje, ile hałasu podnosi model; a wychwytywanie hałasu bezpośrednio przekłada się na gorszą wydajność danych testowych (w tym danych przyszłych).

Podsumowanie: nadmierne dopasowanie jest z definicji złe, nie ma to wiele wspólnego ze złożonością ani umiejętnością generalizowania, ale raczej z pomyleniem szumu z sygnałem.

PS W części dotyczącej „zdolności do uogólnienia” bardzo możliwe jest posiadanie modelu, który z natury ma ograniczoną zdolność do uogólniania ze względu na strukturę modelu (na przykład liniowy SVM, ...), ale nadal jest podatny na nadmierne dopasowanie. W pewnym sensie nadmierne dopasowanie jest tylko jednym ze sposobów na niepowodzenie uogólnienia.


17

Podsumowując, nadmierne dopasowanie oznacza wzięcie pod uwagę zbyt dużej ilości informacji z danych i / lub wcześniejszej wiedzy i wykorzystanie ich w modelu. Aby to uprościć, rozważ następujący przykład: jesteś zatrudniony przez niektórych naukowców, aby zapewnić im model do przewidywania wzrostu pewnego rodzaju roślin. Naukowcy przekazali ci informacje zebrane z ich pracy z takimi roślinami przez cały rok i będą stale przekazywać ci informacje na temat przyszłego rozwoju ich plantacji.

Tak więc przeglądasz otrzymane dane i budujesz z niego model. Załóżmy teraz, że w swoim modelu wziąłeś pod uwagę jak najwięcej cech, aby zawsze znaleźć dokładne zachowanie roślin, które widziałeś w początkowym zestawie danych. Teraz, gdy produkcja będzie kontynuowana, zawsze będziesz brać pod uwagę te cechy i przyniesie bardzo drobne szczegóły . Jeśli jednak plantacja ostatecznie ulegnie zmianie sezonowej, otrzymane wyniki mogą pasować do modelu w taki sposób, że prognozy zaczną się nie powieść (albo mówiąc, że wzrost spowolni, a faktycznie przyspieszy, lub przeciwieństwo).

Oprócz niemożności wykrycia tak niewielkich odmian i zwykle niepoprawnej klasyfikacji wpisów, drobnoziarniste odwzorowanie w modelu, tj. Duża liczba zmiennych, może spowodować, że przetwarzanie będzie zbyt kosztowne. Teraz wyobraź sobie, że Twoje dane są już złożone. Dopasowanie modelu do danych nie tylko sprawi, że klasyfikacja / ocena będzie bardzo złożona, ale najprawdopodobniej sprawi, że popełnisz błąd prognozy w stosunku do najmniejszej możliwej zmienności na wejściu.

Edit : To równie dobrze może się przydać, może dodanie dynamiczności do powyższego wyjaśnienia: D


14

Z grubsza mówiąc, nadmierne dopasowanie zwykle występuje, gdy stosunek

wprowadź opis zdjęcia tutaj

jest za wysoki.

Pomyśl o nadmiernym dopasowaniu jako sytuacji, w której model uczy się na pamięć danych treningowych zamiast uczenia się dużych zdjęć, które uniemożliwiają uogólnienie na dane testowe: dzieje się tak, gdy model jest zbyt złożony w stosunku do wielkości dane treningowe, to znaczy, gdy rozmiar danych treningowych jest zbyt mały w porównaniu ze złożonością modelu.

Przykłady:

  • jeśli dane są w dwóch wymiarach, masz 10000 punktów w zbiorze treningowym, a model jest linia, jest prawdopodobne, aby pod dopasowane.
  • jeśli dane są w dwóch wymiarach, masz 10 punktów w zbiorze uczącym, a model 100-stopień wielomianu, jest prawdopodobne, aby w ciągu dopasowane.

wprowadź opis zdjęcia tutaj

Z teoretycznego punktu widzenia ilość danych potrzebnych do prawidłowego wyszkolenia modelu jest kluczowym, ale wymagającym odpowiedzi na wiele pytań w uczeniu maszynowym. Jednym z takich podejść do odpowiedzi na to pytanie jest wymiar VC . Innym jest kompromis wariancji odchylenia .

Z empirycznego punktu widzenia ludzie zwykle wykreślają błąd szkolenia i błąd testu na tym samym wykresie i upewniają się, że nie zmniejszają błędu szkolenia kosztem błędu testu:

wprowadź opis zdjęcia tutaj

Radziłbym obejrzeć kurs Coursera „Uczenie maszynowe , sekcja„ 10: Porady dotyczące stosowania uczenia maszynowego ”.

(PS: proszę przejść tutaj, aby poprosić o wsparcie TeX w tej SE.)


8

Wydaje się, że nikt jeszcze nie opublikował komiksu o nadmiernym dopasowaniu XKCD.

wprowadź opis zdjęcia tutaj


5

To dlatego, że coś nazywa dylemat wariancji odchylenia . Przebudowany model oznacza, że ​​będziemy mieli bardziej złożoną granicę decyzji, jeśli damy większą wariancję modelu. Chodzi o to, że nie tylko zbyt proste modele, ale także złożone modele mogą mieć nieokreślony wynik na niewidzialnych danych. W związku z tym nadmiernie dopasowany model nie jest dobry jako niedopasowany. Dlatego nadmierne dopasowanie jest złe i musimy dopasować model gdzieś pośrodku.


+1 Dzięki, w wyniku odpowiedź, mam napisali Nawiązanie do pytania powyżej, „ Kiedy to model Underfitted?
gaf

4

Zrozumiałem problem nadmiernego dopasowania, wyobrażając sobie, jaki byłby najbardziej dopasowany model. Zasadniczo byłby to prosty stół przeglądowy.

Poinformujesz model, jakie atrybuty ma każdy kawałek danych, a on po prostu zapamięta go i nic więcej z nim nie robi. Jeśli podasz mu kawałek danych, które widział wcześniej, to sprawdzi go i po prostu cofnie to, co powiedziałeś wcześniej. Jeśli podasz dane, których wcześniej nie widział, wynik jest nieprzewidywalny lub losowy. Ale uczenie maszynowe nie polega na mówieniu o tym, co się stało, lecz na zrozumieniu wzorców i wykorzystaniu tych wzorców do przewidywania, co się dzieje.

Pomyśl o drzewie decyzyjnym. Jeśli będziesz stale powiększać swoje drzewo decyzyjne, w końcu skończysz z drzewem, w którym każdy węzeł liścia oparty jest na dokładnie jednym punkcie danych. Właśnie znalazłeś backdoora do stworzenia tabeli przeglądowej.

Aby uogólnić swoje wyniki, aby dowiedzieć się, co może się wydarzyć w przyszłości, musisz stworzyć model, który uogólni to, co dzieje się w zestawie treningowym. Modele overfit świetnie sobie radzą z opisywaniem danych, które już masz, ale modele opisowe niekoniecznie są modelami predykcyjnymi.

Twierdzenie o braku darmowego lunchu mówi, że żaden model nie może przewyższyć żadnego innego modelu na zbiorze wszystkich możliwych instancji. Jeśli chcesz przewidzieć, co będzie dalej w sekwencji liczb „2, 4, 16, 32”, nie możesz zbudować modelu dokładniejszego niż jakikolwiek inny, jeśli nie przyjmiesz, że istnieje wzorzec podstawowy. Model, który jest zbyt dopasowany, tak naprawdę nie ocenia wzorów - po prostu modeluje to, co wie, że jest możliwe i daje obserwacje. Otrzymujesz moc predykcyjną, zakładając, że istnieje jakaś podstawowa funkcja i że jeśli potrafisz określić, co to za funkcja, możesz przewidzieć wynik zdarzeń. Ale jeśli tak naprawdę nie ma wzorca, masz pecha, a wszystko, na co możesz liczyć, to tabela przeglądowa, która powie ci, co wiesz, że jest możliwe.


1

Błędnie łączysz dwa różne byty: (1) wariancja błędu i (2) złożoność modelu.

(1) Nadmierne dopasowanie jest złe w uczeniu maszynowym, ponieważ nie można zebrać prawdziwie obiektywnej próby populacji jakichkolwiek danych. Nadmiernie dopasowany model powoduje, że parametry są tendencyjne do próby zamiast właściwego oszacowania parametrów dla całej populacji. Oznacza to, że pozostanie różnica między szacowanymi parametrami a parametrami optymalnymi , niezależnie od liczby epok treningowych . cp*nϕ^ϕn

e ϕ|ϕϕ^|eϕ as n , gdzie jest pewną wartością granicznąeϕ

(2) Złożoność modelu to w uproszczeniu liczba parametrów w . Jeśli złożoność modelu jest niska, pozostanie błąd regresji, niezależnie od liczby epok treningu, nawet jeśli jest w przybliżeniu równy . Najprostszym przykładem byłoby nauczenie się dopasowywania linii (y = mx + c), gdzie do danych na krzywej (wielomian kwadratowy).φ φ φ * φ = { m , c }ϕϕ^ϕϕ={m,c}

e ME[|yM(ϕ^)|]eM as n , gdzie jest pewną wartością graniczną dopasowania do regresjieM

Podsumowanie: Tak, zarówno odchylenie próbki, jak i złożoność modelu przyczyniają się do „jakości” wyuczonego modelu, ale nie wpływają bezpośrednio na siebie. Jeśli masz tendencyjne dane, to bez względu na prawidłową liczbę parametrów i nieskończony trening, ostateczny wyuczony model miałby błąd. Podobnie, jeśli miałbyś mniej niż wymaganą liczbę parametrów, to niezależnie od całkowicie obiektywnego próbkowania i nieskończonego treningu, ostateczny wyuczony model miałby błąd.


0

Istnieje wiele dobrych wyjaśnień na temat nadmiernego dopasowania. Oto moje przemyślenia. Przeuczenie ma miejsce, gdy Twoja wariancja jest zbyt wysoka, a stronniczość jest zbyt niska.

Załóżmy, że masz przy sobie dane treningowe, które dzielisz na N części. Teraz, jeśli trenujesz model na każdym z zestawów danych, będziesz mieć N modeli. Teraz znajdź model średni, a następnie użyj formuły wariancji, aby obliczyć, jak bardzo każdy model różni się od średniej. W przypadku modeli przełożonych ta wariancja będzie naprawdę wysoka. Jest tak, ponieważ każdy model miałby oszacowane parametry, które są bardzo specyficzne dla małego zestawu danych, który do niego wprowadziliśmy. Podobnie, jeśli weźmiesz średni model i zobaczysz, jak bardzo różni się on od oryginalnego modelu, który zapewniłby najlepszą dokładność, wcale nie byłby bardzo różny. Oznacza to niskie uprzedzenie.

Aby dowiedzieć się, czy Twój model jest przeregulowany, czy nie, możesz skonstruować wykresy wymienione w poprzednich postach.

Wreszcie, aby uniknąć nadmiernego dopasowania, możesz uregulować model lub skorzystać z weryfikacji krzyżowej.

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.