normalization(정규화) / standardization(표준화)

cuckoo·2022년 10월 25일
0

선형대수

목록 보기
11/11

normalization(정규화)

정규화의 목적은 데이터셋의 numerical value 범위의 차이를 왜곡하지 않고 공통 척도로 변경하는 것입니다. 기계학습에서 모든 데이터셋이 정규화 될 필요는 없고, 피처의 범위가 다른 경우에만 필요합니다.

  • 값의 범위(scale)을 0 ~ 1사이의 값으로 바꿔주는 것.
  • 학습 전에 scaling하는 것
  • 머신러닝에서 scale이 큰 feature의 영향이 비대해지는 것을 방지
  • 딥러닝에서 Local Minima에 빠질 위험 감소(학습 속도 향상)
  • scikit-learn에서MinMaxScaler사용

standardization(표준화)

표준화(또는 Z-score 정규화)의 결과는 다음과 같은 표준정규분포의 속성을 갖도록 피처가 재조정되는 것입니다.

μ=0,σ=1

여기서 μ는 평균이고 σ는 평균으로부터의 표준편차이다. 표본의 표준 점수(Z-score)는 다음과 같이 계산된다.

z=(X−μ) /σ

  • 값의 범위(scale)를 평균 0, 분산 1이 되도록 바꿔주는 것.
  • 학습 전에 scaling하는 것
  • 머신러닝에서 scale이 큰 feature의 영향이 비대해지는 것을 방지
  • 딥러닝에서 Local Minima에 빠질 위험 감소(학습 속도 향상)
  • 정규분포를 표준정규분포로 변환하는 것과 같음
  • scikit-learn에서StandardScaler사용

정규화 표준화 사진으로 한눈에 보기

차이점

그렇다면 언제 정규화를 하고 언제 표준화를 할까?

  • 명확한 답은 없다. 통상적으로는 표준화를 통해 이상치를 제거하고, 그 다음 데이터를 정규화 해 상대적 크기에 대한 영향력을 줄인 다음 분석을 시작한다고 합니다.
profile
ENTJ 데이터 분석가 준비중입니다:)

0개의 댓글