정규화

넘어산·2024년 1월 9일
0

TIL

목록 보기
23/37

정규화가 필요한 이유

  • 데이터에서 하나의 sample은 여러 가지 속성 값들을 통해 표현이 가능하다.
  • 혹여나 이상치 문제가 심각하거나, 속성 값(feature)들의 크기 및 단위가 다양하고 크게 다른 경우 데이터 분석이 어려워진다.
  • 그래서 정규화와 스케일링을 통해 일정하게 맞춰주는 작업이 필요하다

정규화(normalization)란?

  • 여러가지 값들이 가지는 범위의 차이를 왜곡하지 않으면서 범위를 맞추는 것
  1. Min-max normalization
  2. Z-scroe normalization
  3. Log scaling

Min-max normalization

  • 모든 feature 값이 [0,1] 사이에 위치하도록 scaling
  • 분모는 feature가 가질 수 있는 max-min 차이, 분자는 feature 값과 min 차이
  • feature 간의 variance 패턴은 그대로 유지한채 scaling이 되도록
  • 특정 feature가 variance가 매우 크다면(=이상치가 존재하나다면) 데이터 분석에 적절하지 않을 수 있다.

Z-score normalization

  • feature 값들이 평균 = 0, 표준편차 =1 값을 가지는 정규분포를 따르도록 한다.
  • 즉, feature 값을 평균값으로 뺀 후 표준편차 값으로 나눈 값을 사용
  • 이때 z 값을 표준점수라고 한다
  • 이상치(Outlier) 문제에 상대적으로 강력한 스케일링 방법이지만, 최소값-최대값 범위가 정해지지 않음

Log scaling

  • feature 값들이 exponential한 분포(positive skewed)를 가지는 경우 log연산 취하여 스케일링
  • 비슷하게 sqaure root연산이나, power/exponential 연산 가능

0개의 댓글