정리필요/Data analysis 코드 분석 및 이론

[개념] L1과 L2

kstar2 2021. 3. 18. 19:18

출처 : junklee.tistory.com/29

0. Norm

  • Norm은 절댓값, Norm = 절대값이 아니라 Norm 중 하나가 절댓값
  • | -1 | = 1 이런 식 말고 | ? | 실수만 아니라 벡터도 들어감, | (1,2) | // 이건 벡터의 크기 정도를 의미
  • 결론 :  Norm이란 어떤 값의 크기를 계산하여, 비교가 가능하는 어떤 함수 정도

1. L1 Norm와 L2 Norm

- L1 Norm(= Mahattan Distance, Taxicab geometry)

  • 두개의 벡터를 빼고, 절대값을 취한 뒤, 합한 것
  • ex) x = (1,2,3), y = (-1, 2, 4)라면 d(x,y) = |1 - (-1)| + |2-2| + |3-4|

- L2 Norm(= Euclidean Distance)

두 개의 벡터의 각 원소를 뺴고, 제곱한 뒤 합치고 루트를 씌운 것

ex) x = (1,2,3), y = (-1, 2, 4)라면 d(x,y) = root(4 + 0 +1)

즉, 위 그림에서 연두색이 L2 Norm, 그 외의 선들이 L1 Norm임을 알 수 있다.

 

2. L1 Loss와 L2 Loss

- L1 Loss

L1 Norm에 벡터가 들어갔던 곳에 실제 값과 예측값이 들어가 들어가는 것이다. 이는 LAD(Least Absolute Deviations), LAE(Least Absolute Errors), LAV(Least Absolute Value), LAR(Least Absolute Residual) 등으로도 불린다. L1 Loss는 L2 Loss에 비해 이상치(Outlier)의 영향을 덜 받는, Robust한 특성을 갖니다. 하지만 0에서 미분이 불가능하다.

- L2 Loss

L1 Loss처럼 L2 Loss도 L2 Norm과 비슷하지만 루트를 취하지 않는 차이가 있다. 이는 LSE(최소자승법, Least Squares Error)라고도 불린다.

(즉, 제곱하면 이상치에 대한 영향이 커지게 되어 L1 Loss가 더 Robust한 것이다.)

 

3. Regularization

목적 : overfitting 줄이는 것 -> 즉, 모델을 general하게 만들고자 함

방법론 : Data augmentation, Ensemble model, Dropout, Dropconnect, BatchNormalization, Early stopping,

          Weight decay, Multi-Task learning 등