Regularization(정칙화)
- 오버피팅(overfitting)을 해결하기 위한 방법 중 하나
- 오버피팅(overfitting): 과적합, train set은 매우 잘 맞히지만 validation/test set은 맞히지 못하는 현상
- 기출문제는 외워서 잘 맞히지만, 새로운 응용 문제로 시험을 볼 때는 잘 풀지 못하는 경우이다
- ex) L1, L2 Regularization, Dropout, Batch normalization
- 모델이 train set의 정답을 맞히지 못하도록 오버피팅을 방해(train loss가 증가) 하는 역할
- train loss는 약간 증가하지만 결과적으로, validation loss나 최종적인 test loss를 감소시키려는 목적
▶ 오버피팅을 막고자 하는 방법
Normalization(정규화)
- 데이터의 형태를 좀 더 의미 있게, 혹은 트레이닝에 적합하게 전처리하는 과정
- ex) z-score, minmax scaler 사용 > 0과 1사이의 분포로 조정
- 큰 범위의 값과 작은 범위의 값이 같이 존재하는 경우,
학습 초반에 데이터 거리 간의 측정이 피처 값의 범위 분포 특성에 의해 왜곡되어 학습에 방해를 받게 되는 문제 발생 - 모든 피처의 범위를 동일하게 하여 위의 문제를 해결
▶ 서로 범위가 다른 데이터들을 같은 범위로 바꿔주는 전처리 과정
L1 Regularization
- 가중치가 적은 벡터에 해당하는 계수를 0으로 보내면서 차원 축소와 비슷한 역할을 하는 것이 특징
L2 Regularization
- 0에 가깝게 보내지만 제곱 텀이 있기 때문에 L1 Regularization보다는 수렴 속도가 빠르다는 장점
- 결과에 큰 영향을 끼치는 값은 더 크게, 결과에 영향이 적은 값들은 더 작게 보내면서 수렴 속도가 빨라진다
데이터에 따라 적절한 Regularzation을 사용하자(참고로 L2 Regularization이 많이 쓰인다)