Jak się dowiedzieć, że model zaczął się przeładowywać?

12

Mam nadzieję, że poniższe fragmenty zapewnią wgląd w to, jakie będzie moje pytanie. Są one z http://neuralnetworksanddeeplearning.com/chap3.html

Uczenie się następnie stopniowo zwalnia. Wreszcie, mniej więcej w epoce 280 dokładność klasyfikacji przestaje się poprawiać. Późniejsze epoki po prostu widzą niewielkie fluktuacje stochastyczne w pobliżu wartości dokładności z epoki 280. Porównaj to z wcześniejszym wykresem, gdzie koszt związany z danymi treningowymi nadal gładko spada. Jeśli spojrzymy tylko na ten koszt, okaże się, że nasz model wciąż się poprawia. Ale wyniki dokładności testu pokazują, że poprawa jest iluzją. Podobnie jak model, którego Fermi nie lubił, to czego uczy się nasza sieć po epoce 280, nie uogólnia się na dane testowe. A zatem nie jest to przydatne do nauki. Mówimy, że sieć jest przeładowana lub przetrenowana po epoce 280.

Trenujemy sieć neuronową, a koszt (na danych treningowych) spada aż do epoki 400, ale dokładność klasyfikacji staje się statyczna (z wyjątkiem kilku fluktuacji stochastycznych) po epoce 280, więc dochodzimy do wniosku, że model nie pasuje do danych treningowych po epoce 280.

Widzimy, że koszt danych testowych poprawia się aż do około 15 epoki, ale potem faktycznie zaczyna się pogarszać, nawet jeśli koszt danych treningowych wciąż się poprawia. To kolejny znak, że nasz model jest zbyt dobry. Stanowi to jednak zagadkę, która polega na tym, czy epokę 15, czy epokę 280 należy uznać za punkt, w którym naduczenie zaczyna dominować w nauce? Z praktycznego punktu widzenia tak naprawdę zależy nam na poprawie dokładności klasyfikacji danych testowych, a koszt danych testowych to jedynie przybliżenie dokładności klasyfikacji. Dlatego najbardziej sensowne jest uznanie epoki 280 za punkt, powyżej którego nadmierne dopasowanie dominuje w nauce w naszej sieci neuronowej.

W przeciwieństwie do dokładności klasyfikacji danych testowych w porównaniu z kosztami szkolenia poprzednio, teraz kładziemy koszty danych testowych w stosunku do kosztów szkolenia.

Następnie książka wyjaśnia, dlaczego 280 jest właściwą epoką, w której zaczęło się przeuczenie. Z tym mam problem. Nie mogę się tym otulić.

Prosimy model o zminimalizowanie kosztu, a zatem koszt jest miarą, której używa jako miary własnej siły do ​​prawidłowej klasyfikacji. Jeśli uznamy 280 za właściwą epokę, w której rozpoczęło się przeuczenie, to czy w pewien sposób nie stworzyliśmy modelu stronniczego, który wprawdzie jest lepszym klasyfikatorem konkretnych danych testowych, ale mimo to podejmuje decyzje z niskim poziomem pewności, a zatem jest bardziej podatny na odchylenie z wyników pokazanych na danych testowych?

Nitin Siwach
źródło
Model nie zna zestawu testowego . Stanowi proxy jako niewidzialne dane. Dlatego, jeśli pochodzi on z reprezentatywnej dystrybucji, możesz go użyć do ustalenia, kiedy nastąpi przeregulowanie. Jeśli chcesz, możesz utworzyć kolejny zestaw wstrzymania i sprawdzić, czy to założenie się spełni.
Emre
Co rozumiesz przez „podejmowanie decyzji z niskim poziomem zaufania”?
Grasshopper
@Grasshopper powiedzmy, że model próbuje przewidzieć jedną z 4 klas {A, B, C, D}. Etykiety danych testowych (w kolejności) to (A, B, C, D). Teraz w jednym przypadku model wyrzuca prawdopodobieństwo jako (będę oznaczać prognozy wzdłuż) ((0,28, 0,24, 0,24, 0,24) (A), (0.24,0.28,0.24,0.24) (B), (0.24,0.24, 0.28,0.24) (C), (0.24,0.24,0.24,244,28) (D)), aw innym model rzuca ((1,0,0,0) (A), (0,1,0,0) (B), (0.24,0.26,0.25,0.25) (B), (0,0,0,1) (D)). To, co rozumiem przez niskie zaufanie, to pierwszy przypadek. należy pamiętać, że dokładność klasyfikacji wynosi w pierwszej kolejności 100%, a jednak koszt jest wyższy
Nitin Siwach
@Grasshopper W pigułce. Pierwsza instancja modelu jest tworzona po 280 epokach (patrz zadane pytanie), a druga instancja modelu jest tworzona po 15 epokach. Teraz książka sugeruje epokę 280 jako tę, w której zaczęło się nadmierne dopasowanie. Trudno mi to przełknąć. każda pomoc lub przemyślenia, które możesz udzielić, są bardzo mile widziane.
Nitin Siwach

Odpowiedzi:

6

Powiedzmy, że chcemy przewidzieć, czy student przeprowadzi rozmowę kwalifikacyjną na podstawie jej CV.

Załóżmy teraz, że trenujemy model z zestawu danych 10 000 CV i ich wyników.

Następnie wypróbowujemy model na oryginalnym zestawie danych i przewiduje on wyniki z 99% dokładnością… wow!

Ale teraz nadchodzą złe wieści.

Kiedy uruchomimy model na nowym („niewidzialnym”) zestawie danych CV, otrzymamy tylko 50% dokładności… uh-oh!

Nasz model nie generalizuje dobrze od naszych danych szkoleniowych do niewidocznych danych.

Jest to znane jako nadmierne dopasowanie i jest to powszechny problem w uczeniu maszynowym i analizie danych.

Overfitting V / s Underfitting

Możemy lepiej zrozumieć nadmierne dopasowanie, patrząc na przeciwny problem, niedostateczne dopasowanie.

Niedopasowanie występuje, gdy model jest zbyt prosty - poinformowany o zbyt małej liczbie funkcji lub zbytnio uregulowany - co czyni go nieelastycznym w uczeniu się z zestawu danych.

Prosti uczniowie mają tendencję do mniejszej rozbieżności w swoich przewidywaniach, ale bardziej stronniczości wobec błędnych wyników (patrz: Kompromis odchylenie-odchylenie).

Z drugiej strony, skomplikowani uczniowie mają większą zmienność w swoich przewidywaniach.

Zarówno odchylenie, jak i wariancja są formami błędu prognozowania w uczeniu maszynowym.

Zwykle możemy zmniejszyć błąd wynikający z błędu systematycznego, ale w rezultacie możemy zwiększyć błąd związany z wariancją lub odwrotnie.

Ten kompromis między zbyt prostym (duże odchylenie) a zbyt złożonym (duża wariancja) jest kluczowym pojęciem w statystykach i uczeniu maszynowym, i wpływa na wszystkie nadzorowane algorytmy uczenia się.

dileep balineni
źródło
2

Coś, czego nauczyłem się na własnej skórze, to wykreślanie krzywych uczenia się. Wiem, nie jest to tak zabawne jak pisanie samego kodu uczenia maszynowego, ale podstawowe znaczenie ma wizualne zrozumienie tego, co się dzieje.

Zasadniczą definicją jest to, że nadmierne dopasowanie występuje, gdy dokładność pociągu stale się poprawia, podczas gdy dokładność sprawdzania poprawności przestaje się poprawiać (lub nawet zaczyna się pogarszać).

Najprostszym rozwiązaniem, aby uniknąć nadmiernego dopasowania, jest wczesne przerwanie treningu (przestań trenować, gdy tylko sprawy wyglądają źle), oczywiście jest to najprostsze rozwiązanie, które kosztuje: nie jest to najlepsze rozwiązanie. Regulararyzacja i rezygnacja to dobre narzędzia do walki o dopasowanie, ale to inna sprawa :)

Mam nadzieję, że to pomoże

Juan Antonio Gomez Moriano
źródło
2

Jak podaje źródło, które cytujesz, „koszt danych testowych jest niczym więcej niż wskaźnikiem dokładności klasyfikacji”. Możesz zapytać, dlaczego powinniśmy korzystać z serwera proxy, dlaczego nie skorzystać bezpośrednio z dokładności? Odpowiedź brzmi: musisz zminimalizować funkcję kosztów w odniesieniu do wag i odchyleń. Dlatego musi to być zmienna funkcja wag i odchyleń. Dokładność nie jest funkcją różniczkowalną i dlatego nie można jej używać bezpośrednio. Ale ponieważ ostatecznie zależy Ci na dokładności, co sam zilustrowałeś powyżej (... pamiętaj, że dokładność klasyfikacji wynosi w pierwszej kolejności 100%, a jednak koszt jest wyższy ...), określasz przeregulowanie na podstawie dokładności testu zestaw.

David Makovoz
źródło
0

Aby zrozumieć, co oznacza nadmierne dopasowanie i jak wpływa na dokładność modelu, musisz zrozumieć kompromis między odchyleniem a odchyleniem.

Niedopasowanie oraz nadmierne dopasowanie to dwa różne problemy, które są bezpośrednio związane z problemami wariancji stronniczej. Zawsze ważne jest, aby zrozumieć związek między trzema różnymi czynnikami i sposób, w jaki czynniki te są powiązane z problemami wariancji stronniczości (nadmiernego dopasowania lub niedopasowania):

1- rozmiar modelu. Liczba parametrów

2 - ilość danych dostępnych na szkolenie. Liczba próbek treningowych.

3- liczba iteracji. iteracje treningowe.

Bezpośrednie powiązanie któregokolwiek z tych czynników z problemami niedopasowania i niedopasowania bez patrzenia na inne zawsze prowadzi do błędnych wniosków.

Z uwagi na zrozumienie tych czynników i powiązanie tematu za pomocą równań matematycznych w celu uniknięcia problemów z niedopasowaniem i niedopasowaniem jest trudnym zadaniem, ponadto jest to zależne od zadania, ludzie używają prostych metod w celu wykrycia i uniknięcia nadmiernego dopasowania. Najłatwiejszym sposobem jest podzielenie danych na trzy różne części, szkolenie, walidację i testowanie. Testowania nie należy dotykać. Użyj zestawu szkoleniowego do szkolenia sieci i zestawu sprawdzającego poprawność do testowania sieci po każdej iteracji lub kilku iteracjach. Teoretycznie zobaczysz, że błąd w zestawie sprawdzania poprawności zmniejsza się stopniowo dla pierwszych N iteracji, a następnie będzie stabilny dla bardzo niewielu iteracji, a następnie zacznie się zwiększać. Gdy błąd zacznie się zwiększać, sieć zaczyna przepełniać dane szkoleniowe i proces szkolenia powinien zostać zatrzymany.

Uwaga: wartość N jest bardzo związana z trzema czynnikami wymienionymi powyżej. Dobrą praktyką jest zawsze mieć zestaw szkoleniowy demonstracyjny i testować z różnymi modelami, danymi treningowymi. Przekonasz się, że im większy model - im mniej danych treningowych, tym mniejsza N. N. Im mniejszy model - tym więcej danych treningowych, tym większa N. Uwaga: zachowaj ostrożność, używając małych modeli z niedopasowanym problemem.

Baszar Haddad
źródło
Powiedziałeś „Teoretycznie zobaczysz, że błąd w zestawie sprawdzania poprawności zmniejsza się stopniowo dla pierwszych N iteracji, a następnie będzie stabilny przez bardzo kilka iteracji, a następnie zacznie się zwiększać”. Co masz tutaj na myśli przez błąd? To jest właśnie kwestia, którą podniosłem w pytaniu. Odpowiedź to 15, jeśli wezmę koszt za miarę błędu i 280, jeśli wezmę dokładność klasyfikacji jako miarę błędu
Nitin Siwach
proszę zwrócić uwagę na korektę w powyższym komentarzu: Odpowiedź na moment rozpoczęcia przeuczenia to epoka 15, jeśli wezmę koszt za miarę błędu, a epoka 280, jeśli wezmę dokładność klasyfikacji jako miarę błędu
Nitin Siwach
Błąd w zestawie sprawdzania poprawności
Bashar Haddad
a miarą tego błędu jest? (100 - Dokładność klasyfikacji) lub koszt. Rozumiem błąd w środkach zestawu walidacyjnego w związku z dokładnością klasyfikacji. Ale o to właśnie pytam. Dlaczego nie koszt? Proszę odnieść się do komentarzy, które poczyniłem w odpowiedzi na Grasshopper na pierwotne pytanie
Nitin Siwach