Niedopasowanie / Niedopasowanie wielkością zestawu danych

11

Na poniższym wykresie

  • oś x => Rozmiar zestawu danych
  • oś y => Wynik weryfikacji krzyżowej

wprowadź opis zdjęcia tutaj

  • Czerwona linia służy do danych treningowych

  • Zielona linia służy do testowania danych

W samouczku, o którym mówię, autor mówi, że punkt, w którym czerwona linia i zielona linia nachodzą na siebie, oznacza,

Zebranie większej ilości danych raczej nie zwiększy wydajności uogólnienia i jesteśmy w regionie, w którym prawdopodobnie nie będziemy w stanie dopasować danych. Dlatego warto wypróbować model o większej pojemności

Nie do końca rozumiem znaczenie odważnej frazy i jak to się dzieje.

Doceń wszelką pomoc.

tharindu_DG
źródło
Co to są czerwone i zielone linie?
Kasra Manshaei,
1
@KasraManshaei: Zaktualizowałem pytanie.
tharindu_DG
1
Jeśli to możliwe, dodaj link do samouczka. Pomoże nam lepiej zrozumieć odpowiedź i kontekst :)
Dawny33
@ Dawny33: Samouczek wideo, a przesyłanie go naruszałoby, jak sądzę, problemy z prawami autorskimi. :)
tharindu_DG

Odpowiedzi:

6

Niedostateczne dopasowanie oznacza, że ​​nadal masz zdolność do poprawy uczenia się, natomiast nadmierne dopasowanie oznacza, że ​​wykorzystałeś zdolności większe niż potrzebne do nauki.

W zielonym obszarze rośnie błąd testowania, tzn. Powinieneś nadal zapewniać pojemność (punkty danych lub złożoność modelu), aby uzyskać lepsze wyniki. Im więcej zielonej linii, tym bardziej płaska staje się, tzn. Osiągasz punkt, w którym dostarczona pojemność (czyli dane) jest wystarczająca, i lepiej spróbować zapewnić inny rodzaj pojemności, którym jest złożoność modelu.

Jeśli to nie poprawi wyniku testu, a nawet go nie zmniejszy, oznacza to, że połączenie złożoności danych było w jakiś sposób optymalne i możesz przerwać trening.

Kasra Manshaei
źródło
Dziękuję za Twoją odpowiedź. Mam kilka niejasności. - Na końcu wykresu zielona linia i czerwona linia zbiegły się. Czy to nie znaczy, że mamy wystarczającą ilość danych dla naszego modelu? - Czy można uzyskać lepszą dokładność z zestawu testowego niż zestawu treningowego? - Powiedzmy, że mamy lepszy model i jak powinien wyglądać ten wykres?
tharindu_DG
1
„Czy to nie znaczy, że mamy wystarczającą ilość danych dla naszego modelu?” Właśnie to napisałem. Tak, masz wystarczającą ilość danych, więc jeśli chcesz to poprawić, powinieneś spróbować bardziej złożonej. Dane są wystarczające. „Czy można uzyskać lepszą dokładność z zestawu testowego niż z zestawu treningowego?” Nigdy czegoś takiego nie widziałem. Może się to zdarzyć w jednym eksperymencie, ale ogólnie nie. To pytanie można przetłumaczyć na „Czy mogę wiedzieć więcej niż to, co wiem?” a odpowiedź brzmi „Oczywiście, że nie!”
Kasra Manshaei
1
„Powiedzmy, że mamy lepszy model i jak powinien wyglądać ten wykres?” Zakładam (starasz się dać mi znać, czy mam rację :)), że zarówno trening, jak i test poprawiają się lub nie. Możliwe jest, że trening się poprawia i test spada, ale nie odwrotnie, a także możliwe, że oba poprawiają się na chwilę, a następnie test spada, co nazywa się Przeuczeniem. Powinieneś przestać trenować w punkcie, w którym zaczyna spadać linia testowa
Kasra Manshaei
5

Chociaż Kasra Manshaei daje dobrą ogólną odpowiedź (+1), chciałbym dać łatwy do zrozumienia przykład.

Pomyśl o bardzo prostym problemie: dopasowanie funkcji f:[0,1]R. Aby to zrobić, wyjmij model z klasy wielomianowej. Dla celów argumentu załóżmy, że bierzesz wielomian stopnia 0. Ta pojemność modeli jest bardzo ograniczona, ponieważ może zmieścić tylko stałe. Zasadniczo zgadnie wartość średnią (oczywiście zależy od funkcji błędu, ale powinna być prosta). Tak stosunkowo szybko będziesz miał dość dobre oszacowanie, jakie są najlepsze parametry dla tego rodzaju modelu. Twój błąd testu i szkolenia będzie prawie identyczny, bez względu na to, ile przykładów dodasz. Problemem nie jest to, że nie masz wystarczającej ilości danych, problem polega na tym, że twój model nie jest wystarczająco mocny: jesteś niedopasowany .

Przejdźmy na odwrót: Załóżmy, że masz 1000 punktów danych. Znając odrobinę matematyki, wybierasz wielomian stopnia 999. Teraz możesz idealnie dopasować dane treningowe. Jednak Twoje dane mogą po prostu idealnie pasować do danych. Na przykład zobacz (z mojego bloga )

wprowadź opis zdjęcia tutaj

W tym przypadku masz inne modele, które również idealnie pasują do danych. Oczywiście niebieski model wydaje się trochę nienaturalny między punktami danych. Sam model może nie być w stanie dobrze uchwycić tego rodzaju dystrybucji, więc ograniczenie modelu do czegoś prostszego może w rzeczywistości mu pomóc. Może to być przykład nadmiernego dopasowania .

Martin Thoma
źródło
1
Bardzo fajny @moose! (+1) za zrozumienie wyjaśnienia
Kasra Manshaei
0

W twoim przypadku masz - bardzo małą (lub żadną) przerwę między krzywymi pociągu i testu, co wskazuje, że model ma wysoki błąd / słabe dopasowanie, rozwiązanie: musisz wybrać bardziej złożony model; - ze względu na zakończenie należy dodać odwrotny przypadek, gdy różnica między krzywymi pociągu i testu jest bardzo duża, co wskazuje na dużą wariancję / przeregulowanie, rozwiązania: a) dalsze zwiększanie rozmiaru zestawu danych; b) wybierz mniej złożony model, c) wykonaj regularyzację.

Danylo Zherebetskyy
źródło
0

Możesz wykonać dowolne / wszystkie z następujących czynności:

1) zmień funkcje, które karmisz w modelu

2) wybierz inny model do pracy

3) załaduj więcej danych do modelu (może nie być ab opcją dla ciebie, ale zwykle jest to opcja)

POPIÓŁ
źródło