머신러닝 - 6. 데이터 스케일링 (Data Scaling)

2024. 1. 10. 16:58인공지능/머신러닝 이론

728x90
반응형

데이터 스케일링이란

 머신러닝에서 특성 스케일링(Feature Scaling)이라고도 부르는 데이터 스케일링은 독립적인 변수들이나 특성을 정규화(normalize) 하는 것을 이야기한다.

 

 데이터 스케일링이 필요한 이유는 무엇일까. 그것을 쉽게 이해하기 위하여 한 가지 예시를 들어보자. 피아니스트의 실력을 예측하기 위해 키, 손가락 길이, 몸무게와 같은 신체 정보를 특성으로 하여 기계 학습을 시킨다고 가정하자(물론 피아니스트의 실력이라는 것은 정량적으로 측정하기 어렵지만). 키는 150~190cm 사이의 값을 가질 테지만 손가락은 4~15cm 사이의 값을 가지게 될 것이다. 이 경우 예측 값 y를 계산할 때 손가락의 길이보다 신장이 더 큰 영향을 미칠 수 있다.

 

 이런식으로, 만약 어떤 특성 x1과 x2가 있을 경우 x1의 값이 1 ~ 10 정도의 크기를 가지고, x2가 1 ~ 100000 사이의 값을 가지는 것처럼 특성 간의 값 범위가 너무 차이가 나게 되면, 정확한 예측을 하기 어려워질 수 있다. 이것을 해결하기 위해 데이터 스케일링이 필요하다.

 

 또한, 데이터 스케일링은 경사 하강법의 학습 속도가 빨라지게 하는 이점도 존재한다. 이는 모든 가중치 및 편향에 적합한 학습률을 찾기 더 용이한데, 특성의 스케일이 너무 다를 경우 가중치별로 적합한 학습률이 다를 수 있기 때문이다. 지역최소점(Local Minima)에 빠질 가능성도 줄어들게 된다.

 

 이러한 데이터 스케일링의 방법에는 크게 두 가지가 있는데 하나는 정규화(Normalization)이고, 다른 하나는  표준화(Standardization)이다.


정규화 (Normalization), 최소-최대 정규화 (Min-Max Scaling)

 정규화는 데이터의 값을 범위의 차이를 왜곡하지 않으면서 일정 범위내의 값으로 변경하는 것을 말한다.

 

 

< 수식 1 - Min-Max Scaling >

 

 위의 수식 1은 최소-최대 정규화의 수식이다. Min-Max Scaling은 모든 특성의 값이 [0, 1] 사이에 위치하도록 데이터를 변환하며, 최솟값은 0, 최댓값은 1이 된다. 정규화는 이상치에 민감하며, 분류 문제보다는 회귀 문제를 해결할 때 더 적합한 스케일링 기법이다.

 

  철수 영희 맹구 훈이
x: 키(cm) 100 150 130 120

 

 가령 위와 같은 4명의 아이들과 각각의 키에 대한 테이블이 있을 때, 이에 대해 Min-Max Scaling을 적용하면 아래와 같이 나타내지게 된다.

 

  철수 영희 맹구 훈이
x' 0 1 0.6 0.4

 


표준화 (Standardization)

 표준화는 데이터의 분포를 표준 정규 분포(Standard Normal Distribution)로 만드는 것을 말한다. 이는 다시 말해, 데이터의 평균을 0으로, 표준 편차를 1로 조정하는 방법이다. 정규화와는 다르게 특정 범위로 제한되지는 않으며, 회귀 문제를 해결할 때 더 적합한 스케일링 기법이다.

 

< 수식 2 - 표준화 >

 

 표준화에서는 본래 값에서 평균을 뺀 값을, 표준편차로 나눈 값을 구한다. 이를 나타낸 것이 위의 수식 2이다.

 

  철수 영희 맹구 훈이
x' -1.386 1.386 0.277 -0.277

 

 앞서 보았던 테이블에 대해 표준화를 적용하면 위와 같이 나타내어지게 된다.

728x90
반응형