25. Regularization

j_hyun11·2022년 2월 11일
0

FUNDAMENTAL

목록 보기
9/11

Normalization(정규화)

  • 데이터의 형태를 좀 더 의미 있게, 혹은 트레이닝에 적합하게 전처리하는 과정
  • 데이터를 z-score로 바꾸거나 minmax scaler를 사용하여 0과 1사이의 값으로 분포를 조정하는 것들이 해당
  • 모든 피처의 범위 분포를 동일하게 하여 모델이 풀어야 하는 문제를 좀 더 간단하게 바꾸어 주는 전처리 과정

Regularization(정칙화)

  • 오버피팅을 해결하고자 하는 방법 중에 하나
  • L1, L2 Regularization, Dropout, Batch normalization
  • 모델이 train set의 정답을 맞히지 못하도록 오버피팅을 방해(train loss가 증가) 하는 역할
  • validation loss나 최종적인 test loss를 감소시키려는 목적

L1 Regularization

  • 사이킷런이나 케라스, 텐서플로우 등의 패키지에서는 Lasso
  • X가 2차원 이상인 여러 컬럼 값이 있는 데이터일 때 실제 효과를 볼 수 있음
  • Linear Regression과 L1, L2 Regularization의 차이 중 하나는 alpha(α)라는 하이퍼파라미터(수식에서는 lambda(λ))가 하나 더 들어간다는 것이고, 그 값에 따라 error에 영향을 미침

  • L1 Regularization이라는 건 결국 L1 Loss 에 Regularization Term을 붙인 것
  • 기존 Loss에 절댓값만큼의 어떤 족쇄(패널티)를 달아줌으로써 Cost가 더 커지게 만든 셈인데, 이를 통해 특정 Weight의 중요도가 커지는 걸 막는다는 느낌(Cost가 커지면 Weight 중요도가 줄어드니 깐)

출처 : https://velog.io/@oneofakindscene/%EC%A0%95%EA%B7%9C%ED%99%94Regularization-%EC%9A%94%EC%95%BD

L2 Regularization

L1 / L2 Regularization의 차이점

  • L1 Regularization은 가중치가 적은 벡터에 해당하는 계수를 0으로 보내면서 차원 축소와 비슷한 역할을 하는 것이 특징
  • L2 Regularization은 0이 아닌 0에 가깝게 보내지만 제곱 텀이 있기 때문에 L1 Regularization보다는 수렴 속도가 빠름

Lp norm

1. vector norm

  • 어떤 벡터를 길이나 사이즈같은 양적인 수치로 mapping하기 위한 함수

출처 : https://hichoe95.tistory.com/58

2. matrix norm

참고 : https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html

Dropout

  • 몇 가지의 값들을 모든 뉴런에 전달하는 것이 아닌 확률적으로 버리면서 전달하는 기법
  • 오버피팅을 막는 Regularization layer 중 하나
  • 확률을 너무 높이면, 제대로 전달되지 않으므로 학습이 잘되지 않고, 확률을 너무 낮추는 경우는 fully connected layer와 같음

Batch Normalization

  • gradient vanishing, explode 문제를 해결하는 방법

0개의 댓글