W poprzedniej części przedstawiliśmy poniższy model, który często błędnie klasyfikował
drzew w zestawie testowym:
Poprzedni model zawiera wiele złożonych kształtów. Czy prościej będzie
model lepiej radzi sobie z nowymi danymi? Załóżmy, że zastępujesz złożony model
Powstał z niesamowicie prostym modelem – linią prostą.
Na nowych danych prosty model uogólnia lepiej niż model złożony. To znaczy,
model prosty zapewnił lepsze prognozy w zbiorze testowym niż model złożony.
Prostota już od dawna podbija złożony charakter.
Preferencja prostoty sięga starożytnej Grecji. stuleci później,
XIV-wieczny mnich, Wilhelm z Okamu, sformalizowany charakter swoich preferencji
dla prostoty filozofii znanej jako Occam
brzytwa. Ta filozofia
pozostaje podstawową zasadą wielu nauk, w tym
systemów uczących się.
Ćwiczenia: sprawdź swoją wiedzę
Opracowujesz równanie fizyczne. Które z tych formuł
czy „brzytwa Occama?”.
Formuła z trzema zmiennymi.
Trzy zmienne lepiej pasują do Occama niż 12 zmiennych.
Wzór z 12 zmiennymi.
Dwanaście zmiennych wydaje się zbyt skomplikowane, prawda?
Dwie najsłynniejsze wzory fizyczne wszech czasów (F=ma i
E=mc2) każda obejmuje tylko 3 zmienne.
Pracujesz nad zupełnie nowym projektem systemów uczących się i wybierzesz
z myślą o pierwszych funkcjach. Ile funkcji trzeba wybrać?
Wybierz 1–3 funkcje, które według Ciebie mają dużą skuteczność prognozowania.
Najlepiej, aby potok zbierania danych zaczynał się od jednej lub
dwie funkcje. Pomoże Ci to sprawdzić, czy model ML działa zgodnie z oczekiwaniami.
Poza tym, gdy stworzysz punkt bazowy na podstawie kilku funkcji,
robisz postępy!
Wybierz 4–6 funkcji, które według Ciebie mają dużą skuteczność prognoz.
Później będziesz potrzebować tak wielu funkcji, ale nadal lepiej jest
zacząć od mniejszej liczby. Mniejsza liczba funkcji oznacza zazwyczaj mniej zbędnych funkcji
komplikacje.
Wybierz jak najwięcej cech, aby zacząć obserwować, które
mają największą skuteczność
w prognozowaniu.
Zacznij od mniejszych. Każda nowa funkcja wzbogaci Twoje trenowanie o nowy wymiar
w gromadzeniu danych. Wraz ze wzrostem rozmiaru
rośnie tak szybko, że dostępne dane treningowe stają się rozproszone.
tym mniejsza ilość danych, tym trudniej jest modelowi nauczyć się zależności
między istotnymi cechami a etykietą. Ten zjawisko
tzw. „przekleństwo wielowymiarowości”.
Regularyzacja
Modele systemów uczących się muszą jednocześnie osiągnąć 2 kolidujące cele:
Prawidłowe dane.
Optymalizowanie danych w jak najprostszy sposób.
Jednym ze sposobów zapewnienia prostoty modelu jest nałożenie kary na złożone modele. czyli
aby zmusić model do jego uproszczenia podczas trenowania. Kompleks karny
to jedna z form regularizacji.
Strata i złożoność
Jak dotąd, jedynym celem szkolenia było
zminimalizować straty; czyli:
$$\text{minimize(loss)}$$
Jak widać, modele skupiające się wyłącznie na minimalizowaniu strat często się dopasowują.
Lepszy algorytm optymalizacji trenowania minimalizuje część kombinacji
straty i złożoność.
$$\text{minimize(loss + complexity)}$$
Niestety strata i złożoność są zwykle odwrotnie powiązane. Jako
zwiększa się złożoność, a straty maleją. Im większa złożoność, tym większe straty.
Należy znaleźć rozsądny środek, który zapewnia model
tworzenia prognoz na danych treningowych i rzeczywistych.
Oznacza to, że model powinien znaleźć rozsądny kompromis,
między stratą a złożonością.
Co to jest złożoność?
Omówiliśmy już kilka sposobów pomiaru strat. Jak
i określasz złożoność? Rozpocznij swoją eksplorację od tego ćwiczenia:
Ćwiczenie: sprawdź intuicję
Do tej pory byliśmy dość nieprecyzyjni, jeśli chodzi o złożoność
Które z tych pomysłów Twoim zdaniem byłyby uzasadnione
ze wskaźnikiem złożoności?
Złożoność jest funkcją wag modelu.
Tak, jest to jeden ze sposobów pomiaru skuteczności niektórych modeli. i jego złożoność.
Ten rodzaj danych nazywa się
L1 regularyzacja.
Złożoność to funkcja kwadratu wagi modelu.
Tak, w niektórych modelach można mierzyć w ten sposób złożoność. Ten wskaźnik
nazywa się
L2 regularyzacja.
Złożoność jest funkcją uprzedzeń wszystkich cech w
model atrybucji.