선형 회귀는 훈련 데이터의 오차(MSE)만을 최소화한다.
모델은 데이터의 실제 경향뿐 아니라 노이즈까지 학습하려 하고, 그 과정에서 일부 계수가 과도하게 커져 과적합 상태가 될 수 있다.
규제는 손실 함수에 계수의 크기에 비례하는 항을 추가해 이를 억제한다.
Penalty 방식
(1) L1: 절댓값, 맨해튼 거리
계수의 크기와 상관없이 균등하게 penalty 부여.
L1 페널티의 도함수는 sign(w)로 상수 ±1이다. 계수 크기와 무관하게 α만큼의 기울기 성분이 유지된다. 손실 함수의 기울기가 α보다 작은 변수는 계수가 0으로 결정된다.
(2) L2: 제곱, 유클리드 거리
제곱하므로, 큰 계수에게 강한 penalty 부여.
L2 페널티의 도함수는 2w다. w가 감소하면 도함수도 함께 감소하여 0에 수렴한다. 따라서 계수를 감소시키는 기울기 성분이 사라지고, 계수는 0에 근접하되 정확히 0에 도달하지 않는다.
기본 회귀 vs 규제 회귀
- 기본 회귀: MSE(평균제곱오차)가 최소가 되는 회귀 계수를 추정함.
- 규제 회귀:
MSE + 규제항이 최소가 되는 회귀 계수를 추정함.- Ridge:
MSE + α · Σwᵢ² - Lasso:
MSE + α · Σ|wᵢ|
- Ridge:
α는 규제 세기를 조절하는 값이다.
- α가 0이면? -> 규제가 사라져 기본 회귀와 같아짐.
- α가 클 수록? -> 계수가 강하게 눌린다. 극단적으로 키우면 모든 계수가 0에 수렴해 평균만 예측하는 모델이 된다.
- 참고. scikit-learn의 **로지스틱 회귀는 α 대신 C를 쓰고 반대의 의미를 가진다. C가 작을수록 규제가 강하다.
Ridge 회귀 : L2 규제
기존 선형 회귀의 과적합을 방지함.
Lasso 회귀 : L1 규제
w의 절댓값에 패널티를 부여하는 L1 규제를 선형 회귀에 적용한 것 L1 규제는 alpha*||W||를 의미
Ridge vs Lasso -> 계수를 0으로 만드는가?
- Lasso는 계수가 0이 될 수 있다.
- Ridge는 크기가 작아지더라도 0이 되지는 않는다.
L2 페널티는 w²이므로 미분하면 2w가 된다. 계수가 0에 가까워질수록 기울기도 0에 수렴하므로, 계수를 줄이는 힘이 함께 약해진다. 따라서 계수는 0에 근접하지만 정확히 0이 되지는 않는다.
| L1 페널티는 | w | 이므로 미분하면 부호에 따라 +1 또는 −1이다. 계수의 크기와 무관하게 일정한 크기의 힘이 작용한다. 이 힘이 손실 함수의 기울기보다 크면 계수는 0에서 멈추게 된다. |
