숫자형 데이터 스케일링이란?

2026. 3. 18. 09:05·직장인 대학원/MLOps
728x90
반응형

숫자형 데이터 스케일링이란?

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 안의 과한 값들을 다루는 방법이다.

 

728x90
반응형
저작자표시 (새창열림)

'직장인 대학원 > MLOps' 카테고리의 다른 글

AI와 머신러닝 기초 정리: 지도학습, 비지도학습, 분류, 회귀, 군집화  (0) 2026.03.11
'직장인 대학원/MLOps' 카테고리의 다른 글
  • AI와 머신러닝 기초 정리: 지도학습, 비지도학습, 분류, 회귀, 군집화
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (941) N
      • 개발중 (635)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (88)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (20) N
        • 기록 (3)
        • 캐글 스터디 (3)
        • R (12)
        • MLOps (2) N
      • 논문 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spring
    docker
    파이썬 알고리즘
    네트워크 관리사 요약
    파이썬
    스프링
    리눅스 마스터 요약
    리눅스 마스터
    Git 저장소
    리눅스 1급 요약
    VUE
    리눅스 마스터 1급 정리
    네트워크 관리사 2급
    BackendDevelopment
    java
    네트워크 관리사 2급 실기
    네트워크 관리사 학점
    네트워크 관리사 실기
    리눅스 마스터 1급 요약
    네트워크 관리사 자격증
    springboot
    jpa
    리눅스 마스터 1급
    네트워크 관리사
    redis
    알고리즘
    쿠버네티스 스터디
    쿠버네티스
    REST API
    git
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
숫자형 데이터 스케일링이란?
상단으로

티스토리툴바