Same Goal, Different Vibes
You've got numbers. They live on wildly different scales — pixel values 0 to 255, ages 18 to 90, prices in dollars vs prices in won. Feeding them raw into a neural network is asking for trouble: the bigger features dominate gradients just because they're bigger. So we squash. There are two main flavors:
- Normalization (Min-Max) — squeeze the values into a fixed range, usually . Formula: . Pixel values divided by 255 is the canonical example.
- Standardization (Z-score) — shift and scale so the data has mean 0 and standard deviation 1. Formula: . This forces the data into the shape of a standard normal distribution.
When to Use Which
Normalization preserves shape. If your data was uniform-looking from 0 to 255, after dividing by 255 it's still uniform-looking from 0 to 1 — just smaller. Good for image pixels, where every pixel is structurally the same kind of thing.
Standardization changes shape too — it pulls outliers in but doesn't bound the result. Z-scores can be -3, +5, whatever. Good for tabular features that already kinda look normal-ish (ages, heights, salaries).
Why Your Network Cares
Neural networks update weights via gradients. If feature A ranges 0–1 and feature B ranges 0–1,000,000, the gradient w.r.t. B will dominate B's weight, making the network basically blind to A. Normalize, and they speak the same language. Skip the step, and you'll waste epochs (or the network just won't converge).
min-max 정규화 시, 보장된 범위 [0,1]를 얻음 - 압축 z-scoree 표준화 시, 보장된 평균(0)을 얻음 - 모양