ML Atlas

03 · Nadzorowane · 5 min czytania · aktualizacja

Czym różni się regularyzacja L1 od L2 i którą wybrać?

W skrócie

L1 (Lasso) zeruje część wag i sama wybiera cechy, L2 (Ridge) zmniejsza wszystkie wagi, nie zerując żadnej. L1 służy przy wielu zbędnych cechach.

Co to jest

Regularyzacja L1 dodaje do straty sumę wartości bezwzględnych wag (λ·Σ|wⱼ|) i ustawia część z nich dokładnie na zero, więc przy okazji wybiera cechy; L2 dodaje sumę kwadratów wag (λ·Σwⱼ²) i ściąga wszystkie wagi proporcjonalnie ku zeru, ale żadnej nie zeruje. W regresji liniowej L1 to Lasso, L2 to regresja grzbietowa (Ridge), a ich połączenie to elastic net.

Wybór sprowadza się do założenia o świecie. L1 zakłada, że naprawdę liczy się tylko kilka cech, a reszta to balast. L2 zakłada, że wiele cech wnosi po trochu i nie ma powodu, by którąś całkiem wyrzucać.

W sieciach neuronowych L2 występuje pod nazwą weight decay i jest domyślną formą regularyzacji wag; L1 stosuje się tam rzadko.

Mechanizm — dlaczego tak działa

Gradient kary. Pochodna kary L2 to 2λw: im mniejsza waga, tym słabiej kara ją ciągnie, więc waga maleje, ale nigdy nie dochodzi do zera. Pochodna kary L1 to λ·sign(w): stała siła niezależna od wielkości wagi. Jeśli korzyść z cechy (gradient straty) jest mniejsza niż λ, opłaca się ustawić wagę dokładnie na zero. Stąd rzadkie rozwiązania Lasso.

Geometria. Regularyzację można zapisać jako ograniczenie: minimalizuj stratę przy Σ|wⱼ| ≤ t (romb) albo Σwⱼ² ≤ t (koło). Elipsy stałej straty najczęściej dotykają rombu w wierzchołku, gdzie część współrzędnych jest zerowa, a koła — w dowolnym punkcie obwodu.

Skorelowane cechy. L2 dzieli wagę między skorelowane cechy po równo, bo suma kwadratów jest najmniejsza przy równym podziale. L1 jest obojętna, jak podzielić wagę, więc zwykle wybiera jedną z cech, a którą — zależy od drobnych fluktuacji próbki. Dlatego wybór cech przez Lasso bywa niestabilny. Elastic net (mieszanka L1 i L2) łączy rzadkość z grupowaniem skorelowanych cech.

Interpretacja bayesowska. L2 odpowiada rozkładowi a priori Gaussa na wagi (większość wag małych, żadna zerowa), L1 — rozkładowi Laplace’a, z ostrym szczytem w zerze.

Warunek wspólny: skalowanie. Obie kary porównują wielkości wag, a waga zależy od jednostki cechy. Bez standaryzacji cecha w gramach jest karana inaczej niż ta sama cecha w kilogramach.

Na przykładzie

Diabetes: 442 pacjentów, 10 cech, cel — postęp choroby po roku. Do prawdziwych cech dokładam 0, 50 albo 200 kolumn czystego szumu (rozkład normalny, random_state=0). Cechy standaryzowane, siła kary dobierana wewnętrzną 5-krotną walidacją (RidgeCV, LassoCV, ElasticNetCV), ocena — R² w powtarzanej walidacji 5 × 10.

Dodane kolumny szumuBez karyRidge (L2)Lasso (L1)Elastic netLasso: niezerowe wagi (w tym prawdziwe)
00,4840,4820,4810,4839 (9)
500,3960,4300,4650,45114 (5)
200−0,2380,3490,4570,43431 (5)

Bez szumu kara nic nie daje: 442 przykłady na 10 cech to dość, by zwykła regresja się nie przeuczyła, a wszystkie trzy warianty różnią się o 0,003. Przy 200 zbędnych kolumnach zwykła regresja zapada się poniżej zera, Ridge trzyma 0,349, a Lasso 0,457 — prawie tyle, co na czystych danych. Lasso wciąż przepuszcza jednak 26 kolumn szumu i gubi 5 prawdziwych cech: rzadkość nie jest gwarancją trafnej selekcji.

Skorelowane cechy s1 i s2 (cholesterol całkowity i LDL, korelacja 0,897) dostają w Lasso wagi −27,1 i 14,4, w Ridge −23,6 i 11,5 — L2 łagodzi ich wzajemne znoszenie się. Niestabilność selekcji widać w bootstrapie: w 100 próbkach płeć, BMI, ciśnienie i s5 zostają zawsze, ale s2 tylko w 60%.

Breast Cancer (30 silnie skorelowanych cech, regresja logistyczna, walidacja 5 × 5): L2 — trafność 0,977, log loss 0,078; L1 — 0,975 i 0,082, ale średnio tylko 14,4 niezerowych wag (od 9 do 17 zależnie od podziału). Dokładność ta sama, model o połowę prostszy.

Dane: Breast Cancer Wisconsin (diagnostyka raka piersi) Diabetes (progresja cukrzycy)

W praktyce

Reguła wyboru:

  • Domyślnie i gdy cechy są skorelowane → L2: make_pipeline(StandardScaler(), RidgeCV(alphas=np.logspace(-3, 3, 30))) lub LogisticRegression(penalty="l2", C=1.0).
  • Dużo cech, podejrzewasz, że ważnych jest kilka, chcesz prostszego modelu → L1: LassoCV(cv=5) lub LogisticRegression(penalty="l1", solver="liblinear", C=0.1).
  • Skorelowane grupy cech i potrzeba selekcji → elastic net: ElasticNetCV(l1_ratio=[0.1, 0.5, 0.9], cv=5).
  • Zawsze standaryzuj cechy przed karą i dobieraj jej siłę walidacją krzyżową; w scikit-learn C w LogisticRegression to odwrotność siły kary (mniejsze C = mocniejsza kara).
  • Selekcję Lasso sprawdzaj stabilnością: powtórz dopasowanie na próbkach bootstrapowych i zostaw cechy wybierane w większości z nich.
  • W PyTorch: L2 przez torch.optim.AdamW(params, weight_decay=0.01); L1 ręcznie, dodając lam * sum(p.abs().sum() for p in model.parameters()) do straty.

Najczęstsze pytania

Czy L1 to dobra metoda selekcji cech?
Dobra do przesiewu, słaba jako wyrocznia. Przy skorelowanych cechach wybór między nimi jest przypadkowy, a przy wielu zbędnych kolumnach część szumu przechodzi. Traktuj wynik jako hipotezę i sprawdzaj stabilność.
Dlaczego w sieciach neuronowych używa się prawie wyłącznie L2?
L1 daje rzadkie wagi, ale współczesny sprzęt nie przyspiesza od rozproszonych zer, a optymalizacja z niegładką karą jest kłopotliwa. L2 (weight decay) jest gładkie, prosto współgra z SGD i dobrze stabilizuje trening. Rzadkość w sieciach uzyskuje się raczej przez przycinanie po treningu.
Czym się różni weight decay od kary L2?
Przy zwykłym SGD to to samo. Przy Adamie nie: kara L2 dodana do straty jest skalowana przez adaptacyjne mianowniki, a weight decay odejmuje część wagi bezpośrednio. Loshchilov i Hutter (2019) pokazali, że ta druga wersja, czyli AdamW, regularyzuje lepiej.

Źródła

  • Tibshirani R. „Regression Shrinkage and Selection via the Lasso”, Journal of the Royal Statistical Society: Series B 58(1), 1996, s. 267–288.
  • Hoerl A. E., Kennard R. W. „Ridge Regression: Biased Estimation for Nonorthogonal Problems”, Technometrics 12(1), 1970, s. 55–67.
  • Zou H., Hastie T. „Regularization and Variable Selection via the Elastic Net”, Journal of the Royal Statistical Society: Series B 67(2), 2005, s. 301–320.
  • Ng A. Y. „Feature selection, L1 vs. L2 regularization, and rotational invariance”, ICML 2004.
  • James G., Witten D., Hastie T., Tibshirani R. „An Introduction to Statistical Learning”, 2nd ed., Springer 2021, rozdz. 6.2.

Zobacz też