데이터 전처리: 스케일링 – 정규화

ㅁ 스케일링

ㅇ 정의:
데이터의 값 범위를 일정한 구간으로 맞추어 모델 학습 시 변수 간 크기 차이로 인한 영향을 줄이는 전처리 기법.

ㅇ 특징:
– 변수 값의 스케일이 다를 경우 경사하강법 기반 알고리즘의 수렴 속도 향상.
– 거리 기반 알고리즘(KNN, K-means 등)에서 변수 단위 차이로 인한 왜곡 방지.
– 스케일링 방법에 따라 데이터 분포 특성이 달라질 수 있음.

ㅇ 적합한 경우:
– 변수 단위가 서로 다르고, 모든 특성이 동일한 중요도로 반영되어야 하는 경우.
– 거리 계산 또는 내적 연산을 하는 모델.

ㅇ 시험 함정:
– 스케일링은 훈련 데이터에 맞춘 변환 기준을 테스트 데이터에도 동일하게 적용해야 함.
– 정규화와 표준화의 개념 혼동.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “KNN 알고리즘 적용 전, 변수 단위 차이를 줄이기 위해 스케일링을 수행한다.”
X: “스케일링은 모델 성능 향상과 무관하다.”

================================

1. 정규화

ㅇ 정의:
데이터 값을 0~1 또는 -1~1 등의 일정 범위로 선형 변환하는 방법으로, 각 데이터 포인트를 전체 범위에 맞춰 상대적 비율로 조정.

ㅇ 특징:
– 최소값과 최대값을 이용하여 변환(Min-Max Normalization).
– 이상치(Outlier)에 민감하여, 극단값이 있으면 스케일이 왜곡될 수 있음.
– 데이터 분포의 모양은 유지되지만, 절대 크기 정보는 사라짐.

ㅇ 적합한 경우:
– 데이터가 특정 범위 내로 제한되어야 하는 경우(예: 이미지 픽셀값 0~255 → 0~1).
– 신경망 활성화 함수 입력 범위를 맞출 때.

ㅇ 시험 함정:
– 정규화는 평균과 표준편차를 사용하지 않음(이는 표준화의 특징).
– 이상치가 있는 경우 적합하지 않을 수 있음.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “정규화는 최소값과 최대값을 이용해 데이터를 0과 1 사이로 변환한다.”
X: “정규화는 평균과 표준편차를 이용한다.”

ㅁ 추가 학습 내용

표준화(Standardization)는 데이터의 평균을 0, 표준편차를 1로 변환하는 방법으로, 이상치의 영향을 상대적으로 덜 받는 특징이 있다. 이는 정규화(Normalization)와 구분되며, 정규화는 주로 데이터 값을 0~1 범위로 변환하는 방식이다. 표준화 외에도 다양한 스케일링 기법이 존재하는데, Robust Scaler는 이상치에 강하며 중앙값과 IQR을 사용하고, MaxAbsScaler는 절대값의 최대치를 1로 맞추어 희소 행렬에 적합하다.

실무에서는 반드시 훈련 데이터로 스케일러를 fit한 후, 테스트 데이터에는 transform만 적용해야 한다. 이를 반대로 하면 데이터 누수(Data Leakage)가 발생하여 모델 성능이 과대평가될 수 있다.

스케일링은 거리 기반 모델(KNN, SVM 등), PCA, 신경망에서 성능에 큰 영향을 미치지만, 트리 기반 모델(Random Forest, XGBoost 등)에서는 스케일링 효과가 거의 없다. 따라서 모델 종류에 따라 스케일링 필요성을 구분하여 적용해야 한다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*