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 eta
lub co n_iterations
oznacza.
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
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.
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ę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:
źródło
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ę