L1 Regularization and L2 Regularization
Updated:
L1 Regularization과 L2 Regularization에 대해 알아보겠습니다.
이를 알아보기 전에 Norm과 Loss에 대해 먼저 알면 도움이 됩니다.
Norm
- 두 벡터 혹은 벡터 하나의 크기(길이)를 측정하는 방법(함수)
$\left|\overrightarrow{x}\right|{p}$ := $(\sum{i=1}^{N}\left | \overrightarrow{x_i}\right | ^{p})^{\frac{1}{p}}$ |
- L1 Norm : 벡터 $\vec{p}$ , $\vec{q}$ 의 각 원소들의 차이의 절댓값의 합
$d_{1}(\vec{p},\vec{q})$ = $\left|\vec{p}-\vec{q}\right|{1}$ = $\sum{i=1}^{n}\left | \vec{p_{i}}-\vec{q_{i}}\right | $ |
- L2 Norm : 벡터 $\vec{p}$ , $\vec{q}$ 의 유클라디안 거리(직선 거리)
$\left|\vec{x}\right|{2}$ := $\sqrt{\sum{i=1}^{N}\left | x_{i}\right | ^{2}}$ |
Loss
- L1 loss : 실제 값과 예측치 사이의 차이(오차)값의 절댓값들의 합
$L$ = $\sum_{i=1}^{n}\left | y_{i}-f(x_{i})\right | $ |
- 부르는 용어는 매우 다양함
- Least absolute deviations, Least absolute Errors, Least absolute value, Least absolute residual, Least absoluteSum of absolute deviations
- L2 loss : 오차의 제곱의 합 (Least Square Error (LSE) 라고 부름)
$L = \sum_{i=1}^{N} (y_{i}-f(x_{i}))^{2}$
L1 loss가 L2 loss에 비해 outlier에 대해 더 robust하다. 즉. outlier가 적당히 무시되길 바란다면 L1 loss를 사용하면 된다(하지만 L1 loss는 0에서 미분 불가능한 단점이 존재). outlier 등장에 신경을 써야한다면, L2 loss를 사용하면 된다.
그러면 본 포스팅의 타이틀인 Regularization에 대해 알아보자.
Regularization(정규화)
Overfitting을 방지하고 generalization(일반화) 성능을 높이는데 도움
- Generalization? model을 쉽게 만드는 방법은 단순하게 cost function을 작아지게 하는 방향으로의 학습이지만, 특정 가중치가 매우 큰 값을 가지기 때문에 model의 ‘일반화’ 성능이 떨어지게 된다. 따라서 Regularization은 이렇게 특정 가중치가 과도하게 커지는 것을 방지한다고 보면 된다.
L1 Regularization
$Cost = \frac{1}{n}\sum_{i=1}^{n}{L(y_{i}, \hat{y_{i}})+\frac{\lambda }{2}\left | w\right | }$ |
- 기존의 cost function에 가중치의 크기가 포함되면서 가중치가 너무 크지 않는 방향으로 학습
- L1 정규화를 사용하는 regression model을 Lasso Regression이라고 함
L2 Regularization
$Cost = \frac{1}{n}\sum_{i=1}^{n}{L(y_{i}, \hat{y_{i}})+\frac{\lambda }{2}\left | w\right | ^{2}}$ |
- 기존 cost fucntion에 가중치의 제곱을 포함하여 더함 (weight decay라고도 부름)
- L2 정규화를 사용하는 Regression model을 Ridge Regression이라고 함
Leave a comment