Skip to main content
All articles
Big DataDeep LearningMachine LearningStatistical Learning Theory7 min read

Tecniche di Normalizzazione: Dalla Teoria alla Pratica

Immagina di navigare in un mare di dati: cifre, informazioni, e statistiche che fluttuano senza un ordine apparente. È qui che entrano in gioco le tecniche di normalizzazione, le quali fungono da…

Written in Italian

On this page4
  1. Tecniche Normalizzazione
  2. Normalizzazione delle Feature
  3. 3. Normalizzazione delle Istanze
  4. Resta sempre aggiornato

Immagina di navigare in un mare di dati: cifre, informazioni, e statistiche che fluttuano senza un ordine apparente. È qui che entrano in gioco le tecniche di normalizzazione, le quali fungono da bussola digitale, guidandoci attraverso questa complessa rete di dati. In un mondo sempre più interconnesso e dipendente dall’analisi dei dati, comprendere e applicare correttamente queste tecniche diventa fondamentale. In questo articolo, esploreremo l’importanza delle tecniche di normalizzazione e come possono trasformare il caos dei dati in una chiara visione d’insieme.

Conoscenze preliminari

Tecniche Normalizzazione

La normalizzazione delle features è una tappa fondamentale nel percorso della data science poiché garantisce un terreno uniforme e comparabile per i dati all’interno dei modelli analitici e predittivi. Questa pratica è essenziale non solo per ridurre le distorsioni derivanti da scale eterogenee, ma anche per aumentare la precisione e l’efficacia degli algoritmi di machine learning. Senza una corretta normalizzazione, i modelli potrebbero essere influenzati in modo improprio dai diversi range di valori presenti nei dati, compromettendo così la validità delle analisi e delle previsioni.

Normalizzazione delle Feature

La normalizzazione delle feature è una pratica che mira a modificare le caratteristiche dei dati in modo che siano più adatte all’analisi da parte dei modelli di machine learning. In generale, le tecniche di normalizzazione possono includere il ridimensionamento delle features in un determinato intervallo o la standardizzazione in modo che abbiano una media zero e una deviazione standard unitaria. Questo processo è utile perché alcuni algoritmi di machine learning possono essere influenzati dalla scala delle features, e la normalizzazione aiuta a garantire che tutte le features abbiano un impatto equo sui risultati del modello.

Min-Max scaling

Il Min-Max Scaling è una tecnica di normalizzazione delle feature che trasforma i valori delle features in un intervallo specificato, di solito tra 0 e 1. Questo viene fatto sottraendo il valore minimo della feature e dividendolo per la differenza tra il valore massimo e il valore minimo della stessa feature. In pratica, questa tecnica comprime i valori delle features in un intervallo uniforme, rendendo più facile la comparazione tra le features e garantendo che abbiano un impatto equo sui risultati del modello. È particolarmente utile quando si desidera mantenere le relazioni di scala tra i dati, ma si vuole rimuovere la dipendenza dalla scala assoluta dei valori. Di seguito le formule di trasformazione della j-esima feature.

mj=mini∈(o,...,m−1)(xij)Mj=maxi∈(o,...,m−1)(xij)m_j=min_{i\in(o, ... , m-1 )} (x_{ij}) \\ M_j=max_{i\in(o, ... , m-1 )} (x_{ij}) \\ x~j=xj−mjMj−mj\tilde{x}_j= \frac{x_j-m_j}{M_j-m_j}

Come mostrato nel codice sopra riportato, il Min-Max Scaling trasforma i dati in un intervallo compreso tra 0 e 1, mantenendo la relativa posizione dei campioni all’interno della distribuzione originale. Tuttavia, questa trasformazione non preserva la sparsità dei dati, che si riferisce alla presenza di molte osservazioni con valori nulli o vicini a zero all’interno del dataset. Inoltre, il Min-Max Scaling è sensibile agli outliers, cioè ai valori estremamente alti o bassi rispetto alla maggior parte dei dati. Questi valori estremi possono distorcere la scala della trasformazione, comprimendo tutti gli altri valori nell’intervallo, rendendo così più difficile l’interpretazione e l’addestramento del modello.

Max Abs Scaling

Il Max Abs Scaling è una tecnica di normalizzazione delle feature che mira a ridimensionare i dati in modo che il valore assoluto massimo di tutte le features è pari a 1. In pratica, ogni valore della feature viene diviso per il valore assoluto massimo tra tutte le features. Di seguito le formule di trasformazione della j-esima feature.

Mj=maxi∈(o,...,m−1)∣xij∣M_j=max_{i\in(o, ... , m-1 )} |x_{ij}| \\ x~j=xjMj\tilde{x}_{j}= \frac{x_{j}}{M_j}

Dal codice è evidente che questo tipo di ridimensionamento conserva la direzione generale dei dati, limitandoli entro un intervallo specifico, mantenendo allo stesso tempo la loro distribuzione relativa invariata. Il Max Abs Scaling, a differenza del Min-Max Scaling, conserva anche la sparsità dei dati, poiché i valori nulli rimangono immutati secondo la formula di trasformazione. Tuttavia, come accade con il Min-Max Scaling, questo metodo è anch’esso sensibile agli outlier.

Mean Variance Scaling

Il Mean Variance Scaling, o Standardizzazione dei dati, è una tecnica di normalizzazione delle feature che consiste nel trasformare le feature in modo che abbiano una media zero e una deviazione standard unitaria. In pratica, per ogni feature, si sottrae la media dei suoi valori e poi si divide per la deviazione standard. Questo processo fa sì che le feature abbiano una distribuzione con media zero e varianza unitaria, rendendo più facile per i modelli di machine learning confrontare e interpretare i dati. Di seguito le formule di trasformazione della j-esima feature.

μj=1m∑i=om−1xij\mu_j=\frac{1}{m}\sum_{i=o}^{m-1}{x_{ij}} σj=1m∑i=om−1(xij−μj)2\sigma_j=\sqrt{\frac{1}{m}\sum_{i=o}^{m-1}{(x_{ij}-\mu_j)^2}} x~j=xj−μjσj\tilde{x}_j= \frac{x_j-\mu_j}{\sigma_j}

Come si può notare dalle formule di trasformazione e dai grafici, questa tipologia di trasformazione non conserva la sparsità dei dati: i valori che in precedenza erano nulli ora sono modificati. Inoltre, poiché sia la media che la varianza dipendono da tutti i campioni e non solo dal più grande o dal più piccolo, questo metodo, a differenza dei precedenti, non è influenzato dagli outlier.

Whitening

Il whitening è una tecnica avanzata di normalizzazione ampiamente utilizzata nel machine learning e nell’analisi dei dati. Il suo obiettivo principale è quello di rendere i dati “bianchi”, ovvero eliminare la correlazione tra le features e uniformare la loro distribuzione. Questo processo trasforma le features in uno spazio nuovo in cui le variabili sono incorrelate e hanno una deviazione standard pari a 1.
Ciò semplifica l’interpretazione dei dati e può migliorare le prestazioni dei modelli di machine learning, in quanto riduce la ridondanza nei dati e garantisce che le features contengano informazioni diverse tra loro. Tuttavia, il whitening presenta alcune limitazioni: richiede una matrice di covarianza diagonalizzabile ed è computazionalmente costoso. A causa di queste limitazioni si preferisce applicare altre tecniche.

La matrice di covarianza è uno strumento che permette di comprendere le relazioni tra le diverse variabili nei dati. Essenzialmente, misura come le variazioni di una variabile sono associate alle variazioni di altre variabili. Ad esempio, una covarianza positiva indica che le variabili tendono a variare nella stessa direzione, mentre una covarianza negativa indica che variano in direzioni opposte, ed una nulla indica che le variabili sono indipendenti.
per saperne di più leggi questo articolo

Il codice fornito qui sopra offre una possibile implementazione del whitening.
Attraverso i grafici presentati, è evidente l’effetto del whitening sui dati: la trasformazione ha portato a una distribuzione con media zero e varianza unitaria. È interessante notare che, prima della trasformazione, i dati mostravano una relazione lineare tra le due variabili, mentre dopo l’applicazione del whitening questa relazione è scomparsa.

3. Normalizzazione delle Istanze

La Normalizzazione delle Istanze è una pratica comune nel campo del machine learning che si concentra sulla standardizzazione delle singole istanze o campioni di dati all’interno di un dataset. A differenza della normalizzazione delle feature, che si concentra sulla standardizzazione delle colonne o delle variabili del dataset, la normalizzazione delle istanze lavora sulle righe, garantendo che ciascuna istanza abbia una scala uniforme. Questo processo è utile quando si desidera che ogni campione di dati contribuisca in modo equo all’analisi del modello, indipendentemente dalla scala dei suoi valori. È particolarmente utile in situazioni in cui le variabili hanno scale di misura diverse e si desidera evitare che una variabile con valori più grandi o più piccoli influenzi in modo sproporzionato il modello. È molto efficace per gli algoritmi di machine learning sensibili alla scala dei dati, come le reti neurali e i modelli basati su distanze, come il k-Nearest Neighbors (k-NN).

L1

La normalizzazione L1, anche conosciuta come “L1 normalization” o “L1 regularization”, è una tecnica di normalizzazione utilizzata nel machine learning per standardizzare le istanze di dati in modo che la somma assoluta dei valori di ogni istanza sia uguale a 1. Questo processo coinvolge la divisione di ciascuna istanza per la somma assoluta dei suoi valori, garantendo così che la somma degli stessi sia pari a 1.

∣∣x∣∣1=∑i=0m−1∣xi∣||x||_1= \sum_{i=0}^{m-1}{|x_i|} x~j=xj∣∣x∣∣1\tilde{x}_j=\frac{x_j}{||x||_1}

La normalizzazione L1 è particolarmente utile quando si desidera che la distribuzione dei dati sia sparsa e quando si vogliono ridurre al minimo l’effetto di valori anomali o outlier. Questa tecnica è spesso utilizzata in problemi di classificazione e regressione quando si desidera che ogni feature abbia un peso proporzionale alla sua importanza relativa nel modello, senza essere influenzata da valori estremi.

L2

La normalizzazione L2, anche chiamata “L2 normalization” o “L2 regularization”, è una tecnica di normalizzazione utilizzata nel machine learning per standardizzare le istanze di dati in modo che la norma L2 di ciascuna istanza sia uguale a 1. Questo processo coinvolge la divisione di ciascuna istanza per la norma L2 dei suoi valori, garantendo così che la somma dei quadrati dei valori sia pari a 1.

∣∣x∣∣1=∑i=0m−1∣xi∣2||x||_1= \sqrt{\sum_{i=0}^{m-1}{|x_i|^2} } x~j=xj∣∣x∣∣2\tilde{x}_j=\frac{x_j}{||x||_2}

La normalizzazione L2 è particolarmente utile per ridurre l’effetto di variazioni nella scala delle feature e per favorire una migliore generalizzazione dei modelli di machine learning. Questa tecnica è ampiamente utilizzata in problemi di classificazione e regressione per mantenere l’equilibrio tra le feature e per evitare problemi di overfitting.

Scarica il Notebook Completo

📎 tecniche di normalizzazione


Resta sempre aggiornato