In ambito AI e Machine Learning, la normalizzazione è una tecnica di preprocessing dei dati che consiste nel modificare la scala dei valori numerici affinché rientrino in uno specifico intervallo, spesso tra 0 e 1 oppure tra -1 e 1. Lo scopo è ridurre le distorsioni causate da differenze di scala tra variabili e migliorare la performance e la stabilità degli algoritmi di apprendimento automatico.
Contesto e Scopo
Molti algoritmi di intelligenza artificiale, come le reti neurali, i modelli a distanza (es. k-NN), e gli algoritmi basati su gradienti (es. regressione logistica, SVM), sono sensibili all’ordine di grandezza dei dati in input. Variabili con valori molto alti possono dominare il comportamento del modello, compromettendo l’equilibrio e la capacità predittiva.
La normalizzazione risolve questo problema rendendo le feature numeriche confrontabili, aiutando:
- la convergenza più rapida degli algoritmi di ottimizzazione,
- la stabilità numerica del modello,
- la riduzione del rischio di overfitting in certi casi.
Tipi di normalizzazione
1. Min-Max Normalization
Scala i valori all’interno di un intervallo predefinito, solitamente [0, 1].
Formula:
x’ = \frac{x – \min(x)}{\max(x) – \min(x)}
Vantaggi: Mantiene la distribuzione originale dei dati.
Svantaggi: Sensibile agli outlier.
2. Z-Score Normalization
Trasforma i dati in modo che abbiano media 0 e deviazione standard 1.
Formula:
x’ = \frac{x – \mu}{\sigma}
Vantaggi: Utile se i dati seguono una distribuzione normale.
Svantaggi: Meno efficace con dati fortemente asimmetrici.
3. Unit Vector Normalization
Utilizzata spesso in elaborazione del linguaggio naturale (NLP) e vision, trasforma i vettori in vettori unitari.
Formula:
x’ = \frac{x}{\|x\|}
Vantaggi: Preserva la direzione del dato, utile nei modelli basati su similitudine.
Normalizzazione nei modelli di IA
- Nei modelli deep learning, è comune usare Batch Normalization (normalizzazione dei batch durante l’addestramento) per accelerare il training e migliorare la generalizzazione.
- In reti neurali convoluzionali (CNN), la normalizzazione aiuta a regolarizzare e mantenere stabile la propagazione del segnale.
- Nei modelli di embedding semantico (es. word2vec, BERT), la normalizzazione dei vettori garantisce confronti coerenti in termini di distanze coseno.
Differenza con la Standardizzazione
Sebbene a volte usati come sinonimi, normalizzazione e standardizzazione possono indicare tecniche diverse:
- Normalizzazione → rimappatura dei valori in un range specifico.
- Standardizzazione → centratura dei dati intorno alla media con deviazione standard unitaria.
Esempio Pratico
Immagina un dataset con due feature:
- Altezza in centimetri (es. 160–200)
- Peso in kg (es. 50–100)
Senza normalizzazione, la feature “altezza” potrebbe dominare il processo di addestramento. Applicando la normalizzazione (es. Min-Max), entrambe le feature rientreranno nello stesso range e il modello potrà trattarle equamente.
In sintesi
Obiettivo | Rendere confrontabili le feature numeriche |
Applicazioni | Preprocessing, deep learning, NLP, computer vision |
Vantaggi | Convergenza più veloce, stabilità numerica, training più efficace |
Tecniche principali | Min-Max, Z-Score, L2-Norm, Batch Normalization |