AI

[딥러닝] Feature Scaling

EddyLee 2024. 4. 11. 22:18

Feature Scaling이란?

데이터 X에서 서로 다른 변수의 값 범위를 일정한 수준으로 맞춰주는 작업을 의미한다.

 

왜?

* Gradient Descent 최적화: 일부 최적화 알고리즘은 입력 데이터의 스케일에 민감할 수 있습니다. 특히 Gradient Descent와 같은 최적화 알고리즘은 각 특성의 스케일이 비슷하면 수렴이 빠르고 안정적으로 이루어집니다. 특성의 스케일이 너무 크거나 작으면 최적화 과정에서 탐색이 어려워질 수 있습니다. 

* 모델 성능 향상: 특성 간의 스케일 차이가 클 경우, 특정 특성이 다른 특성에 비해 모델의 학습에 더 많은 영향을 미칠 수 있습니다. 이러한 경우 모델이 특정 특성에 지나치게 의존하여 일반화 성능이 저하될 수 있습니다. 특성 스케일링을 통해 이러한 문제를 완화할 수 있습니다. 

* 모델 해석성 향상: 일부 모델은 특성들의 크기에 따라 가중치를 부여합니다. 특성 간의 스케일 차이가 크면 모델의 해석이 어려워질 수 있습니다. 특성 스케일링을 통해 특성들 간의 상대적인 중요도를 더 잘 이해할 수 있습니다. 

* 모델 안정성 향상: 특성 스케일링을 통해 입력 데이터의 분포를 조절하면 모델의 안정성이 향상될 수 있습니다. 특히 커널 서포트 벡터 머신(Kernel Support Vector Machine)과 같은 모델에서는 입력 데이터의 스케일에 따라 모델의 성능이 크게 달라질 수 있습니다.

 

즉, 모델의 편향성을 낮출 수 있고, 수렴을 빠르게 시킬 수 있다.

 

 


1. 표준화 Standarization

=> SVM, Linear Regression, Logistic Regression은 데이터가 가우시안 분포를 가졌다고 가정함. 따라서 꼭 해줘야 한다.

: 데이터 값들을 평균이 0이고 분산이 1인 가우시안 정규 분포를 가진 값으로 변환하는 작엄

 

 

 

2. 정규화 Normalization

: 서로 다른 범위의 변수들의 크기를 통일하기 위해 이를 변환하는 작업. 0~1 사이의 값을 갖도록 조정한다.

 

 

 

 

 

 

 

 

 

 

참고

 

데이터 전처리의 피처 스케일링(Feature Scaling)

머신러닝의 데이터 전처리에서의 피처 스케일링(Feature Scaling) Feature Scaling이란? 서로 다른 변수의 값 범위를 일정한 수준으로 맞추는 작업이다. Feature Scaling을 하는 이유는? 변수 값의 범위 또는

glanceyes.com