Una buena práctica común en Machine Learning es hacer la normalización de características o la estandarización de datos de las variables predictoras, eso es todo, centrar los datos restando la media y normalizarlos dividiendo por la varianza (o la desviación estándar también). Para la autocontención y, a mi entender, hacemos esto para lograr dos cosas principales:
- Evite pesos de modelos extra pequeños con el propósito de estabilidad numérica.
- Garantice la convergencia rápida de algoritmos de optimización como, por ejemplo, Gradiente conjugado, de modo que la gran magnitud de una dimensión predictiva con las otras no conduzca a una convergencia lenta.
Por lo general, dividimos los datos en conjuntos de capacitación, validación y prueba. En la literatura generalmente vemos que para hacer la normalización de características toman la media y la varianza (o desviación estándar) sobre todo el conjunto de variables predictoras. El gran defecto que veo aquí es que si haces eso, de hecho estás introduciendo información futura en las variables predictoras de entrenamiento, es decir, la información futura contenida en la media y la varianza.
Por lo tanto, sí presento la normalización sobre los datos de entrenamiento y guardo la media y la varianza. Luego aplico la normalización de características a las variables predictoras de los conjuntos de datos de validación y prueba usando la media de entrenamiento y las variaciones. ¿Hay alguna falla fundamental con esto? ¿Alguien puede recomendar una mejor alternativa?