Co to jest regularyzacja zwykłym angielskim?

74

W przeciwieństwie do innych artykułów, znalazłem wpis w Wikipedii dla tego tematu nieczytelny dla osoby niebędącej matematyką (jak ja).

Zrozumiałem podstawową ideę, że faworyzujesz modele o mniejszej liczbie zasad. Nie rozumiem, jak przejść z zestawu reguł do „wyniku regularyzacji”, którego można użyć do sortowania modeli od najmniejszego do najbardziej nadmiernego.

Czy możesz opisać prostą metodę regularyzacji?

Interesuje mnie kontekst analizy statystycznych systemów handlu. Byłoby wspaniale, gdybyś mógł opisać, czy / jak mogę zastosować regularyzację do analizy następujących dwóch modeli predykcyjnych:

Model 1 - cena rośnie, gdy:

  • exp_moving_avg (cena, okres = 50)> exp_moving_avg (cena, okres = 200)

Model 2 - cena rośnie, gdy:

  • cena [n] <cena [n-1] 10 razy z rzędu
  • exp_moving_avg (cena, okres = 200) rośnie

Ale bardziej interesuje mnie wyczucie, jak przeprowadzasz regularyzację. Więc jeśli znasz lepsze modele do wyjaśnienia, zrób to.

Meh
źródło
7
Przykładem jest regresja kalenicowa, czyli OLS z ograniczeniem sumy kwadratów współczynników. Wprowadzi to odchylenie do modelu, ale zmniejszy wariancję współczynników, czasem znacznie. LASSO jest inną pokrewną metodą, ale nakłada ograniczenie L1 na wielkość współczynników. Ma tę zaletę, że spada współczynniki. Jest to przydatne w sytuacjach p >> n Regularne poniekąd oznacza „kurczenie się” modelu w celu uniknięcia nadmiernego dopasowania (i zmniejszenia wariancji współczynnika), co zwykle poprawia wydajność predykcyjną modelu.
HairyBeast,
2
@HairyBeast Powinieneś umieścić swój miły komentarz jako odpowiedź. Jeśli to możliwe, spróbuj dodać przykładowy przykład, aby PO mógł dowiedzieć się, w jaki sposób przekłada się na dany problem.
chl
1
@HairyBeast, czy mogę powiedzieć, że regularyzacja to tylko metoda realizacji pomysłu kompromisu wariancji odchylenia ?
awokado
Uznałem ten film za bardzo pomocny, szczególnie w wizualizacji różnych form regulowania Lp: youtube.com/watch?v=sO4ZirJh9ds
Anm
Regularyzacja służy rozwiązaniu problemu przeuczenia w wyuczonym modelu. Próbowałem wyjaśnić prostym językiem angielskim i wizualnie. Poniżej znajduje się link do artykułu medium.com/@vamsi149/…
solver149,

Odpowiedzi:

57

Mówiąc najprościej, regularyzacja polega na dostrajaniu lub wybieraniu preferowanego poziomu złożoności modelu, aby Twoje modele lepiej przewidywały (generalizowały). Jeśli tego nie zrobisz, twoje modele mogą być zbyt skomplikowane i przeładowane lub zbyt proste i niedopasowane, w każdym razie dając złe prognozy.

Jeśli najmniejsze kwadraty pasują do złożonego modelu do niewielkiego zestawu danych treningowych, prawdopodobnie prawdopodobnie się przewyższysz, jest to najczęstsza sytuacja. Optymalna złożoność modelu zależy od rodzaju modelowanego procesu i jakości danych, więc nie ma z góry poprawnej złożoności modelu.

Aby uregulować, potrzebujesz 2 rzeczy:

  1. Sposób sprawdzania, jak dobre są Twoje modele w przewidywaniu, na przykład przy użyciu weryfikacji krzyżowej lub zestawu danych sprawdzania poprawności (nie można do tego użyć błędu dopasowania ).
  2. Parametr strojenia, który pozwala zmienić złożoność lub gładkość modelu, lub wybór modeli o różnej złożoności / gładkości.
Zasadniczo dostosowujesz parametr złożoności (lub zmieniasz model) i znajdujesz wartość, która daje najlepsze przewidywania modelu.

Zauważ, że zoptymalizowany błąd regularyzacji nie będzie dokładnym oszacowaniem ogólnego błędu prognozowania, więc po regularyzacji będziesz w końcu musiał użyć dodatkowego zestawu danych walidacyjnych lub wykonać dodatkową analizę statystyczną, aby uzyskać obiektywny błąd prognozowania.

Alternatywą dla stosowania testów (krzyżowych) walidacyjnych jest zastosowanie Bayorsa Priors lub innych metod karania za złożoność lub brak płynności, ale wymagają one bardziej statystycznego wyrafinowania i znajomości problemu i cech modelu.

Toby Kelsey
źródło
2
+1 ode mnie Podoba mi się, że ta odpowiedź zaczyna się od początku i jest tak łatwa do zrozumienia ...
Andrew
2
Czy regularyzacja naprawdę jest kiedykolwiek stosowana w celu zmniejszenia niedostatecznego poziomu? Z mojego doświadczenia wynika, że ​​regularyzacja jest stosowana w modelu złożonym / wrażliwym w celu zmniejszenia złożoności / wrażliwości, ale nigdy w prostym / niewrażliwym modelu w celu zwiększenia złożoności / wrażliwości.
Richard Hardy
Ta odpowiedź jest już dość stara, ale zakładam, że Toby miał na myśli to, że regularyzacja to zasadniczy sposób dopasowania modelu o odpowiedniej złożoności, biorąc pod uwagę ilość danych; jest to alternatywa zarówno do wyboru a priori modelu ze zbyt małą liczbą (lub niewłaściwych), jak i do wyboru modelu, który jest zbyt skomplikowany i nie pasuje.
Bryan Krause,
26

Załóżmy, że uczysz się poprzez empiryczną minimalizację ryzyka.

Dokładniej:

  • masz swoją funkcję nieujemnej straty która charakteryzuje, jak złe są twoje przewidywaniaL(actual value, predicted value)
  • chcesz dopasować swój model w taki sposób, aby jego przewidywania minimalizowały funkcję średniej straty obliczoną tylko na podstawie danych treningowych (jedyne dane, które masz)

Następnie celem procesu uczenia się jest znalezienie (metoda ta nazywa się ryzykiem empirycznym minimalizacja).Model=argminL(actual,predicted(Model))

Ale jeśli nie masz wystarczającej ilości danych i istnieje ogromna liczba zmiennych w twoim modelu, bardzo prawdopodobne jest znalezienie takiego modelu, który nie tylko wyjaśnia wzorce, ale także wyjaśnia losowy szum w twoich danych. Ten efekt nazywa się nadmiernym dopasowaniem i prowadzi do pogorszenia zdolności generalizacji twojego modelu.

Aby uniknąć nadmiernego dopasowania, do funkcji docelowej wprowadzono termin regularyzacji: Model=argminL(actual,predicted(Model))+λR(Model)

Zwykle ten termin nakłada specjalną karę na złożone modele. Na przykład w modelach o dużych współczynnikach (regularyzacja L2, = suma kwadratów współczynników) lub o dużej wartości, jeśli współczynniki niezerowe (regularyzacja L1, = suma wartości bezwzględnych współczynników). Jeśli trenujemy drzewo decyzyjne, może być jego głębokością.R(Model)RRR

Innym punktem widzenia jest to, że wprowadza naszą wcześniejszą wiedzę na temat formy najlepszego modelu („nie ma zbyt dużych współczynników”, „jest prawie ortogonalne, aby ”)Ra¯

bijey
źródło
12

Mówiąc prosto, regularyzacja polega na korzystaniu z rozwiązań, których można oczekiwać. Jak wspomniałeś, na przykład możesz skorzystać z „prostych” rozwiązań, dla pewnej definicji prostoty. Jeśli twój problem ma reguły, jedna definicja może być mniej reguł. Ale to zależy od problemu.

Zadajesz jednak właściwe pytanie. Na przykład w maszynach wektorów wsparcia ta „prostota” wynika z zerwania więzi w kierunku „maksymalnego marginesu”. Margines ten można jasno zdefiniować pod względem problemu. W artykule SVM w Wikipedii znajduje się bardzo dobra pochodna geometryczna . Okazuje się, że termin regularyzacji to, co najmniej prawdopodobnie, „sekretny sos” SVM.

Jak przeprowadzasz regularyzację? Ogólnie rzecz biorąc, jest to metoda, której używasz, jeśli używasz SVM, przeprowadzasz regulację L2, jeśli używasz LASSO, robisz regulację L1 (zobacz, co mówi Hairybeast). Jeśli jednak opracowujesz własną metodę, musisz wiedzieć, jak odróżnić pożądane rozwiązania od niepożądanych, i mieć funkcję, która to kwantyfikuje. Na koniec będziesz mieć termin kosztów i termin regularyzacji, i chcesz zoptymalizować sumę obu.

carlosdc
źródło
1

Techniki regularyzacji to techniki stosowane w modelach uczenia maszynowego, dzięki którym granica decyzji / dopasowany model jest bardziej płynna. Te techniki pomagają zapobiegać przeuczeniu.

Przykłady: L1, L2, zanik, zanik masy w sieciach neuronowych. Parametr w SVM.C

Martin Thoma
źródło
0

Krótko mówiąc, regularyzacja to technika pozwalająca uniknąć nadmiernego dopasowania podczas szkolenia algorytmów uczenia maszynowego. Jeśli masz algorytm z wystarczającą liczbą wolnych parametrów, możesz interpolować z dużą szczegółowością próbkę, ale przykłady wychodzące poza próbkę mogą nie być zgodne z tą interpolacją szczegółów, ponieważ po prostu wychwytuje szum lub przypadkowe nieregularności w próbce zamiast prawdziwego trendu.

Można uniknąć nadmiernego dopasowania, ograniczając wartość bezwzględną parametrów w modelu. Można to zrobić poprzez dodanie terminu do funkcji kosztu, który nakłada karę na podstawie wielkości parametrów modelu. Jeśli wielkość mierzy się w normie L1, nazywa się to „regularyzacją L1” (i zwykle skutkuje to rzadkimi modelami), jeśli mierzy się ją w normie L2, nazywa się to „regularyzacją L2” i tak dalej.

sandip44
źródło