본문 바로가기
Statistics

왜, 언제 스케일링(standardization, min-max)를 수행해야 할까 ?

by 뚜찌지롱 2021. 6. 11.

 

머신러닝, 회귀 등 모델링을 수행할 때 스케일링(scaling)은 중요한 과정 중 하나임을 우리는 알고 있다. 스케일링은 범위를 재정의하는 것을 의미한다. 여기서, 표준화는 스케일링 방법 중 하나이며 우리는 이것이 언제 필요한지는 모른채 무작정 표준화를 수행하는 것이 대부분일 것이다. 본 포스팅에서는 어떻게, 왜, 언제 스케일링를 수행하는지 알아볼 것이다. 

 

○ 왜 스케일링를 수행하는가 ?

 

데이터를 보면 모든 열들 즉, 변수들은 각자 다른 단위를 가지고 있다. 예를 들어, 키(height)와 몸무게(weight) 변수가 있다고 하면 단위는 각각 (cm, kg)이며 관찰한 표본이 성인이라고 가정할 때 범위는 (150-190cm), (40-100kg) 정도로 다른 단위와 범위를 가지게 된다. 이러한 단위 차이는 몇몇 회귀 모형이나 머신러닝 기법에서 문제를 일으킬 수 있다. 

거리 기반의 모델링(distance based model)을 수행할 때 상대적으로 범위가 넓은 몸무게 변수가 거리 계산을 하는 과정에서 더 많은 기여를 하게 되어 더 중요한 변수 or 영향력이 높은 변수로 인식될 수 있다. 따라서, 이러한 문제를 방지하기위한 방법 중 하나로 범위를 재정의하는 스케일링를 수행한다. 

 

 

 

○ 어떻게 표준화를 수행하는가 ?

 

스케일링(scaling)의 종류로 가장 널리 알려진 방법 2가지를 소개하고자 한다. 

 

1. Z-score / Standardization

 

통계학에서는 주로 표준화 또는 Z-score 이라고 불리며, 이는 데이터의 평균을 0 분산을 1이 되도록 값을 스케일링하는 것이다. 다음의 수식을 통해 관측값들이 스케일링된다. 

 

$\frac{x-mean}{standard deciation}$

 

2. Min-Max / Normalization

 

두 용어 정의는 같은 것으로 컴퓨터 사이언스 쪽에서는 정규화라고 사용하는 것 같다. 이 방법은 값을 0과 1사이로 축소시킨 것이다. 즉, 비율의 값을 가지게 되며 가장 작은 값은 0의 값을 가지게 될 것이고 가장 큰 값은 1의 값을 가질 것이다. 

 

$\frac{x-min(x)}{max(x)-min(x)}$

 

 

○ 언제 스케일링을 수행해야하는가 ?

 

위에서 언급했던 거리-기반 모델링을 할 때, 표준화는 넓은 범위의 값을 가지는 변수가 거리 측도를 지배하는 상황을 방지하기 위해 수행되어야 한다. 하지만, 이는 거리-기반 모델링을 수행할 때 표준화를 사용해야하는 이유이며, 각 적용하고자 하는 모델링 방법에 따라 이유는 다르지만, 보통 모델에 동일한 기여를 하게끔 만들어 주는 것이 목적이다.

 

1. 주성분 분석(PCA)

 

주성분 분석에서 높은 분산/ 넓은 범위를 가지는 변수는 낮은 분산을 가지는 변수보다 주성분에서 큰 회귀계수를 가지게 된다. 이는 즉, 중요하지 않은 변수도 범위가 넓으면 주성분에서 중요한 변수로 간주된다는 것이다. 이는 모델링을 수행할 때 가장 치명적이다. 

 

2. 군집(clustering) 

 

군집분석은 거리-기반 알고리즘으로 거리 측도(ex. 유클리디안, 맨하튼.. )를 이용하여 관측값 사이에서 유사성을 찾아 군집을 형성한다. 따라서, 넓은 범위를 가지는 변수는 군집에서 더 큰 영향력을 가지게 된다. 

 

3. k-최근접 이웃(knn)

 

k-최근접 이웃은 거리-기반 알고리즘으로 새로운 관측값의 주변에 있는 k개의 이웃(데이터)를 이용하여 유사성 측도에 기반해 관측값을 분류한다. 따라서, 유사성 측도에 모든 변수가 동일하게 기여할 수 있도록 스케일링을 수행해야한다.

 

4. 서포트벡터머신(SVM) 

 

서포트벡터 머신은 서포트벡터와 분류기(hyperplane) 사이 거리인 마진(margin)을 최대로 만들어주는 분류기를 찾는 알고리즘이다. 따라서, 큰 값을 가지는 변수가 거리 계산을 할 때 영향력을 많이 미치게 된다. 

 

5. 회귀

 

예측을 위한 회귀 모델링이 목적이라면 표준화를 수행할 필요가 없지만, 변수의 중요도나 다른 회귀계수들과 비교를 하는 것이 목적이라면 표준화를 수행하여야 한다. 

 

6. 릿지-라쏘

 

릿지-라쏘 모형은 회귀계수에 벌점을 가하는 방법으로 다중공선성과 과적합을 해결하기 위해 사용된다. 회귀계수의 크기를 벌점으로 사용하기 때문에 상대적으로 큰 분산을 가지는 변수가 회귀계수가 클 것이고 그 회귀계수를 벌점으로 사용하게 되면 작은 분산을 가지는 변수들보다 회귀계수를 더 축소시켜 최종적인 회귀계수는 작아지게 될 것이다. 

정리하면 릿지, 라쏘는 회귀계수가 단위에 영향을 미치기 때문에 표준화를 꼭 수행해야한다.

 

 

○ 스케일링이 필요하지 않은 경우

 

로지스틱 회귀나 트리 기반 모델인 의사결정나무, 랜덤 포레스트 , 그래디언트 부스팅은 변수의 크기에 민감하지 않으므로 표준화를 수행해줄 필요가 없다. 

 

 

 

 

 

 

https://builtin.com/data-science/when-and-why-standardize-your-data

 

When and Why to Standardize Your Data?

A simple guide on when it is necessary to standardize your data.

builtin.com

 

 

'Statistics' 카테고리의 다른 글

Type I and Type II errors  (0) 2021.08.13
DTW(Dynamic Time Warping)  (5) 2021.06.25
오즈비(Odds ratio, OR)와 상대위험도(Relative Risk, RR)  (0) 2021.05.27
맥네마 검정(McNemar's test)  (0) 2021.05.19
Boruta 알고리즘  (0) 2021.05.03

댓글