Esistono 2 motivi per cui dobbiamo normalizzare le funzionalità di input prima di inviarle alla rete neurale:
Motivo 1 : se a Feature
in the Dataset
è di grandi dimensioni rispetto ad altri, questa funzionalità su larga scala diventa dominante e, di conseguenza, le previsioni della rete neurale non saranno accurate.
Esempio : nel caso dei dati dei dipendenti, se consideriamo l'età e lo stipendio, l'età sarà un numero di due cifre mentre lo stipendio può essere di 7 o 8 cifre (1 milione, ecc.). In quel caso, lo stipendio dominerà la previsione della rete neurale. Ma se normalizziamo tali funzionalità, i valori di entrambe le funzionalità si trovano nell'intervallo compreso tra (0 e 1).
Motivo 2 : la propagazione frontale delle reti neurali coinvolge il prodotto Dot di pesi con funzionalità di input. Quindi, se i valori sono molto alti (per i dati di immagine e non di immagine), il calcolo dell'output richiede molto tempo di calcolo e memoria. Lo stesso vale per Back Propagation. Di conseguenza, il modello converge lentamente, se gli ingressi non sono normalizzati.
Esempio : se eseguiamo la classificazione delle immagini, la dimensione dell'immagine sarà enorme, poiché il valore di ciascun pixel varia da 0 a 255. In questo caso la normalizzazione è molto importante.
Di seguito sono indicati i casi in cui la normalizzazione è molto importante:
- K-Means
- K-vicini-vicini di casa
- Analisi dei componenti principali (PCA)
- Discesa a gradiente