Una buona pratica comune in Machine Learning è quella di caratterizzare la normalizzazione o la standardizzazione dei dati delle variabili del predittore, tutto qui, centrare i dati sottraendo la media e normalizzarli dividendoli per la varianza (o anche la deviazione standard). Per l'autocontenimento e per la mia comprensione facciamo questo per raggiungere due cose principali:
- Evitare pesi di modello extra piccoli ai fini della stabilità numerica.
- Garantire una rapida convergenza di algoritmi di ottimizzazione come, ad esempio, il gradiente coniugato in modo che la grande ampiezza di una dimensione predittore rispetto alle altre non porti a una convergenza lenta.
Di solito suddividiamo i dati in set di addestramento, validazione e test. In letteratura di solito vediamo che per eseguire la normalizzazione delle caratteristiche prendono la media e la varianza (o deviazione standard) sull'intero insieme di variabili predittive. Il grande difetto che vedo qui è che se lo fai, stai di fatto introducendo informazioni future nelle variabili predittive dell'allenamento, ovvero le informazioni future contenute nella media e nella varianza.
Pertanto, caratterizzo la normalizzazione sui dati di allenamento e salvo la media e la varianza. Quindi applico la normalizzazione delle funzioni alle variabili predittive dei set di dati di validazione e test usando la media e le varianze di addestramento. Ci sono dei difetti fondamentali in questo? qualcuno può consigliare un'alternativa migliore?