AI/Machine Leaning

[Machine Learning] 정규화(Normalization) vs 표준화(Standardization)

Sungwoo Koo 2024. 5. 30. 13:54

정규화와 표준화 둘 중 어떤 상황에 어떤 방법을 선택해야 하는지 궁금해 알아보았다.

참고

 

정규화 (Normalization)

정규화의 목적은 데이터셋의 numerical value 범위의 차이를 왜곡하지 않고 공통 척도로 변경하는 것이다.

기계학습에서 모든 데이터셋이 정규화 될 필요는 없고, 피처의 범위가 다른 경우에만 필요하다.

 

Min-Max Scaling

Min-Max Scaling은 정규화의 한 방법으로 모든 피처가 정확하게 [0,1] 사이에 위치하도록 데이터를 변경한다. 

2차원 데이터셋일 경우에는 모든 데이터가 x축의 0과 1, y축의 0과 1 사이의 사각 영역에 담기게 된다.

Min-Max Scaling 수식

즉, 데이터에서 최솟값을 빼고 전체 범위로 나누는 것이다.

 

 

예시) 만약 두 시험의 최소 점수가 0점 최대 점수가 각각 100점, 500점이라고 하면 다음과 같다

 

 

표준화 (Standardization)

표준화는 데이터의 분포를 정규분포로 바꿔준다.

데이터의 평균이 0이 되도록하고 표준편차가 1이 되도록 만들어준다.

표준화 수식

일단 데이터의 평균을 0으로 만들어주면 데이터의 중심이 0에 맞춰지게(Zero-centered) 된다.

그리고 표준편차를 1로 만들어 주면 데이터가 정규화(Normalized) 된다.

이렇게 표준화를 시키게 되면 일반적으로 학습 속도(최저점 수렴 속도)가 빠르고, Local minima에 빠질 가능성이 적다.

 

 

정규화된 데이터와 표준화된 데이터의 분포의 차이

 

정규화(Normalization) vs 표준화(Standardization)

두 방식의 차이점을 정리하자면 다음과 같다

 

내가 알고 싶었던 어떤 상황에 어떤 방법을 선택해야하는지는 정확한 답이 없다는 것을 알게 되었다.

 

통상적으로는 표준화를 통해 이상치를 제거하고,

그 다음 데이터를 정규화 해 상대적 크기에 대한 영향력을 줄인 다음 분석을 시작한다고 한다.

 

예를 들어, cluster analysis에서 특정 거리 측도를 기반으로 피처 간의 유사성을 비교하기 위해 표준화가 특히 중요할 수도 있다. 또 다른 예는 주성분 분석(Principal Component Analysis)로, 보통 Min-Max Scaling보다 표준화를 선호한다. 왜냐하면 분산을 극대화하는 성분에 관심이 있기 때문이다. 정규화는 이미지 프로세싱에서 자주 사용되는데, pixel intensities를 특정 범위(RGB 색상 범위의 경우 0~255) 내에 맞추려면 정규화가 필요하다. (출처)