728x90
ML 에서 언제 쓰나?
학습 시 오버피팅을 방지하기 위해 가중치에 패널티를 주는 방식으로 사용됩니다. 그 방법의 예로는 L1&L2 Regularization, dropout, early stopping, weight decay 등이 있습니다.
Regularization vs Normalization vs Standardization
공통점
- 오버피팅을 방지하기 위함에 목적이 있습니다.
- 한국어로 모두 정규화로 번역됩니다.
Regularization(규제화)
- 모델의 가중치에 penalty를 부여하는 것입니다.
- 과적합을 막기 때문에 훈련데이터셋이라는 특정 데이터셋에 대한 accuracy는 낮아집니다.
- 다만 이를 통해 모델이 지나친 complexity를 갖는 것을 막고, test dataset에 대한 성능을 더 높입니다.
- regularization의 방법으로 L1&L2 Regularization, dropout, early stopping, weight decay 등이 있습니다.
Normalization(정규화)
- 정규화 공식을 이용해 모든 데이터의 값을 0에서 1사이로 변환합니다.
- 각 데이터포인트의 값에 대해 (변수 - 최소값)/(최대값 - 최소값) 계산을 수행하기 때문에 가장 큰 값은 1, 가장 작은 값은 0으로 치환됩니다.
- 이러한 과정을 통해 모든 데이터들을 서로 비교 가능케 할 수 있습니다.
- from sklearn.preprocessing import MinMaxScaler 통해 정규화할 수 있습니다.
Standardization(표준화)
- 정규분포(N(0,1))의 어떤 값을 표준한 것으로, 표준정규분포의 Z값과 같다고 볼 수 있습니다.((변수 - 평균) / 표준편차)
- 따라서 정규화처럼 0과 1사이로 범위가 통일되지는 않습니다.
- from sklearn.preprocessing import StandardScaler 통해 표준화할 수 있습니다.
728x90
'AI' 카테고리의 다른 글
[Paper Review] DALL-E : Zero-Shot Text-to-Image Generation (0) | 2022.05.03 |
---|---|
[Paper Review] GPT-1 (0) | 2022.03.21 |