Normalization이란 뭘까 웹스터 사전의 사전적 의미는 아래와 같다.

그리고 normlizing이란 to make (something) normal (as by a tranformation of variables) 라고 한다. 뭔가 변수의 변화를 통해서 어떤것을 normal하게 만든다고 한다.
통계 및 응용 분야에서는 서로 다른 척도로 측정된 값을 개념적으로 공통된 척도로 조정하는 것을 의미한다.
다시 말해서 데이터를 일정한 범위나 분포로 변환하는 과정(예: 0에서 1사이의 실수. 데이터의 평균을 0으로 분산을 1로 맞춤) 이런 Normalization을 통해서 얻을 수 있는 장점은 아래와 같다.
- 데이터 분포를 조절하여 데이터 분석에서 안정적인 결과를 얻을 수 있음
- 정규화를 수행한 후 인공 신경망에 적용할 경우 학습이 더 안정적으로 진행될 수 있음
- 서로 다른 scale을 가진 feature를 비교할 수 있음
- Outlier의 영향을 줄일 수 있다.(조건부)
1, 2번의 장점은 적절한 예를 찾지 못하거나 Batch normalization도 글을 한번 정리할거라 예를 딱히 안가져왔다.
하지만 3번의 장점인 서로 다른 scale을 가진 feature를 비교하는 예는 아래의 예가 좋아서 가져왔다.
X축은 집의 연식 Y축은 방의 갯수이다. 출처에서는 값을 그대로 대입하는 경우 연식(years old)가 방의 개수에 비해서 훨씬 큰 scale을 지니므로 방의 개수의 특징을 지배하게 된다고 표현하고 있다.

하지만 이걸 normalization을 통해 변환하면 어느 한 feature에 지배되지 않고 동등한 스케일을 지니는 것을 알 수 있다.

4번의 장점인 outlier를 줄일 수 있다는 점에서 outlier는 이상점으로 통계에서 이상값은 다른 관측값과 크게 다른 데이터 포인트이다.
공부하다 아래의 글을 봤는데 outlier을 줄이기 위해서 normalization/standardization이 좋은 방법인가? 라는 질문을 봤다.
Is standardization/normalization a good way of reducing the impact of outliers when I'm training a machine learning model?
Recently, I have read some papers in which the authors state that they have performed standardization/normalization of the variables for reducing the impact of outliers in the machine learning models
datascience.stackexchange.com
글에 의하면 고전적인 normalization 방법인 min-max와 z-score는 값의 범위만 바꾸므로 이상값이 발생하기 쉽고 문제를 해결하지 못한다고 말한다. 하지만 몇가지 조건이 충족한다면 이런 정규화가 의미 있다고 한다.
1. 데이터가 power law distribution을 따른다면 log scaling을 통해서 데이터가 "더 좁은" scale로 변경되어 이상값의 영향을 줄일 수 있다고 한다.

2. Feature clippling: 데이터 집합에 극단적인 outlier가 있는 경우에는 feature를 고정된 숫자 값(또는 fixed value +-3 std(표준편차)) 로 클리핑하면 정보의 손실이 발생하지만 분석에서 이상값의 영향을 방지할 수 있다고 한다.
3. Robust Scaler: 데이터 집합에 outlier이 많은 경우 중앙값을 IQR(데이터의 75 분위와 25분위 사이)로 나눈 값으로 데이터를 정규화 할 수 있다고 한다. 이렇게하면 outlier의 효과를 무효화하지는 않지만 이런 값이 있더라도 올바르게 정규화 할 수 있다고 한다.
$$X_{new} = \frac{X-X_{median}}{IQR}$$
정규화의 단점은 실제 값이 아니라 특정 범위 내로 값을 변형한 것이기 대문에 판단과 해석에 어려움을 지닌다. 또한 고전적인 normalization 방법(min-max normalization)의 경우 이상치 처리의 scale의 왜곡이 있을 수 있다.
Normalization 종류
- Min-Max Normalization
- $X_{new} =\frac{X-X_{min}}{X_{max}-X_{min}}$
- 최대 최소 값으로 정규화하는 방식이다.
- Max Absolute Normalization
- $X_{new} = \frac{X}{|X_{max}|}$
- 가장 큰 값을 이용하여 정규화한다.
- Mean Normalization
- $X_{new}=\frac{X-\mu}{X_{max} - X_{min}}$
- $\mu$ 는 sample mean
- Z-Score Normalization
- $X_{new}=\frac{X-\mu}{\sigma}$
- $\mu$ sample mean
- $\sigma$ standard deviation
'나만 모르는건가 싶은거' 카테고리의 다른 글
| 두번째 취준을 하며 느낀점 (0) | 2025.10.21 |
|---|---|
| Distributed Coordination Function(DCF) (0) | 2024.06.21 |
| 카테고리 개요 (1) | 2024.04.03 |