Una buena práctica común en Machine Learning es hacer la normalización de características o estandarización de datos de las variables predictoras, eso es, centrar los datos restando la media y normalizarlos dividiendo por la varianza (o desviación estándar también). Para la autocontención y a mi entender hacemos esto para lograr dos cosas principales:
- Evite los pesos extra pequeños del modelo con el fin de lograr la estabilidad numérica.
- Garantizar la rápida convergencia de los algoritmos de optimización como, por ejemplo, el Gradiente Conjugado, de modo que la gran magnitud de una dimensión de predictor con respecto a las demás no provoque una convergencia lenta.
Solemos dividir los datos en conjuntos de entrenamiento, validación y prueba. En la literatura solemos ver que para hacer la normalización de las características se toma la media y la varianza (o desviación estándar) sobre todo el conjunto de variables predictoras. El gran fallo que veo aquí es que si se hace eso, se está 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, hago la normalización de características 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 de prueba utilizando la media y las varianzas de entrenamiento. ¿Hay algún fallo fundamental en este método? ¿Alguien puede recomendar una alternativa mejor?
0 votos
Relacionado con esto: stats.stackexchange.com/questions/2306/