-
Normalization_1deep learning/normalization 2024. 2. 6. 23:50
종종 정규화라는 이름으로 이해되는 세 가지 개념의 목적과 사용 방법, 예시에 대해 간단하게 정리해본다.
Normalization, Standardization, Regularization은 서로 다른 개념이지만 데이터 전처리와 모델 학습 단계에서 데이터의 안정성과 모델 학습의 효율성을 제고하기 위해 사용된다.
Normalization과 Standardization은 데이터의 스케일을 변환하는 방법이고,
Regularizaition은 모델의 파라미터에 적용되어 Overfitting을 예방하는 역할을 수행한다.
Normalization (정규화)
- 데이터의 범위를 [0, 1] 혹은 [-1, 1]과 같은 특정 범위로 스케일을 조정하는 것으로,
- 데이터의 전체적인 모양 혹은 특성은 훼손하지 않고 기존 데이터와 동일한 비율을 유지하고 범위만 조정
- 모든 feature가 동일한 영향력을 가질 수 있도록 비율을 조정하여 Feature의 영향이 비대해지는 것을 방지하며,
- 데이터의 범위를 특정 범위로 조정함으로서 gradient의 수렴 속도를 향상시키는 역할
- Sklearn의 MinMaxScaler
Standardization (표준화)
- 데이터를 평균이 0이고 표준편차가 1인 분포로 변환하는 것으로,
- 데이터의 표준펀차를 1로 맞추기 위해 사용하는
- Feature의 영향이 비대해지는 것을 방지하고자 사용하며, 정규분포 형태의 data로 재조직화
- Sklearn의 StandardScaler
Regularization (정칙화)
- 모델의 복잡성을 제어하여 과적합을 방지하고 모델의 일반화 성능을 향상시키는 방법
- 가중치에 대한 추가적인 제약을 부여하여 특정 Parameter가 지나치게 커져 Overfitting이 발생하지 않도록 하는 역할
- L1 정규화(Lasso - 가중치의 절대값 합을 제한), L2 정규화(Ridge - 가중치의 제곱 합을 제한) 사용
'deep learning > normalization' 카테고리의 다른 글
Batch Normalization (0) 2024.02.06