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?
Réponses:
Votre approche est tout à fait correcte. Bien que les transformations de données soient souvent sous-estimées en tant que "prétraitement", on ne saurait trop insister sur le fait que les transformations permettant d'optimiser les performances du modèle peuvent et doivent être traitées comme faisant partie du processus de construction du modèle.
Raisonnement: Un modèle doit être appliqué à des données invisibles qui ne sont généralement pas disponibles au moment de la construction du modèle. Le processus de validation (y compris le fractionnement des données) simule cela. Donc, pour obtenir une bonne estimation de la qualité du modèle (et de la puissance de généralisation), il faut limiter le calcul des paramètres de normalisation (moyenne et variance) à l'ensemble d'apprentissage.
Je ne peux que deviner pourquoi cela n’est pas toujours fait dans la littérature. L'un des arguments pourrait être que le calcul de la moyenne et de la variance n'est pas très sensible aux petites variations de données (même si cela n'est vrai que si la taille de l'échantillon est suffisamment grande et que les données sont approximativement normalement distribuées sans extrêmes extrêmes).
la source
La normalisation des fonctionnalités consiste à créer différentes fonctionnalités à la même échelle. La mise à l'échelle accélère la descente de gradient en évitant de nombreuses itérations supplémentaires nécessaires lorsqu'une ou plusieurs entités prennent des valeurs beaucoup plus grandes que les autres (sans mise à l'échelle, la fonction de coût visualisée affichera une grande asymétrie).
Je pense qu'il est logique d'utiliser la moyenne et la variété de l'ensemble d'apprentissage lorsque les données de test sont fournies. Cependant, si la taille des données est énorme, les ensembles de formation et de validation peuvent être approximativement considérés comme une distribution normale; ils partagent donc approximativement la moyenne et la variété.
la source
La méthodologie que vous avez décrite est valable, comme d'autres l'ont dit. Vous devez effectuer exactement la même transformation sur les fonctionnalités de votre ensemble de test que sur les fonctionnalités de votre ensemble de formation.
Je pense qu'il est intéressant d'ajouter qu'une autre raison de la normalisation des fonctionnalités est l'amélioration des performances de certains processus sensibles aux différences d'échelle de certaines variables. Par exemple, l'analyse en composantes principales (ACP) vise à capturer la plus grande proportion de variance et donne ainsi plus de poids aux variables présentant la variance la plus importante si la normalisation des caractéristiques n'est pas effectuée initialement.
la source