오뚝이개발자

L1, L2 regularization 본문

AI/밑바닥딥러닝1

L1, L2 regularization

땅어 2020. 6. 28. 22:08
728x90
300x250

L1, L2 regularization은 모두 overfitting을 막기 위해 사용된다.

두 개념을 알기 위해 필요한 사전개념들이 있다. 이들을 순차적으로 알아보자.

 

Norm


Norm은 벡터의 크기(길이)를 측정하는 방법(혹은 함수)이다. 두 벡터 사이의 거리를 측정하는 방법이기도 하다.

- p는 Norm의 차수, p=1이면 L1 Norm이고, p=2이면 L2 Norm

- n은 해당 벡터의 원소 수

 

L1 Norm


- L1 Norm은 쉽게 말해 벡터 p,q의 각 원소들의 차이의 절댓값의 합

 

L2 Norm


- L2 Norm은 벡터 p, q의 직선 거리

- q가 원점이라면 벡터 p, q의 L2 Norm은 벡터 p의 원점으로부터의 직선거리

 

L1 Norm과 L2 Norm의 차이


- 검정색 두 점 사이의 L1 Norm은 빨강, 파랑, 노랑색 선으로 표현 가능

- L2 Norm은 초록색 선으로만 표현 가능

- 즉, L1 Norm은 여러 path를 갖지만 L2 Norm은 Unique shortest path 가짐

 

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

 

L2 loss


- L2 loss는 오차의 제곱합으로 정의

- Least squares error(LSE)

 

L1 loss, L2 loss의 차이


1. Robustness

- L1>L2

- Robustness는 outlier(이상치)가 등장했을 때 loss function이 얼마나 영향 받는지를 나타내는 용어

- L2 loss는 outlier의 정도가 심할수록 계산된 값이 L1보다 더 큰 수치로 작용하기 때문에 Robustness가 L1보다 적다.(L2가 제곱을 해서 더한다는 것을 생각해보면 직관적으로 이해가 된다.)

- 따라서 outlier가 적당히 무시되길 원하면 L1 loss를, 반대로 이상치의 등장에 주의를 기울여야 한다면 L2 loss를 사용

 

2. Stability

- L1<L2

- Stability는 모델이 비슷한 데이터에 대해 얼마나 일관적인 예측을 할 수 있는지를 나타냄

- 아래 애니메이션 그래프는 실제 데이터(검은점)와 outlier point인 주황색 점이 움직임에 따라 그 예측 모델이 어떻게 달라지는지를 나타낸 결과

- outlier가 검은점들과 비교적 비슷한 곳에 위치해서 덜 이상치일때, L1 loss그래프는 변화가 있지만, L2 loss 그래프는 변화가 없다. 이를 보고 L1이 L2보다 unstable하다고 표현한다.

- 이 애니메이션에선 Robustness도 살펴볼 수 있다. outlier point가 검은점들이 구성하는 선을 기준으로 밖에서 안으로 들어올 때, L2 error line이 확실히 먼저 반응한다.

 

Regularization


보통 정규화라고 번역하지만, 일반화라고 하는 것이 이해하는데는 더 도움이 된다.

일반화는 모델에 범용성(일반화 능력; Generalization)을 부여하여 overfitting을 방지한다.

Regularization 방법으로는 L1 regularization, L2 regularization, Dropout, Early stopping 등이 있다.

 

L1 regularization


- cost function에 가중치의 절댓값을 더해준다.

- 기존의 cost function에 가중치가 포함되면서 가중치가 너무 크지 않은 방향으로 학습되도록 함.

- 람다가 0에 가까울수록 정규화의 효과는 없어짐.

- L1 regularization을 사용하는 Regression model을 Least Absolute Shrinkage and Selection Operater(Lasso) Regression이라 한다.

 

L2 regularization


- 기존의 cost function에 가중치의 제곱을 더함

- L1과 마찬가지로 가중치가 너무 크지 않은 방향으로 학습하도록 도와줌

- Weight decay라고도 한다.

- L2 regularization을 사용하는 Regression model을 Ridge Regression이라 함

 

L1, L2 regularization의 차이와 선택기준


1. Solution uniqueness & Computational efficiency

- 계산과정에서 L2 Norm은 초록색의 unique shortest path를 갖지만, L1 Norm은 빨강, 파랑, 노랑색의 같은 길이의 다양한 path를 가진다.

- 이러한 특징때문에 computational efficiency는 L2 Norm이 더 좋다.

 

2. Sparsity & Feature selection

a = (0.25, 0.25, 0.25, 0.25)
b = (-0.5, 0.5, 0.0, 0.0)

∥a ∥1 = a b s ( 0.25 ) + a b s ( 0.25 ) + a b s ( 0.25 ) + a b s ( 0.25 ) = 1

∥b ∥1 = a b s ( −0.5 ) + a b s ( 0.5 ) + a b s ( 0.0 ) + ( 0.0 ) = 1

두 벡터의 L1 Norm은 모두 1로 같다.

∥a ∥2 = 0.25 2 + 0.25 2 + 0.25 2 + 0.25 2 = 0.5

∥b ∥2 = ( −0.5 ) 2 + ( 0.5 ) 2 + 0 2 + 0 2 = 0.707

반면 L2 Norm은 0.5, 0.707로 다르다.

- 위와 같이 L2는 각 vector에 대해 unique한 값이 출력되지만, L1은 경우에 따라 특정 feature(vertor의 요소) 없이도 같은 값을 낼 수 있다.

- 이런 특징으로 인해 L1 Norm은 feature selection에 사용 가능하며, 특정 feature들을 0으로 처리해버리는 것이 가능해 결과적으로 해당 coefficient들이 sparse한 형태를 가질 수 있다.

- β = [ β 0 , β1]이고, L1과 L2 Norm의 결과가 모두 1일 때, β의 존재가능 영역은 아래와 같다.

L1에서 β존재 가능 영역

 

L2에서 β존재 가능 영역

- 즉, L1 regularization은 상수값을 빼주도록 되어있기에 작은 가중치들은 거의 0으로 수렴되어 몇 개의 중요한 가중치들만 남는다.

  - 이러한 특성으로 L1 regularization이 feature selection에 사용 가능

  - 몇 개의 의미있는 값을 끄집어 내고 싶은 경우 L1 regularization이 효과적이기에 sparse model(coding)에 적합

  - 단 위의 그래프에서 보듯이 미분 불가능한 점이 있기에 gradient-based learning에 적용시엔 주의 필요

- 이러한 feature selection 특성에 의해 L1 Norm은 convex optimization에 유용하게 사용가능

 

출처

728x90
300x250

'AI > 밑바닥딥러닝1' 카테고리의 다른 글

선형회귀(linear regression), 라쏘(LASSO), 리지(Ridge)  (0) 2020.07.07
Bias와 Variance  (0) 2020.07.06
오버피팅(overfitting) 방지법 정리  (0) 2020.06.27
[CH8] 딥러닝  (0) 2020.06.23
[CH7] 합성곱 신경망(CNN)  (0) 2020.06.23
Comments