7

To może wydawać się głupie pytanie, ale po prostu nie mogę podać rozsądnej odpowiedzi.Dlaczego występuje potrzeba regularyzacji w uczeniu maszynowym?

Mówi się, że regularyzacja może pomóc nam w uzyskaniu prostych modeli na skomplikowanych, aby uniknąć przepasowania. Ale dla liniowego problemu klasyfikacji:

f(x) = Wx 

Złożoność modelu jest nieco określona: to jest liniowa, nie kwadratowa lub coś bardziej skomplikowane. Dlaczego więc nadal potrzebujemy uregulowania parametrów? Dlaczego w takich przypadkach preferujemy mniejsze ciężary?

+0

Czy Twoje pytanie: Dlaczego zmniejszenie parametrów W do zera zmniejsza złożoność modelu? W każdym razie - prawdopodobnie powinien zostać przeniesiony do statystyk. – cel

+0

Nie, pytam, dlaczego potrzebujemy R (w) w f (x) = wx + R (w). Ponieważ myślę, że w klasyfikacji liniowej, kompleks modelu jest taki sam dla każdego wybranego przez nas. Ale dlaczego wolimy te mniejsze? – Demonedge

+1

Cóż, jeśli nie wiesz, co odpowiedzieć na moje pytanie, mogę z łatwością odpowiedzieć na twoje pytanie: Ponieważ chcemy zmniejszyć złożoność modelu. Mniejszy wektor 'w' prowadzi do mniej złożonego modelu, często preferowane są mniej złożone modele. Zobacz https://en.wikipedia.org/wiki/Occam%27s_razor, z filozoficznego punktu widzenia, lub https://en.wikipedia.org/wiki/Regularization_(mathematics) dla bardziej matematycznego punktu widzenia. – cel

Odpowiedz

3

Konieczność regularyzacji modelu będzie coraz mniej, ponieważ zwiększysz liczbę próbek, z którymi chcesz ćwiczyć model lub zmniejszyć złożoność modelu. Jednak liczba przykładów potrzebnych do wyszkolenia modelu bez (lub z bardzo bardzo małym efektem regularyzacji) wzrasta wykładniczo (super) z liczbą parametrów i prawdopodobnie z innych czynników dziedziczących w modelu.

Ponieważ w większości problemów z uczeniem maszynowym nie mamy wymaganej liczby próbek szkoleniowych lub złożoność modelu jest duża, musimy użyć regulacji, aby uniknąć lub zmniejszyć możliwość nadmiernego dopasowania. Intuicyjnie, sposób działania regularyzacji wprowadza pojęcie karnej nazwy do argmin∑L(desired,predictionFunction(Wx)), gdzie L jest funkcją straty, która oblicza, jak wiele prognozy modelu odbiegają od pożądanych celów. Tak więc nowa funkcja straty staje się argmin∑L(desired,predictionFunction(Wx)) + lambda*reg(w), gdzie reg jest rodzajem regulacji (np. squared L2) i lambda jest współczynnikiem, który kontroluje efekt regularyzacji. Następnie, naturalnie, minimalizując funkcję kosztu, wektory ciężaru są ograniczone do małych kwadratów (na przykład squared L2 norm) i kurczą się do zera. Jest tak dlatego, że im większa jest kwadratowa długość wektorów wagowych, tym wyższa jest strata. Dlatego też wektory ciężaru muszą również kompensować obniżanie strat modelu podczas działania optymalizacji.

Teraz wyobraź sobie, że usuniesz termin regularyzacji (lambda = 0). Wtedy parametry modelu mogą mieć dowolne wartości, a więc kwadratowa długość wektorów wagowych może rosnąć bez względu na to, czy masz model liniowy czy nieliniowy. To dodaje kolejny wymiar złożoności modelu (oprócz liczby parametrów), a procedura optymalizacji może znaleźć wektory masy, które mogą dokładnie pasować do punktów danych treningowych. Jednak w przypadku narażenia na niewidoczne (sprawdzanie poprawności lub testowanie) zestawy danych model nie będzie w stanie generalizować dobrze, ponieważ jest zbyt dopasowany do danych treningowych.

Powiązane problemy