숫자형 데이터 스케일링이란?
Linear, Z-score, Log Scaling, Clipping 쉽게 이해하기
머신러닝에서는 데이터를 그냥 넣는다고 끝이 아니다.
특히 숫자형 데이터는 크기 차이, 이상치, 치우친 분포 때문에 모델이 데이터를 이상하게 받아들일 수 있다.
그래서 사용하는 것이 바로 스케일링(Scaling) 이다. 수업 자료에서도 숫자형 데이터 처리의 핵심 목표로 outlier 처리와 Linear, Z-score, Log 같은 정규화/스케일링 기법을 함께 다루고 있다.
예를 들어 한 데이터셋에 다음 두 feature가 있다고 해보자.
- 나이: 35
- 연봉: 100,000,000
둘 다 중요한 정보인데, 숫자 크기만 보면 연봉이 훨씬 커 보인다.
이러면 모델은 연봉을 더 중요하게 착각할 수 있다. 수업 자료에서도 이런 상황을 Magnitude Trap이라고 설명하며, 서로 다른 크기의 feature를 공정하게 비교할 수 있도록 맞춰주는 과정이 필요하다고 말한다.
스케일링이 필요한 이유
스케일링의 핵심 목적은 아주 단순하다.
“숫자의 크기 때문에 생기는 불공평함을 줄이자.”
수업 자료에서는 feature scaling의 목표를
- 같은 운동장에 올려놓기
- 공정한 비교 만들기
- 모델 학습을 더 빠르고 안정적으로 만들기
라고 설명한다. 또한 스케일링을 하면 학습 지형이 더 대칭적으로 바뀌어 학습 속도와 수렴이 좋아질 수 있다고 정리한다.
1. Linear Scaling (Normalization)
개념
Linear Scaling은 데이터를 고정된 범위, 보통 0~1 사이로 바꾸는 방법이다.
가장 대표적인 형태는 Min-Max Scaling이다.
예를 들어 점수가 0점부터 100점까지 있다면
- 0점 → 0
- 25점 → 0.25
- 50점 → 0.5
- 100점 → 1
이렇게 바뀐다.
즉, 원래 값이 전체 범위에서 어디쯤 있는지를 같은 눈금으로 표현하는 것이다.
언제 좋은가?
수업 자료에서는 Linear Scaling이
- Min/Max 경계가 분명할 때
- 값을 고정된 [0,1] 범위에 넣고 싶을 때
- 이상치가 없고 분포가 비교적 고른 경우
적합하다고 설명한다.
예를 들면 센서 데이터처럼
온도, 습도 값의 범위가 어느 정도 정해져 있는 경우에 잘 어울린다. 수업 자료의 요약 표에서도 Temperature/Humidity Sensor 예시와 함께 제시된다.
단점
Linear Scaling의 가장 큰 약점은 이상치에 약하다는 점이다.
만약 대부분의 값은 작고, 몇 개만 엄청 크다면
큰 값 때문에 나머지 값이 거의 0 근처에 눌려버린다.
수업 자료에서도 “몇 명의 억만장자가 99%의 데이터를 0 근처로 squashing 한다”고 표현하며, highly skewed data에는 좋지 않은 선택이라고 설명한다.
한 줄 정리
Linear Scaling은 데이터를 0~1 같은 고정 범위로 맞추는 데 좋지만, 이상치가 많으면 잘 안 맞는다.
2. Z-score Scaling (Standardization)
개념
Z-score Scaling은 값을 평균에서 얼마나 떨어져 있는지로 바꾸는 방법이다.
즉, 절대값 자체보다
“이 값이 평균보다 얼마나 위나 아래에 있나?”
를 보는 방식이다.
예를 들어 평균이 50점, 표준편차가 10점인 시험에서
- 40점은 평균보다 10점 낮으므로 z = -1
- 50점은 평균과 같으므로 z = 0
- 60점은 평균보다 10점 높으므로 z = 1
이렇게 해석할 수 있다.
특징
수업 자료에서는 Z-score Scaling을
- 평균 0, 표준편차 1 중심으로 변환
- “평균에서 몇 표준편차 떨어졌는가”를 표현
- 보통 값이 [-3, 3] 근처에 많이 위치
하는 방식으로 설명한다.
또한 정규분포(Bell Curve) 에 잘 맞고, normal data를 과하게 눌러버리지 않으면서 공정한 비교를 할 수 있다고 정리한다.
언제 좋은가?
Z-score는 특히 시험 점수처럼
평균 대비 상대적 위치가 중요할 때 유용하다.
수업 자료 요약 표에서도 SAT/GRE 같은 시험 점수를 예로 든다.
예를 들어,
- 시험 A에서 80점
- 시험 B에서 80점
둘 다 숫자는 같지만, 시험 난이도와 전체 평균이 다르면 의미가 달라진다.
이럴 때 Z-score를 쓰면 “상대적으로 얼마나 잘했는지”를 더 공정하게 비교할 수 있다.
한 줄 정리
Z-score는 데이터를 평균 기준으로 다시 표현해서, 상대적 위치를 비교하기 좋게 만든다.
3. Log Scaling
개념
Log Scaling은 너무 큰 값 차이를 압축하는 방법이다.
예를 들어 조회수가
- 10
- 100
- 1,000
- 10,000
처럼 커질 때, 원래 숫자 그대로는 차이가 너무 크다.
이런 값을 log로 바꾸면 큰 값 차이가 완만해져서 모델이 패턴을 더 쉽게 볼 수 있다.
왜 필요한가?
수업 자료에서는 Log Scaling의 역할을
- huge ranges 압축
- skewed data 완화
- 모델이 복잡한 패턴을 배우기 쉽게 만듦
이라고 설명한다.
즉, 어떤 feature 안에서 값 크기 차이가 너무 심하면
큰 값 몇 개가 전체를 지배하게 되는데,
log를 쓰면 이 차이를 줄여줄 수 있다.
언제 좋은가?
- 자산
- 연봉
- 매출
- 조회수
- 인구 수
처럼 오른쪽 꼬리가 긴 데이터,
즉 일부 값만 엄청 큰 데이터에 잘 맞는다.
수업 자료 요약 표에서도 Wealth(Net Worth) 예시가 나온다.
한 줄 정리
Log Scaling은 너무 큰 숫자 차이를 압축해서, 치우친 분포를 더 다루기 쉽게 만든다.
4. Clipping
개념
Clipping은 말 그대로 너무 큰 값을 잘라내는 것이다.
예를 들어 threshold를 4.0으로 정하면
- 3.2 → 3.2
- 4.7 → 4.0
- 10.5 → 4.0
이처럼 기준보다 큰 값은 전부 상한선에 맞춰 버린다.
왜 필요한가?
수업 자료에서는 clipping을
- extreme outlier를 다룰 때 사용
- threshold 이상 값을 cap
- 원래 데이터보다 더 useful한 feature set을 만들 수 있음
이라고 설명한다. 또한 4.0에서 잘라낸 예시와 함께, 값이 4.0보다 크면 정확히 4.0으로 바뀐다고 정리한다.
주의할 점
Clipping은 강력하지만, 대신 정보가 조금 사라진다.
왜냐하면 4.1과 100이 둘 다 4.0이 되어버릴 수 있기 때문이다.
그래서 먼저 생각해야 할 질문이 있다.
“이 이상치는 실수인가, 실제 중요한 값인가?”
수업 자료에서도 outlier를 다룰 때
- 실수라면 remove/fix
- 현실이지만 noise라면 remove 또는 clip
- 현실이면서 signal이라면 keep & scale
하라고 구분해 준다.
한 줄 정리
Clipping은 극단값의 영향을 줄이는 데 좋지만, 너무 세게 자르면 정보 손실이 생길 수 있다.
네 가지 방법 한 번에 비교하기
정리하면 이렇게 볼 수 있다.
Linear Scaling은 feature들의 범위를 맞추는 방법이다.
Z-score는 평균을 기준으로 상대적 위치를 비교하는 방법이다.
Log Scaling은 한 feature 안의 큰 값 차이를 압축하는 방법이다.
Clipping은 한 feature 안의 극단값을 상한선에서 잘라내는 방법이다.
수업 자료에서는 이 차이를 더 크게 두 갈래로 나눈다.
- Inter-feature balance: feature들끼리 단위를 맞춤 → Linear, Z-score
- Intra-feature balance: 한 feature 안의 giant outlier를 다룸 → Log, Clipping
이 구분을 이해하면 네 방법이 훨씬 덜 헷갈린다.
어떤 상황에서 무엇을 써야 할까?
아주 간단하게 정리하면 다음과 같다.
데이터 범위를 0~1처럼 맞추고 싶고, 이상치가 거의 없다면
→ Linear Scaling
평균 대비 얼마나 높은지 낮은지가 중요하다면
→ Z-score
값의 크기 차이가 너무 심해서 치우친 분포를 압축해야 한다면
→ Log Scaling
극단적인 이상치 몇 개가 전체를 망치고 있다면
→ Clipping
수업 자료의 전략적 workflow도 비슷하다.
먼저 이상치가 실수인지 현실인지 판단하고, 한 feature 안의 giant를 Log나 Clipping으로 먼저 다룬 뒤, 그 다음 Z-score나 Min-Max로 전체 feature 단위를 맞추라고 설명한다.
마무리
스케일링은 단순히 숫자를 바꾸는 기술이 아니다.
모델이 데이터를 공정하게, 안정적으로, 더 잘 학습하도록 돕는 전처리 전략이다.
특히 숫자형 데이터에서는
“범위를 맞출 것인가?”,
“평균 기준으로 볼 것인가?”,
“큰 값을 압축할 것인가?”,
“극단값을 잘라낼 것인가?”
를 구분해서 생각하는 것이 중요하다.
결국 핵심은 이 한 문장으로 정리할 수 있다.
Linear와 Z-score는 feature들 사이의 균형을 맞추고,
Log와 Clipping은 한 feature 안의 과한 값들을 다루는 방법이다.
'직장인 대학원 > MLOps' 카테고리의 다른 글
| AI와 머신러닝 기초 정리: 지도학습, 비지도학습, 분류, 회귀, 군집화 (0) | 2026.03.11 |
|---|
