Zwiększenie: dlaczego współczynnik uczenia się nazywa się parametrem regularyzacji?

19

Szybkość uczenia się parametr ( ) gradientu Zwiększenie kurczy wkładu każdego nowego modelu podstawowego -typically zawiera drzewo płytka, że dodaje się w serii. Wykazano, że radykalnie zwiększa dokładność zestawu testowego, co jest zrozumiałe, ponieważ przy mniejszych krokach minimum funkcji straty można uzyskać bardziej precyzyjnie. ν[0,1]

Nie rozumiem, dlaczego współczynnik uczenia się jest uważany za parametr regularyzacji ? Powołując się na elementy uczenia statystycznego , sekcja 10.12.1, s. 364:

Kontrolowanie liczby drzew nie jest jedyną możliwą strategią regularyzacji. Podobnie jak w przypadku regresji grzbietu i sieci neuronowych, można również zastosować techniki skurczu. Mniejsze wartości (więcej skurczu) w wyniku większego ryzyka szkolenia dla tej samej liczby iteracji . Zatem zarówno , jak i kontrolują ryzyko prognozowania danych treningowych.M ν MνMνM

Regularyzacji oznacza „sposób, aby uniknąć nadmiernego dopasowania”, więc jest oczywiste, że liczba iteracji ma kluczowe znaczenie w tym względzie (a , który jest zbyt wysoka, prowadzi do nadmiernego dopasowania). Ale:MMM

Mniejsze wartości (więcej skurczu) w wyniku większego ryzyka szkolenia dla tej samej liczby iteracji .MνM

oznacza tylko, że przy niskich wskaźnikach uczenia się potrzeba więcej iteracji, aby osiągnąć taką samą dokładność na zestawie treningowym. Jak to się ma do nadmiernego dopasowania?

romuald_84
źródło

Odpowiedzi:

23

Załóżmy, że próbujesz zminimalizować funkcję celu poprzez liczbę iteracji. A aktualna wartość to . W danym zestawie danych nie ma „błędów nieredukowalnych” i można zminimalizować utratę danych treningowych do . Teraz masz dwa sposoby, aby to zrobić.0,0100.00.0

  • Pierwszy sposób to „duża szybkość uczenia się” i kilka iteracji. Załóżmy, że możesz zmniejszyć stratę o w każdej iteracji, a następnie w iteracjach możesz zmniejszyć stratę do .10 0,010.0100.0

  • Drugi sposób to „wolny współczynnik uczenia się”, ale więcej iteracji. Załóżmy, że możesz zmniejszyć straty o w każdej iteracji i potrzebujesz iteracji, aby uzyskać 0,0 straty danych treningowych.1001.0100

Pomyślcie teraz: czy oba podejścia są równe? a jeśli nie, który z nich jest lepszy w kontekście optymalizacji i uczenia maszynowego ?

W literaturze dotyczącej optymalizacji oba podejścia są takie same. Ponieważ oba są zbieżne z optymalnym rozwiązaniem . Z drugiej strony w uczeniu maszynowym nie są one równe. Ponieważ w większości przypadków straty treningowe nie są ustawione na co spowoduje nadmierne dopasowanie.0

Możemy myśleć o pierwszym podejściu jako o „wyszukiwaniu siatki zgrubnej na poziomie”, a o drugim podejściu jako o „poszukiwaniu siatki o drobnym poziomie”. Drugie podejście zwykle działa lepiej, ale wymaga większej mocy obliczeniowej dla większej liczby iteracji.

Aby zapobiec nadmiernemu dopasowaniu, możemy robić różne rzeczy, pierwszym sposobem byłoby ograniczenie liczby iteracji, załóżmy, że stosujemy pierwsze podejście, ograniczamy liczbę iteracji do 5. Na koniec utrata danych treningowych wynosi . (BTW, byłoby to bardzo dziwne z punktu widzenia optymalizacji , co oznacza, że ​​możemy w przyszłości ulepszyć nasze rozwiązanie / nie jest ono zbieżne, ale zdecydowaliśmy się tego nie robić . W trakcie optymalizacji zwykle dodajemy ograniczenia lub warunki kary do funkcji celu, ale zwykle nie ogranicza liczby iteracji).50

Z drugiej strony możemy również zastosować drugie podejście: jeśli ustawimy małą szybkość uczenia się, powiedzmy, zmniejszaj straty o dla każdej iteracji, chociaż mamy dużą liczbę iteracji, powiedzmy iteracji, nadal nie zminimalizowaliśmy straty do .500 0,00.15000.0

Dlatego mały wskaźnik uczenia się jest w pewnym sensie równoznaczny z „większą regularyzacją”.

Oto przykład użycia innej szybkości uczenia się na podstawie danych eksperymentalnych xgboost. Sprawdź poniższe dwa linki, aby zobaczyć, co to znaczy etalub co n_iterationsoznacza.

Parametry dla Tree Booster

Nadmierne dopasowanie kontroli XGBoost

Dla tej samej liczby iteracji powiedz . Mały wskaźnik uczenia się jest „niedopasowany” (lub model ma „wysoki błąd”), a duży wskaźnik uczenia się jest „nadmierny” (lub model ma „dużą wariancję”).50

Przykład zmiany ETA współczynnika uczenia się w modelu XGBoost

PS. dowodem niedopasowania jest to, że zarówno zestaw szkoleniowy, jak i testowy mają duży błąd, a krzywa błędów dla szkolenia i testowania jest blisko siebie. Oznaką nadmiernego dopasowania jest to, że błąd zestawu treningowego jest bardzo niski, a zestaw testowy jest bardzo wysoki, dwie krzywe są daleko od siebie.

Haitao Du
źródło
Czy masz na myśli, że przy niskim współczynniku uczenia się możesz iterować więcej (zawęzić wyszukiwanie) niż przy wysokim współczynniku uczenia się, przy tej samej stracie? Myślę, że rozumiem intuicję, którą próbujesz przekazać, ale bardziej rygorystyczne wyjaśnienia i / lub przykładowy przykład nie zaszkodzi.
Antoine
Dziękuję Ci. Czy możesz zaktualizować swoje linki? Nie działają dla mnie
Antoine
Korzystanie z większej częstotliwości uczenia się jest zawsze lepsze, o ile nie zwiększysz błędu szkolenia w kolejnych iteracjach. Normalizacja, o której mówisz (odchylenie od wariancji), jest związana z błędem szkolenia / walidacji, a nie wskaźnikiem uczenia się. Niezależnie od tego, czy korzystasz z dużej, czy małej częstotliwości uczenia się, jeśli osiągniesz 0,0 błędu treningowego, to równie dobrze się nadużywasz. Jeśli korzystasz z większej częstotliwości uczenia się, musisz wcześniej przerwać optymalizację, aby zapobiec nadmiernemu dopasowaniu. Możesz użyć zestawu sprawdzania poprawności, aby sprawdzić, czy błąd sprawdzania poprawności wzrasta, w którym momencie przerywasz szkolenie.
Curious
lub może coś mi brakuje :)
Ciekawy
This is why small learning rate is sort of equal to "more regularizations". Zgodnie z tym artykułem, im wyższy wskaźnik uczenia się, tym większa regularyzacja: Superkonwergencja: Bardzo szybki trening sieci neuronowych przy użyciu dużych wskaźników uczenia się
Antoine
2

Metodą Newtona aktualizujesz parametry, odejmując gradient straty podzielony przez krzywiznę straty. W optymalizacji opadania gradientu aktualizujesz parametry, odejmując gradient straty razy szybkość uczenia się. Innymi słowy, odwrotność współczynnika uczenia się jest stosowana zamiast rzeczywistej krzywizny strat.

Zdefiniujmy utratę problemu jako stratę, która określa, co jest dobrym modelem, a co złym. To prawdziwa strata. Zdefiniujmy zoptymalizowaną stratę, która jest faktycznie minimalizowana przez reguły aktualizacji.

Z definicji parametrem regularyzacji jest każdy termin, który ma zoptymalizowaną stratę, ale nie utratę problemu. Ponieważ szybkość uczenia się działa jak dodatkowy kwadratowy wyraz w zoptymalizowanej stracie, ale nie ma nic wspólnego z utratą problemu, jest to parametr regularyzacji.

Inne przykłady regularyzacji uzasadniające tę perspektywę to:

  • Rozpad masy ciała, który jest jak dodatkowy termin w zoptymalizowanej stracie, który karze duże ciężary,
  • warunki, które karzą skomplikowane modele, oraz
  • warunki, które karzą korelacje między funkcjami.
Neil G.
źródło
- Nie rozumiem In other words, the reciprocal of the learning rate is used in place of the real loss curvature. - Nie jestem ekspertem domeny i jest to pierwszy raz widzę definicję: a regularization parameter is any term that is in the optimized loss, but not the problem loss. Ja też tego nie rozumiem. Czy możesz podać odpowiednie odniesienie? Z góry dziękuję
Antoine
@Antoine Nie mogę podać referencji. To tylko moje doświadczenie, które próbowałem uzasadnić na podstawie trzech innych przykładów. Jeśli chodzi o szybkość uczenia się siedzącą zamiast krzywizny odwrotnej straty, możesz zauważyć, że jeśli wypiszesz metodę Newtona i zasady aktualizacji gradientu spadają obok siebie.
Neil G