본문 바로가기

Learning/Tuning

Regularization

반응형

1. Regularization

 

1-1. Regularization의 정의

 

모델이 [[overfitting]]되지 않도록 일반성을 띄게 해 주는 기법.

1-2. Regularization의 목적

 

  • 모델이 overfitting되는 것을 방지해서, 새로운 데이터에 대해서도 모델이 잘 작동하도록 하기 위해 Regularization을 사용한다.
  • feature를 버리지 않고 모두 사용하면서 overfitting을 방지한다.
  • local noise가 학습에 큰 영향을 미치지 않게 하여, outlier(특이점)의 영향을 적게 받도록 한다.

1-3. Regularization의 목표

 

  • 우리가 기대하는 일반성을 띈 모델은, 가운데에 있는 2차함수 모양으로 생긴 함수이다.
  • 왼쪽의 모델은, 함수의 차수가 너무 적어서 모델이 너무 간단하다.
  • 오른쪽 모델은, 차수가 너무 커서 모델이 너무 복잡하다.

y = ax + bx^2 + cx^3 + dx^4 함수로 구성된 모델이 있다고 해 보자. 4차함수 모델이지만, 구불부불한 4차함수를 펴 주어 2차함수 꼴로 만들어 주면, 우리가 원하는 모델로 학습할 수 있다.

2차함수로 학습을 시키려면, 계수 c와 d가 0에 가까워지도록 학습을 시키면 된다. 모델은 loss 함수가 적어지는 방향으로 학습이 되는 만큼, 3차항 계수와 4차항 계수가 커지면 loss 함수가 커지도록 패널티를 줄 수 있다.

loss = (원래 loss 함수) + 1000c + 1000d
  • 이런 식으로 c, d에 패널티를 먼저 부여할 수 있다.
  • 각 항의 계수에 패널티 값을 부여하면, 그 항의 계수가 적은 방향으로 학습이 된다.
  • 1000c + 1000d와 같이, regularization을 위해 더해 준 항을 regularizer하고 한다.
  • 즉, 각 weight에 패널티 값을 부여하면 그 weight 또한 적은 방향으로 학습이 될 것이다.

1-4. Regularization의 효과

 

  • 모델을 일반화할 수 있다.
  • 모델의 bias를 크게 증가시키지 않으면서 variance를 크게 줄일 수 있다.
  • data에 있는 중요한 property들을 빼먹지 않으면서, variance를 줄여서 overfitting을 방지하는 효과
    • underfit 상태의 모델: bias가 크고 variance가 작은 모델
    • overfit 상태의 모델: variance가 크가 bias가 작은 모델
    • "Bias-variance tradeoff" 때문에, 일반적으로 bias와 variance를 동시에 최소화할 수는 없다.

1-5. Regularization의 특성

 

(1) Weight size penalty

 

  • weight를 작게 유지하는 방식으로 네트워크를 학습하는 방법
  • weight 값이 크면 클수록, loss 함수에 패널티 값을 추가하여, weight가 작아지는 방식으로 학습이 진행된다.
  • Regularization Strength(λ): weight 값이 커서 받는 penalty 값의 강도를 의미한다.
    • 이 값이 너무 크면, bias가 커져서 모델이 너무 간단해지므로, underfitting이 발생한다.
    • 이 값이 너무 작으면, variance가 커져서 모델이 과하게 복잡해지므로, overfitting이 발생한다.

(2) variable selection

 

  • variable 중 일부만 선택하는 방식으로 네트워크를 학습하는 방법
  • variable selection, feature selection 등으로 불림
  • feature가 너무 많을 경우 overfitting 위험이 있기 때문에 필요하다

(3) Ensemble

 

  • 데이터를 여러 개의 training set으로 나누어서 동시에 학습을 진행해서 모든 training set에 대한 학습이 끝나면 결과를 통합하는 방법
    • 통합 : 같은 모델을 여러 개 학습시킨 뒤, 각 모델의 출력값을 평균내어 결과로 사용한다.
  • Neural Network에서도, 정확도가 최소 2~4% 개선되는 효과를 보인다
  • Dropout 또한 앙상블 학습과 비슷한 효과를 줄 수 있다.

1-6. 종류

 

  • [[L1,L2 regularization]]
  • [[Batch Normalization]]
  • [[Weight Normalization]]
  • [[Layer Normalization]]
  • [[Dropout]]: 학습 시 뉴런을 임의로 삭제하여 학습하는 방법.
  • [[pruning]]
  • [[Early Stopping]]: step 수가 늘어날수록, validation set의 loss가 증가하면 train을 종료하는 방법.

reference

 

반응형

'Learning > Tuning' 카테고리의 다른 글

Regularization : L1, L2 regularization  (0) 2020.04.12
Batch Normalization  (0) 2020.04.12
Dropout  (0) 2020.04.12
Hyperparameter  (0) 2020.04.12
Overfitting과 Underfitting 정의 및 해결 방법  (2) 2020.04.12