오늘 끝나면
특성 스케일링
- ✓특성 스케일링의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 특성이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
표준화·정규화 — 단위가 다르면 맞춰야 함 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
통계 · 34
특성
스케일링
변수마다 단위와 범위가 다르면 거리와 경사가 큰 변수에 휘둘린다.
키 cm와 소득 원을 같이 두면 숫자가 큰 쪽이 다 먹는다.
표준화와 정규화로 변수들을 같은 자에 맞추는 일이다.
단위가 다르면 큰 변수가 다 먹는다
거리를 재는 모델은 두 점의 차이를 변수마다 제곱해 더한다. 단위가 다르면 망가진다.
나이 차 10(살)과 소득 차 10(원)은 같은 10이 아니다.
그런데 유클리드 거리 √Σ(xᵢ−xⱼ)²는 둘을 똑같이 10으로 친다.
그래서 범위가 큰 변수(소득: 0~1억) 하나가 거리의 거의 전부를 차지한다.
범위가 작은 변수(나이: 0~100)는 거리에 끼지도 못하고 사실상 무시된다.
경사하강도 같은 병을 앓는다.
축마다 스케일이 다르면 손실면이 길쭉한 골짜기가 되고, 갈지자로 느리게 수렴한다.
스케일을 켜면 균형이 잡힌다
두 변수의 점들을 두고 스케일을 켰다 껐다 한다.
스케일 OFF면 가로 범위가 큰 변수가 거리를 지배한다.
가장 가까운 이웃이 그 변수 기준으로만 정해지고, 다른 변수는 무시된다.
스케일 ON이면 두 변수가 같은 자로 맞춰진다.
이웃과 군집이 두 변수를 함께 반영해 다시 잡히고, 결과가 달라진다.
기준점을 옮기면 이웃이 바뀐다. 스케일링이 모델의 답을 바꾼다는 뜻이다.
□ 기준점 · ● 데이터 · ◎ 가장 가까운 이웃
스케일 OFF면 X(0~1000)가 거리를 거의 독점하고 Y는 사실상 무시된다. 이웃이 X만 보고 정해진다.
표준화 vs 정규화
변수를 같은 자에 맞추는 방법은 크게 둘이다. 쓰는 식이 다르다.
표준화(z-점수)는 평균을 빼고 표준편차로 나눈다.
z = (x − μ) / σ로 계산하면 결과는 평균 0, 표준편차 1이다.
범위는 따로 정해지지 않고, 이상치가 있어도 멀리 안 튄다.
정규화(Min-Max)는 최솟값을 0, 최댓값을 1로 늘린다.
x' = (x − min) / (max − min)로 계산하면 결과는 0~1 사이가 된다.
범위가 딱 정해지는 대신, 이상치 하나가 min과 max를 끌어 전체를 찌그러뜨린다.
정규분포에 가깝거나 이상치가 있으면 표준화를 쓴다.
경계가 0~1로 필요하면(이미지 픽셀, 일부 신경망) 정규화를 쓴다.
어느 쪽이든 같은 변환을 train과 test에 똑같이 적용해야 한다.
| 원본 | 표준화 z | 정규화 0~1 |
|---|---|---|
| 1 | -1.18 | 0 |
| 3 | -0.39 | 0.29 |
| 4 | 0 | 0.43 |
| 8 | 1.57 | 1 |
어떤 모델에 필요한가
전부 스케일링이 필요한 건 아니다. 모델이 데이터를 보는 방식에 달려 있다.
거리를 재는 모델은 필수다.
KNN과 K-평균은 거리로 이웃과 군집을 정하고, SVM(RBF)도 거리에 민감하다.
PCA는 분산이 큰 축을 찾는데, 스케일을 안 하면 단위 큰 변수가 분산을 독점한다.
경사하강으로 학습하는 모델도 필요하다.
신경망과 로지스틱·선형 회귀(경사하강)는 스케일을 맞춰야 빠르고 안정적으로 수렴한다.
L1·L2 정규화도 계수에 같은 벌점을 주려면 변수 스케일이 같아야 공정하다.
트리 계열은 안 해도 된다.
결정트리, 랜덤포레스트, 그래디언트 부스팅은 한 변수 안에서 임계값으로 자른다.
분할은 순서만 보고 단위와 크기엔 무관하므로, 단조 변환에 결과가 변하지 않는다.
정리, 같은 자로 맞춘다
특성 스케일링은 단위와 범위가 제각각인 변수를 같은 자로 맞추는 전처리다.
표준화는 평균 0, 표준편차 1(z-점수)이고, 정규화는 0~1(Min-Max)이다.
이상치엔 표준화가 강하고, 경계가 필요하면 정규화가 낫다.
변환은 train에서 구한 통계로 test에도 똑같이 적용한다.
KNN, SVM, K-평균, PCA, 신경망엔 필수이고, 트리 계열엔 불필요하다.
Q. 스케일링이 필요 없는 모델은?
정답은 트리 계열(결정트리, 랜덤포레스트, 부스팅)이다.트리는 한 변수 안에서 임계값으로 분할하고, 단위와 크기가 아니라 순서만 본다.
그래서 단조 변환(스케일링 포함)에 분할 결과가 바뀌지 않으므로, 스케일링이 무의미하다.
반대로 거리(KNN, SVM, K-평균, PCA)나 경사하강(신경망, 회귀)을 쓰면 필수다.
| 질문 | 답 |
|---|---|
| 왜 하나? | 단위 통일큰 변수 독점 막기 |
| 표준화 | z-점수(x−μ)/σ · 이상치에 강하다 |
| 정규화 | Min-Max(x−min)/(max−min) · 0~1 |
| 안 해도 되는 곳 | 트리 계열분할은 단위 무관 |