Nadmierne dopasowanie: złożoność modelu

W poprzedniej lekcji przedstawiono model, który źle sklasyfikował wiele drzew w zbiorze testowym:

Rysunek 16. Ten sam obraz co na rysunku 13. To złożony kształt, który źle kategoryzuje wiele drzew.
Rysunek 16. Skomplikowany model z poprzedniej jednostki, który działa nieprawidłowo.

Poprzedni model zawiera wiele złożonych kształtów. Czy prostszy model lepiej poradzi sobie z nowymi danymi? Załóżmy, że zastąpisz złożony model bardzo prostym modelem – linią prostą.

Rysunek 17. Model linii prostej, który doskonale oddziela chore drzewa od zdrowych.
Rysunek 17. znacznie prostszy model.

Prosty model lepiej generalizuje się na nowych danych niż model złożony. Oznacza to, że prosty model lepiej przewidywał wyniki w zestawie testowym niż model złożony.

Prostota od dawna wygrywa z złożonością. W zasadzie preferowanie prostoty sięga czasów starożytnej Grecji. Wieki później XIV-wieczny franciszkanin Wilhelm z Okhamu sformalizował preferencję dla prostoty w filozofii znanej jako brzytwa Ockhama. Ta filozofia pozostaje podstawową zasadą wielu nauk, w tym systemów uczących się.

Ćwiczenia: sprawdź swoją wiedzę

Tworzysz równanie fizyczne. Która z tych formuł jest najbardziej zgodna z brzytwą Occama?
Formuła z 3 zmiennymi.
Trzy zmienne są bardziej zgodne z zasadą Occama niż 12 zmiennych.
Formuła z 12 zmiennymi.
12 zmiennych wydaje się zbyt skomplikowane, prawda? Dwie najsłynniejsze formuły fizyczne wszechczasów (F=ma i E=mc2) zawierają tylko 3 zmiennych.
Pracujesz nad zupełnie nowym projektem systemów uczących się i zamierzasz wybrać pierwsze funkcje. Ile funkcji należy wybrać?
Wybierz 1–3 cechy, które wydają się mieć dużą moc predykcyjną.
Najlepiej zacząć od potoku zbierania danych, który obejmuje tylko jedną lub dwie cechy. Dzięki temu możesz sprawdzić, czy model systemów uczących się działa zgodnie z oczekiwaniami. Gdy zbudujesz podstawowy model na podstawie kilku funkcji, będziesz mieć poczucie, że robisz postępy.
Wybierz 4–6 cech, które wydają się mieć dużą moc predykcyjną.
Możesz w przyszłości korzystać z tak wielu funkcji, ale na początek lepiej jest wybrać mniej. Mniej funkcji zwykle oznacza mniej niepotrzebnych komplikacji.
Wybierz jak najwięcej cech, aby móc obserwować, które z nich mają największą moc predykcyjną.
Zacznij od mniejszej skali. Każda nowa cecha dodaje nowy wymiar do zbioru danych treningowych. Gdy wymiarowość wzrasta, objętość przestrzeni rośnie tak szybko, że dostępne dane treningowe stają się rzadkie. Im rzadsze masz dane, tym trudniej jest modelowi poznać zależność między cechami, które mają znaczenie, a etykietą. Zjawisko to nazywa się „klątwą wymiarowości”.

Regularyzacja

Modele uczenia maszynowego muszą jednocześnie realizować 2 sprzeczne cele:

  • dobrze dopasowywać dane;
  • Dopasuj dane w jak najbardziej prosty sposób.

Jednym ze sposobów na utrzymanie prostoty modelu jest karanie złożonych modeli, czyli wymuszenie na modelu uproszczenia podczas trenowania. Karanie złożonych modeli to jedna z form regrytacji.

Straty i złożoność

Do tej pory w tym kursie sugerowaliśmy, że podczas trenowania jedynym celem było minimalizowanie straty, czyli:

$$\text{minimize(loss)}$$

Jak już widzisz, modele skupione wyłącznie na minimalizowaniu straty mają tendencję do nadmiernego dopasowywania. Lepszy algorytm optymalizacji treningu minimalizuje pewną kombinację utraty i złożoności:

$$\text{minimize(loss + complexity)}$$

Niestety, straty i złożoność są zwykle odwrotnie proporcjonalne. Wraz ze wzrostem złożoności straty maleją. Wraz ze spadkiem złożoności rośnie strata. Należy znaleźć rozsądny kompromis, w którym model będzie dobrze prognozował zarówno na podstawie danych treningowych, jak i danych rzeczywistych. Oznacza to, że model powinien znaleźć rozsądny kompromis między stratą a złożonością.

Co to jest złożoność?

Poznaliśmy już kilka różnych sposobów ilościowego określania strat. Jak zdefiniujesz złożoność? Rozpocznij eksplorację, wykonując ten ćwiczenie:

Ćwiczenie: sprawdź swoją intuicję

Do tej pory nie podaliśmy dokładnej definicji złożoności. Który z tych pomysłów na miarę złożoności jest rozsądny?
Złożoność jest funkcją wag modelu.
Tak, jest to jeden ze sposobów pomiaru złożoności niektórych modeli. Te dane nazywamy regularyzacją L1.
Złożoność jest funkcją kwadratu wag modelu.
Tak, w ten sposób możesz mierzyć złożoność niektórych modeli. Te dane nazywają się regularyzacją L2.
Złożoność jest funkcją wszystkich błędów w przypadku wszystkich cech w danym modelu.
Uogólnienia nie mierzą złożoności.