encyklopedia.run.place

L2 regularization

L2 regularization, zwana również regularizacją L2 lub penalty ridge, jest techniką zapobiegania przeuczeniu modeli statystycznych i uczenia maszynowego poprzez dodanie kary za duże wartości parametrów modelu. Metoda ta jest jedną z najczęściej stosowanych form regularizacji.

Definicja formalna

W kontekście regresji liniowej, model przyjmuje postać:

        ŷ = Xw + b
    

gdzie X jest macierzą cech, w wektorem wag, a b wyrazem wolnym. L2 regularization modyfikuje funkcję kosztu J w następujący sposób:

        J(w) = L(y, ŷ) + λ‖w‖₂²
    

gdzie L jest pierwotną funkcją straty (np. błąd średniokwadratowy), λ ≥ 0 – współczynnik regularyzacji, a ‖w‖₂² = Σᵢ w_i² jest kwadratem normy L2 wektora wag.

Historia i rozwój

Pierwsze prace nad karą L2 pojawiły się w latach 1970 w literaturze statystycznej, a w 1975 pojawiły się pierwsze zastosowania w analizie regresji (tzw. regresja grzbietowa – ridge regression). W kolejnych dekadach metoda została zaadaptowana w uczeniu maszynowym, zwłaszcza w sieciach neuronowych, gdzie często określa się ją jako weight decay.

Mechanizm działania

  • Redukcja wariancji – karząc duże wagi, model staje się mniej wrażliwy na zmiany w danych treningowych.
  • Rozkład wag – wszystkie współczynniki są jednocześnie „ściągane” w kierunku zera, ale żaden z nich nie jest dokładnie zerowany (w przeciwieństwie do L1 regularization).
  • Stabilność numeryczna – w niektórych algorytmach (np. regresja liniowa) L2 regularization poprawia uwarunkowanie macierzy XᵀX, co ułatwia odwracanie.

Zastosowanie

L2 regularization znajduje zastosowanie w wielu dziedzinach:

Porównanie z L1 regularization

Istnieją dwie najpopularniejsze odmiany regularizacji:

Cecha L1 (Lasso) L2 (Ridge)
Forma kary λ‖w‖₁ = λ Σ|wᵢ| λ‖w‖₂² = λ Σ wᵢ²
Efekt na wagi Może zerować niektóre wagi → selekcja cech Wagi są jedynie „ściśnięte” w stronę zera
Rozwiązywanie Algorytmy optymalizacji zwykle nieliniowe (np. metodą współczynnikową) Rozwiązywanie analityczne możliwe w regresji liniowej

Wybór współczynnika λ

Wartość λ kontroluje intensywność kary:

  • λ = 0 – brak regularizacji, model może przeuczyć się.
  • λ → ∞ – wszystkie wagi dążą do zera, model staje się bardzo prosty i może niedouczyć się.

Optymalny λ najczęściej wybiera się metodą kroswalidacji (np. grid search).

Implementacje w popularnych bibliotekach

W praktyce L2 regularization jest dostępna w wielu środowiskach programistycznych:

  • scikit-learn: parametr alpha w klasach Ridge, LogisticRegression (argument penalty='l2').
  • TensorFlow i PyTorch: implementacja poprzez kernel_regularizer=regularizers.l2(λ) lub ręczne dodanie torch.nn.functional.mse_loss(..., reduction='sum') + λ * torch.norm(parameters, 2).
  • statsmodels: funkcja Ridge w module regression.linear_model.

Ograniczenia i wady

  • Nie prowadzi do selekcji cech – nie eliminuje nieistotnych zmiennych.
  • W niektórych sytuacjach (np. bardzo rzadkie dane) L1 regularization może dawać lepsze wyniki.
  • Wymaga odpowiedniego skalowania cech; inaczej waga kary może działać nierównomiernie.

Powiązane pojęcia

Do tematu L2 regularization zaliczają się również:

Przykład matematyczny

Rozważmy prostą regresję liniową z jedną zmienną:

        y_i = w·x_i + b + ε_i
    

Funkcja kosztu z L2 regularization wygląda wtedy tak:

        J(w,b) = Σ (y_i - (w·x_i + b))² + λ·w²
    

Warunek optymalności po pochodnej względem w prowadzi do równania:

        w = (XᵀX + λI)⁻¹ Xᵀy
    

gdzie I jest macierzą jednostkową. Dodanie λI zapewnia odwracalność macierzy nawet przy współliniowości cech.

Podsumowanie

L2 regularization jest kluczowym narzędziem w arsenale metod uczenia maszynowego, które pomaga uzyskać modele bardziej ogólne, stabilne i odporne na szum w danych. Jej prostota, możliwość analitycznego rozwiązania w niektórych przypadkach oraz szeroka dostępność w popularnych bibliotekach czynią ją nieodłącznym elementem współczesnych systemów predykcyjnych.