-
Notifications
You must be signed in to change notification settings - Fork 3
L1,L2 regularization
본문을 읽기 전에 regularization을 읽고 오시면 좋습니다.
norm? 벡터의 크기(길이)를 측정하는 방법. 두 벡터 사이의 거리를 측정하는 방법

- p : Norm 의 차수
- p = 1 : L1 Norm
- P = 2 : L2 Norm
- n은 해당 벡터의 원소 수
- 벡터 p, q 의 각 원소들의 차이의 절대값의 합
vector p = (3,1,-3), q = (5,0,7)
p,q의 L1 norm : |3-5| + |1-0| + |-3 -7| = 2 + 1 + 10 = 13

-
벡터 p, q 의 유클리디안 거리(직선 거리)
-
q 가 원점일 경우 벡터 p, q의 L2 Norm : 벡터 p 의 원점으로부터의 직선거리를 의미
- p = (x_1, x_2, ... , x_n), q = (0, 0, ... , 0)

-
L1 Norm : 빨간색, 파란색, 노란색 선으로 표현 가능
-
L2 Norm : 초록색 선으로만 표현 가능
-
L1 Norm 은 여러가지 path 를 가지지만 L2 Norm 은 Unique shortest path 를 가진다
- Ex.
- p = (1, 0), q = (0, 0) 일 때 L1 Norm = 1, L2 Norm = 1 로 값은 같지만 여전히 Unique shortest path.
- Ex.

y_i : label
f(x_i) : output
L1 Loss : label과 output 사이의 오차 값의 절대값을 구한 후 그 오차들의 합
- 동의어
- Least absolute deviations(LAD)
- Least absolute Errors(LAE)
- Least absolute value(LAV)
- Least absolute residual(LAR)
- Sum of absolute deviations

L2 Loss : 오차의 제곱의 합
- 동의어 : Least squares error(LSE)
- L1 Loss의 단점 : 0인 지점에서 미분이 불가능하다
- L2 Loss 는 직관적으로 오차의 제곱을 더하기 때문에 Outlier 에 더 큰 영향을 받는다.
- L1 Loss 가 L2 Loss 에 비해 Outlier 에 대하여 더 Robust하다.
- L1 Loss : Outlier 가 적당히 무시되길 원할 때 사용
- L2 Loss : Outlier 의 등장에 신경써야 하는 경우

- 실험 case에 따라 앞의 1/n/ 1/2가 달라지는 경우가 있다.
- λ : 상수. 0에 가까울 수록 정규화의 효과는 없어진다
- C_0 : 원래의 cost function
-
cost function에 가중치의 절대값을 더해준다는 것이 중요
- 가중치 w에 대해 편미분을 하면
-
- w값 자체를 줄이는 것이 아닌 w의 부호에 따라 상수값을 빼주는 방식으로 regularization 수행
-
기존의 cost function 에 가중치의 크기가 포함되면서 가중치가 너무 크지 않은 방향으로 학습
-
L1 Regularization 을 사용하는 Regression model
: Least Absolute Shrinkage and Selection Operater(Lasso) Regression

- 실험 case에 따라 앞의 1/n/ 1/2가 달라지는 경우가 있다.
- L : 기존의 cost function
- n : train data의 수
- λ : regularization 변수. 상수. 0에 가까울 수록 정규화의 효과는 없어진다
- w : 가중치
- C_0 : 원래의 cost function
-
L(기존의 cost function)에 가중치를 포함하여 더함으로써
- L이 작아지는 방향으로 학습
- w이 작아지는 방향으로 학습
- w에 대해 편미분하면 값이 작아지는 방향으로 진행하게 된다 : Weight decay
-
- weight decay에 의해 특정 가중치가 비이상적으로 커지고 학습에 큰 영향을 끼치는 것을 방지
-
L2 Regularization 을 사용하는 Regression model
: Ridge Regression
- 가중치 w 가 작아지도록 학습한다는 것? Local noise 에 영향을 덜 받도록 하겠다는 것
- Outlier 의 영향을 더 적게 받도록 하겠다는 것

- a,b에 대하여 L1 norm 계산시

- a,b에 대하여 L2 norm 계산시

- L1 Norm: 경우에 따라 특정 Feature(벡터의 요소) 없이도 같은 값을 낼 수 있다
- L2 Norm : 각각의 벡터에 대해 항상 Unique 한 값을 낸다.

- L1 Norm 은 파란색 선 대신 빨간색 선을 사용하여 특정 Feature 를 0으로 처리하는 것이 가능하다.
-
L1 Norm 은 Feature selection 이 가능
- 이 특징은 L1 Regularization 에 동일하게 적용 될 수 있다.
- L1 은 Sparse model(coding) 에 적합
- convex optimization 에 유용하게 쓰인다.

단, L1 Regularization 의 경우 위 그림처럼 미분 불가능한 점이 있기 때문에 Gradient-base learning 에는 주의가 필요하다.
- https://m.blog.naver.com/laonple/220527647084
- https://light-tree.tistory.com/125
- https://en.wikipedia.org/wiki/Taxicab_geometry
- https://towardsdatascience.com/regularization-the-path-to-bias-variance-trade-off-b7a7088b4577
- https://www.quora.com/When-would-you-chose-L1-norm-over-L2-norm
- https://www.stand-firm-peter.me/2018/09/24/l1l2/
- https://m.blog.naver.com/laonple/220527647084
- https://ratsgo.github.io/machine%20learning/2017/10/12/terms/