Newsletter · „ML jak dziecku” · numer 1 · ok. 3 min czytania
Kierowca, który znał tylko jedną trasę
W skrócie
Przeuczenie prostymi słowami: kursant, który zna jedną trasę, i drzewo decyzyjne, które zapamiętało pasażerów Titanica zamiast nauczyć się reguły.
Pojęcie: Przeuczenie ·
1. Haczyk
Kursant przez miesiąc jeździ tą samą trasą egzaminacyjną. Zna każdy zakręt, każde światło i każdą dziurę. Egzamin zdaje bez jednego błędu. Tydzień później jedzie sam do innego miasta i gubi się na pierwszym rondzie.
2. Przewidź
Zanim przeczytasz dalej, zgadnij. Mamy dwa drzewa decyzyjne, które przewidują, kto przeżył katastrofę Titanica. Pierwsze zadaje dużo pytań i trafia w 98,7% pasażerów, na których się uczyło. Drugie zadaje tylko jedno pytanie i trafia w 79,3%. Które lepiej poradzi sobie z pasażerami, których nigdy nie widziało?
Zapamiętaj swoją odpowiedź. Rozwiązanie jest niżej.
3. Wyjaśnienie
Model uczy się na przykładach. W przykładach jest prawdziwa reguła, na przykład „kobiety i dzieci częściej dostawały miejsce w szalupie”. Jest w nich też przypadek: ten jeden pasażer, który przeżył wbrew wszystkiemu, ta jedna literówka w wieku. Model nie umie odróżnić reguły od przypadku. Dla niego jedno i drugie to wzór do nauczenia.
Jeśli model jest bardzo elastyczny, nauczy się jednego i drugiego. Na danych treningowych wygląda świetnie. Na nowych danych przypadki są już inne, więc to, czego się „nauczył” o przypadkach, tylko mu przeszkadza. To jest przeuczenie: model dopasował się do konkretnej próbki zamiast do świata.
Rozwiązanie. Głębokie drzewo ma 98,7% na treningu, ale tylko 73,9% na pasażerach testowych. Płytkie drzewo ma 79,3% na treningu i 77,2% na teście. Prymus przegrał. Głębokie drzewo ma 145 liści, a 114 z nich obejmuje najwyżej 5 pasażerów. To nie są reguły, tylko notatki o konkretnych ludziach.
Uczciwie: test liczy 268 pasażerów, więc jedna pomyłka to 0,4 punktu procentowego, a różnica między 77,2% a 73,9% to kilka osób. Ważniejsza jest luka między treningiem a testem: przy płytkim drzewie to 2,1 punktu, przy głębokim 24,8. Ta luka to odcisk palca przeuczenia.
Sprawdź sam. W lekcji o drzewach przesuwasz suwak głębokości i patrzysz, jak trafność treningowa rośnie, a testowa od pewnego momentu spada.
4. Częsty błąd
„Im lepszy wynik na danych treningowych, tym lepszy model.” Nie. Wynik treningowy zawsze nagradza elastyczność, więc zawsze zagłosuje za najbardziej skomplikowanym modelem, czyli za kursantem od jednej trasy. Liczy się wynik na danych, których model nie widział.
Drugi błąd, krótko: „więcej danych zawsze naprawi przeuczenie”. Więcej danych tego samego rodzaju zwykle pomaga, bo przypadki się uśredniają. Nie pomoże, gdy nowe dane mają ten sam błąd co stare, na przykład wyciek odpowiedzi do cech. Nie pomoże też, gdy problemem jest model za prosty.
5. Gdzie ta analogia się psuje
Kursant w końcu zauważy, że zna tylko jedną trasę. Model tego nie zauważy i nie da się go o to zapytać. Przeuczenie widać wyłącznie wtedy, gdy porównasz wynik na treningu z wynikiem na danych odłożonych na bok.
6. Dlaczego to ważne w pracy
Przy każdym modelu pierwsze pytanie brzmi: jaki wynik na danych, których model nie widział? Na Kaggle ten sam problem wraca jako rozjazd między wynikiem lokalnym a tabelą wyników (lokalna walidacja a leaderboard).
7. Pytanie powtórkowe
Dwie małe sieci neuronowe rozpoznają gatunki irysów. Sieć z 8 neuronami ukrytymi ma 94,7% trafności na treningu i 72,0% na teście. Sieć z 2 neuronami ma 81,3% na treningu i 81,3% na teście. Którą wybierasz i jakim jednym słowem opiszesz problem pierwszej?
Odpowiedź w następnym numerze.