Zettelkasten

L2 정규화는 가중치 크기에 페널티를 부여해 과적합을 방지한다

·수정 2026.04.23·수정 3

요약

**L2 정규화 (Ridge Regularization)**는 손실 함수에 가중치의 제곱합을 더해 큰 가중치에 페널티를 부여한다. 모델이 특정 feature에 과도하게 의존하는 것을 방지하여 과적합을 줄인다. Weight Decay라고도 불린다.

본문

수식

Losstotal=Lossoriginal+λiwi2\text{Loss}_{\text{total}} = \text{Loss}_{\text{original}} + \lambda \sum_{i} w_i^2
  • λ\lambda: 정규화 강도 (하이퍼파라미터)
  • wiw_i: 모델의 가중치

왜 효과가 있는가?

  1. 큰 가중치 억제: 가중치가 클수록 페널티 증가 → 가중치가 작아지는 방향으로 학습
  2. 일반화 향상: 특정 feature에 과의존 방지 → 새로운 데이터에 더 잘 일반화
  3. 수치 안정성: 가중치가 극단적으로 커지는 것 방지

L1 vs L2 정규화

측면 L1 (Lasso) L2 (Ridge)
페널티 $\sum w_i $ wi2\sum w_i^2
효과 Sparse (일부 가중치 → 0) 전체적으로 작은 가중치
Feature selection
미분 가능 ✗ (0에서 불연속)

Weight Decay와의 관계

  • SGD에서 L2 정규화 = Weight Decay (수학적으로 동일)
  • Adam에서는 미묘하게 다름 → AdamW가 올바른 Weight Decay 구현
# PyTorch에서 L2 정규화
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, weight_decay=1e-4)

# Adam 사용 시 AdamW 권장
optimizer = torch.optim.AdamW(model.parameters(), lr=0.001, weight_decay=0.01)

λ 선택 가이드

λ 값 효과
너무 작음 정규화 효과 미미, 과적합 가능
적절함 과적합 방지 + 성능 유지
너무 큼 Underfitting, 모델이 너무 단순해짐

일반적으로 1e-4 ~ 1e-2 범위에서 시작하여 validation 성능으로 튜닝한다.

기하학적 해석

L2 정규화는 가중치 공간에서 원점 근처로 가중치를 당기는 힘으로 해석할 수 있다. 이는 가중치 벡터의 norm을 줄이는 효과가 있다.

참고