Co to jest „przepasowanie” i „niedopasowanie” w uczeniu maszynowym?

– S1E14

Ponieważ twoim głównym zadaniem jest wybranie algorytmu uczącego i wytrenowanie go na pewnych danych, dwie rzeczy, które mogą pójść źle to „zły algorytm” i „złe dane”

To są przykłady złego algorytmu-

Overfitting-

Overfitting jest błędem modelowania, który występuje, gdy funkcja jest zbyt ściśle dopasowana do ograniczonego zbioru punktów danych. Oznacza to, że model działa dobrze na danych treningowych, ale nie generalizuje dobrze.

Ex- Powiedzmy, że odwiedzasz obcy kraj i taksówkarz cię okrada. Możesz pokusić się o stwierdzenie, że wszyscy taksówkarze w tym kraju są złodziejami

Overfitting the training data

Złożone modele, takie jak głębokie sieci neuronowe, mogą wykrywać subtelne wzorce w danych, ale jeśli zestaw treningowy jest hałaśliwy, lub jeśli jest zbyt mały (co wprowadza szum próbkowania), wtedy model prawdopodobnie wykryje wzorce w samym szumie.

Na przykład – powiedzmy, że dodajesz atrybut nazwy kraju do swojego modelu satysfakcji z życia-

W takim przypadku złożony model może wykryć wzorce, takie jak fakt, że wszystkie kraje w danych treningowych z literą „w” w nazwie mają satysfakcję z życia większą niż 7: Nowa Zelandia (7.3), Norwegia (7.4), Szwecja (7.2), i Szwajcaria (7.5).

Ale ta reguła zadowolenia z życia nie generalizuje do Rwandy, Zimbabwe, itd.

Oczywiście ten wzór pojawił się w danych treningowych przez czysty przypadek, ale model nie ma sposobu, aby powiedzieć, czy wzór jest prawdziwy, czy po prostu jest wynikiem szumu w danych.

Overfitting ma miejsce, gdy model jest zbyt złożony w stosunku do ilości i zaszumienia danych treningowych.

Oto możliwe rozwiązania:

  • Uprościć model wybierając taki z mniejszą ilością parametrów (np, model liniowy zamiast modelu wielomianowego wysokiego stopnia),
  • Zmniejszając liczbę atrybutów w danych treningowych lub ograniczając* model.
  • Zbierz więcej danych treningowych.
  • Zmniejsz szum w danych treningowych (np, naprawić błędy danych i usunąć wartości odstające).

Konstrukcja modelu w celu jego uproszczenia i zmniejszenia ryzyka przepełnienia nazywana jest regularyzacją.

Na przykład model liniowy, który zdefiniowaliśmy wcześniej, ma dwa parametry, θ0 i θ1 .

Daje to algorytmowi uczącemu dwa stopnie swobody w dostosowywaniu modelu do danych treningowych: może on zmieniać zarówno wysokość (θ0 ), jak i nachylenie (θ1 ) linii.

Jeśli wymusilibyśmy θ1 = 0, algorytm miałby tylko jeden stopień swobody i znacznie trudniej byłoby mu poprawnie dopasować dane: wszystko, co mógłby zrobić, to przesuwać linię w górę lub w dół, aby jak najbardziej zbliżyć się do instancji treningowych, więc skończyłby w okolicach średniej.

Jeśli pozwolimy algorytmowi modyfikować θ1, ale zmusimy go do utrzymywania go na niskim poziomie, wtedy algorytm uczenia będzie miał efektywnie gdzieś pomiędzy jednym a dwoma stopniami swobody.

Chcesz znaleźć równowagę między idealnym dopasowaniem do danych treningowych a utrzymaniem modelu na tyle prostego, aby zapewnić, że będzie on dobrze generalizował.

Regularyzacja zmniejsza ryzyko przepasowania
  • Kropkowana linia – trenowana tylko na okręgach,
  • Linia przerywana – wytrenowana na okręgach i kwadratach
  • Linia ciągła – to model wytrenowany tylko na okręgach

Widać, że regularizacja wymusiła mniejsze nachylenie modelu: model ten nie pasuje do danych treningowych (kółka) tak dobrze jak pierwszy model, ale w rzeczywistości lepiej generalizuje na nowe przykłady, których nie widział podczas treningu (kwadraty).

Ilość regularności, jaką należy zastosować podczas uczenia, można kontrolować za pomocą hiperparametru.

Hiperparametr jest parametrem algorytmu uczenia (nie modelu). Musi być ustawiony przed treningiem i pozostaje stały podczas treningu.

Jeśli ustawisz hiperparametr regularności na-

  • bardzo dużą wartość- otrzymasz prawie płaski model (nachylenie bliskie zeru), algorytm uczenia prawie na pewno nie przepasuje danych treningowych, ale będzie mniej prawdopodobne, że znajdzie dobre rozwiązanie.

Dostrajanie hiperparametrów jest ważnym elementem budowy systemu Machine Learning (szczegółowy przykład zobaczysz w dalszych odcinkach).

Underfitting występuje wtedy, gdy Twój model jest zbyt prosty, aby nauczyć się leżącej u podstaw struktury danych.

Liniowy model satysfakcji z życia jest podatny na underfit, rzeczywistość jest po prostu bardziej złożona niż model, więc jego przewidywania na pewno będą niedokładne.

Oto główne możliwości rozwiązania tego problemu-

  • Wybierz bardziej wydajny model, z większą liczbą parametrów.
  • Podaj lepsze cechy do algorytmu uczącego (inżynieria cech).
  • Zmniejsz ograniczenia na modelu (np, zmniejsz hiperparametr regularyzacji).

Read Next- Testing and Validating a Trained Model

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.