위키피디아(링크)의 Taxicab geometry 의 정의를 그대로 가져왔습니다. 쉽게 얘기해서 L1 Norm 은 벡터 p, q 의 각 원소들의 차이의 절대값의 합입니다.
예를 들어 벡터 p =(3, 1, -3), q = (5, 0, 7) 이라면 p, q의 L1 Norm 은
|3-5| + |1-0| + |-3 -7| = 2 + 1 + 10 = 13 이 됩니다.
3. L2 Norm
위키피디아(링크) 의 Norm 의 예시 중 Euclidean Norm 의 수식을 가져왔습니다. L2 Norm 은 벡터 p, q 의 유클리디안 거리(직선 거리) 입니다. 여기서 q 가 원점이라면 벡터 p, q의 L2 Norm 은 벡터 p 의 원점으로부터의 직선거리라고 할 수 있습니다.
위 수식이 바로 p = (x_1, x_2, ... , x_n), q = (0, 0, ... , 0) 라고 할 수 있습니다.
4. L1 Norm 과 L2 Norm 의 차이
검정색 두 점사이의 L1 Norm 은 빨간색, 파란색, 노란색 선으로 표현 될 수 있고, L2 Norm 은 오직 초록색 선으로만 표현될 수 있습니다. L1 Norm 은 여러가지 path 를 가지지만 L2 Norm 은 Unique shortest path 를 가집니다.
예를 들어 p = (1, 0), q = (0, 0) 일 때 L1 Norm = 1, L2 Norm = 1 로 값은 같지만 여전히 Unique shortest path 라고 할 수 있습니다.
5. L1 Loss
y_i 는 실제 값을, f(x_i)는 예측치를 의미합니다. 실제 값과 예측치 사이의 차이(오차) 값의 절대값을 구하고 그 오차들의 합을 L1 Loss 라고 합니다. 이를 Least absolute deviations(LAD), Least absolute Errors(LAE), Least absolute value(LAV), Least absolute residual(LAR), Sum of absolute deviations 라고 부릅니다.
6. L2 Loss
L2 Loss 는 오차의 제곱의 합으로 정의됩니다. 이를 Least squares error(LSE) 라고 부릅니다.
7. L1 Loss, L2 Loss 의 차이
L2 Loss 는 직관적으로 오차의 제곱을 더하기 때문에 Outlier 에 더 큰 영향을 받습니다. "L1 Loss 가 L2 Loss 에 비해 Outlier 에 대하여 더 Robust(덜 민감 혹은 둔감) 하다." 라고 표현 할 수 있습니다.
Outlier 가 적당히 무시되길 원한다면 L1 Loss 를 사용하고, Outlier 의 등장에 신경써야 하는 경우라면 L2 Loss 를 사용하는 것이 좋겠습니다.
L1 Loss 는 0인 지점에서 미분이 불가능하다는 단점 또한 가지고 있습니다.
8. Regularization
보통 번역은 '정규화' 라고 하지만 '일반화' 라고 하는 것이 이해에는 더 도움이 될 수도 있습니다. 모델 복잡도에 대한 패널티로 정규화는 Overfitting 을 예방하고 Generalization(일반화) 성능을 높이는데 도움을 줍니다. Overfitting 을 예방하는 방법으로는 L1 Regularization, L2 Regularization, Dropout, Early stopping 등이 있습니다.
출처[1]
model 을 쉽게 만드는 방법은 단순하게 cost function 값이 작아지는 방향으로만 진행하는 것입니다. 이럴 경우 특정 가중치가 너무 큰 값을 가지기 때문에 model 의 일반화 성능이 떨어지게 될 것입니다. 위 그래프에서 actual function 이 target function 이라고 했을 때, model 이 overfitting 된 것을 알 수 있습니다.
Regularization 은 이렇게 특정 가중치가 너무 과도하게 커지지 않도록 하여 모델을 위 그래프처럼 만들어줍니다.
9. L1 Regularization
L1 Regularization 은 위 수식처럼 표현할 수 있습니다. 논문에 따라서 앞에 분수로 붙는 1/n 이나 1/2 가 달라지는 경우가 있는데 L1 Regularization 의 개념에서 가장 중요한 것은 cost function 에 가중치의 절대값을 더해준다는 것이기 때문에 1/n 이나 1/2 가 달라지는 경우는 연구의 case 에 따라 다르다고 이해하고 넘어가겠습니다(이는 L2 Regularization 또한 같습니다).
기존의 cost function 에 가중치의 크기가 포함되면서 가중치가 너무 크지 않은 방향으로 학습 되도록 합니다. 이때 λ 는 learning rate(학습률) 같은 상수로 0에 가까울 수록 정규화의 효과는 없어집니다.
L1 Regularization 을 사용하는 Regression model 을 Least Absolute Shrinkage and Selection Operater(Lasso) Regression 이라고 부릅니다.
10. L2 Regularization
기존의 cost function 에 가중치의 제곱을 포함하여 더함으로써 L1 Regularization 과 마찬가지로 가중치가 너무 크지 않은 방향으로 학습되게 됩니다. 이를 Weight decay 라고도 합니다.
L2 Regularization 을 사용하는 Regression model 을 Ridge Regression 이라고 부릅니다.
11. L1 Regularization, L2 Regularization 의 차이와 선택 기준
먼저 Regularization 의 의미를 다시 한번 생각해보면, 가중치 w 가 작아지도록 학습한 다는 것은 결국 Local noise 에 영향을 덜 받도록 하겠다는 것이며 이는 Outlier 의 영향을 더 적게 받도록 하겠다는 것입니다.
위와 같은 벡터 a 와 b에 대해서 L1 Norm 과 L2 Norm 을 계산하면 각각 아래와 같습니다.
L2 Norm 은 각각의 벡터에 대해 항상 Unique 한 값을 내지만, L1 Norm 은 경우에 따라 특정 Feature(벡터의 요소) 없이도 같은 값을 낼 수 있다는 뜻입니다.
L1 Norm 은 파란색 선 대신 빨간색 선을 사용하여 특정 Feature 를 0으로 처리하는 것이 가능하다고 이해할 수 있습니다. 다시 말하자면 L1 Norm 은 Feature selection 이 가능하고 이런 특징이 L1 Regularization 에 동일하게 적용 될 수 있는 것입니다. 이러한 특징 때문에 L1 은 Sparse model(coding) 에 적합합니다. L1 Norm 의 이러한 특징 때문에 convex optimization 에 유용하게 쓰인다고 합니다.
출처[2]
단, L1 Regularization 의 경우 위 그림처럼 미분 불가능한 점이 있기 때문에 Gradient-base learning 에는 주의가 필요합니다.
↓이 글이 도움이 되셨다면 공감을 표시하는 아래 하트를 눌러주세요. 구독을 눌러주시면 더 좋구요! 감사합니다.