Regularyzacja w regresji (liniowa, logistyczna ...) jest najpopularniejszym sposobem ograniczenia nadmiernego dopasowania.
Kiedy celem jest dokładność prognoz (nie wyjaśniając), czy istnieją jakieś dobre alternatywy dla regularyzacji, szczególnie odpowiednie dla dużych zbiorów danych (mi / miliardy obserwacji i miliony funkcji)?
regression
regularization
overfitting
Benoit Sanchez
źródło
źródło
Odpowiedzi:
Dwie ważne kwestie, które nie są bezpośrednio związane z twoim pytaniem:
Po pierwsze, nawet celem jest dokładność zamiast interpretacji, w wielu przypadkach nadal konieczna jest normalizacja, ponieważ zapewni ona „wysoką dokładność” rzeczywistego zestawu danych testowych / produkcyjnych, a nie danych wykorzystywanych do modelowania.
Po drugie, jeśli istnieje miliard wierszy i milionów kolumn, możliwe jest, że nie jest wymagana regularyzacja. Wynika to z faktu, że dane są ogromne, a wiele modeli obliczeniowych ma „ograniczoną moc”, co oznacza, że prawie niemożliwe jest ich przekroczenie. Właśnie dlatego niektóre głębokie sieci neuronowe mają miliardy parametrów.
A teraz o twoim pytaniu. Jak wspomnieli Ben i Andrey, istnieją pewne opcje jako alternatywy dla regularyzacji. Chciałbym dodać więcej przykładów.
Użyj prostszego modelu (na przykład zmniejsz liczbę jednostek ukrytych w sieci neuronowej. Użyj wielomianowego jądra niższego rzędu w SVM. Zmniejsz liczbę Gaussian w mieszance Gaussa. Itp.)
Zatrzymaj wcześnie w optymalizacji. (Na przykład, skróć epokę szkolenia w sieci neuronowej, zmniejsz liczbę iteracji w optymalizacji (CG, BFGS itp.)
Średnia w wielu modelach (na przykład losowy las itp.)
źródło
Dwie alternatywy dla regularyzacji:
Geoff Hinton (współtwórca propagacji wstecznej) opowiedział kiedyś historię inżynierów, którzy powiedzieli mu (parafrazując): „Geoff, nie potrzebujemy porzucenia naszych głębokich sieci, ponieważ mamy tak dużo danych”. I jego odpowiedź była: „No, to należy budować nawet głębsze sieci, dopóki nie są przeuczenia, a następnie użyj przerywania”. Pomijając dobrą radę, najwyraźniej można uniknąć regularyzacji nawet przy głębokich sieciach, o ile istnieje wystarczająca ilość danych.
Przy stałej liczbie obserwacji możesz również wybrać prostszy model. Prawdopodobnie nie potrzebujesz regularyzacji, aby oszacować przecięcie, nachylenie i wariancję błędu w prostej regresji liniowej.
źródło
Niektóre dodatkowe możliwości uniknięcia przeuczenia
Redukcja wymiarów
Wybór funkcji (także redukcja wymiarowości)
Możesz wykonać rundę wyboru elementów (np. Używając LASSO), aby uzyskać niższą przestrzeń cech. Coś takiego jak wybór funkcji za pomocą LASSO może być przydatny, jeśli jakiś duży, ale nieznany podzbiór funkcji jest nieistotny.
Używaj algorytmów mniej podatnych na przerost, takich jak losowy las. (W zależności od ustawień, liczby funkcji itp. ... mogą być one bardziej kosztowne obliczeniowo niż zwykłe najmniejsze kwadraty).
W niektórych innych odpowiedziach wspomniano również o zaletach technik / algorytmów wzmacniania i workowania.
Metody bayesowskie
Dodanie przedrostka do wektora współczynnika w celu zmniejszenia nadmiernego dopasowania. Jest to koncepcyjnie związane z regularyzacją: np. regresja grzbietu jest szczególnym przypadkiem oceny maksymalnej a posteriori.
źródło
Jeśli używasz modelu z solwerem, w którym możesz zdefiniować liczbę iteracji / epok, możesz śledzić błąd sprawdzania poprawności i zastosować wcześniejsze zatrzymanie: zatrzymaj algorytm, gdy błąd sprawdzania zacznie rosnąć.
źródło
Dwie myśli:
Popieram strategię „użyj prostszego modelu” zaproponowaną przez Bena Ogorka .
Pracuję na bardzo rzadkich liniowych modelach klasyfikacyjnych o małych współczynnikach całkowitych (np. Maks. 5 zmiennych o współczynnikach całkowitych od -5 do 5). Modele uogólniają się pod względem dokładności i trudniejszych wskaźników wydajności (np. Kalibracja).
Jeśli możesz określić dodatkowe ograniczenia dla swojego modelu (np. Ograniczenia monotoniczności, informacje dodatkowe), może to również pomóc w uogólnieniu poprzez zmniejszenie przestrzeni hipotez (patrz np. Ten artykuł ).
Trzeba to zrobić ostrożnie (np. Prawdopodobnie chcesz porównać swój model z linią bazową bez ograniczeń i zaprojektować swój proces treningowy w taki sposób, aby upewnić się, że nie wybierasz ograniczeń).
źródło