Une bonne pratique courante en Machine Learning est de normaliser les caractéristiques ou de normaliser les données des variables prédites, centrer les données soustrayant la moyenne et les normaliser en les divisant par la variance (ou l’écart type). Pour nous maîtriser et pour autant que je sache, nous faisons cela dans le but de réaliser deux choses principales:
- Évitez les poids de modèle très petits pour la stabilité numérique.
- Assurer la convergence rapide des algorithmes d'optimisation tels que, par exemple, le gradient de conjugué, de sorte que la grande amplitude d'une dimension d'un prédicteur par rapport aux autres ne provoque pas une convergence lente.
Nous divisons généralement les données en ensembles de formation, de validation et de test. Dans la littérature, nous voyons généralement que pour normaliser les caractéristiques, elles prennent la moyenne et la variance (ou écart type) sur l’ensemble des variables prédictives. Le gros défaut que je vois ici est que si vous faites cela, vous introduisez en fait des informations futures dans les variables prédictives de formation, à savoir les informations futures contenues dans la moyenne et la variance.
Par conséquent, je présente la normalisation sur les données d'apprentissage et enregistre la moyenne et la variance. Ensuite, j'applique la normalisation des caractéristiques aux variables de prévision des ensembles de données de validation et de test à l'aide de la moyenne d'apprentissage et des variances. Y at-il des défauts fondamentaux avec cela? quelqu'un peut-il recommander une meilleure alternative?