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.
źródło
Odpowiedzi:
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:
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.
źródło
Załóżmy, że uczysz się poprzez empiryczną minimalizację ryzyka.
Dokładniej:
Następnie celem procesu uczenia się jest znalezienie (metoda ta nazywa się ryzykiem empirycznym minimalizacja).Model=argmin∑L(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=argmin∑L(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) R R R
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 ”)R a¯
źródło
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.
źródło
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
źródło
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.
źródło