67 votos

¿Realizar la normalización de las características antes o durante la validación del modelo?

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:

  1. Evite los pesos extra pequeños del modelo con el fin de lograr la estabilidad numérica.
  2. 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

58voto

Xenph Yan Puntos 20883

Su enfoque es totalmente correcto. Aunque las transformaciones de datos suelen infravalorarse como "preprocesamiento", nunca se insistirá lo suficiente en que las transformaciones para optimizar el rendimiento del modelo pueden y deben tratarse como parte del proceso de construcción del mismo.

Razonamiento: Un modelo se aplicará sobre datos no vistos que, en general, no están disponibles en el momento en que se construye el modelo. El proceso de validación (incluida la división de los datos) simula esto. Por lo tanto, para obtener una buena estimación de la calidad del modelo (y del poder de generalización) es necesario restringir el cálculo de los parámetros de normalización (media y varianza) al conjunto de entrenamiento.

Sólo puedo adivinar por qué esto no se hace siempre en la literatura. Un argumento podría ser que el cálculo de la media y la varianza no es tan sensible a las pequeñas variaciones de los datos (pero incluso esto sólo es cierto si el tamaño de la muestra básica es lo suficientemente grande y los datos se distribuyen aproximadamente de forma normal sin valores atípicos extremos).

0 votos

Esto me parece un poco confuso. El candidato dice que está haciendo la normalización de las características en los conjuntos de datos de validación y de prueba. Tu respuesta dice primero que su enfoque es correcto. Luego dices que "hay que restringir el cálculo de los parámetros de normalización al conjunto de entrenamiento", que no es lo que él está haciendo. Así que tu respuesta se contradice al decir que lo que está haciendo es correcto y luego sugerir lo contrario. ¿Qué es lo que me falta aquí?

7 votos

Lo que hace el OP está descrito en su último párrafo y es exactamente lo que he dicho. Por supuesto, la normalización se aplica al conjunto de prueba/validación si se ha aplicado al conjunto de entrenamiento. Lo importante es que los parámetros de esta normalización se han calculado sólo en los datos de entrenamiento y no en todo el conjunto. Espero que esto ayude.

1 votos

Ah, muchas gracias. Entendí mal tu respuesta. Creía que estabas sugiriendo la "aplicación" de la normalización sólo al conjunto de entrenamiento, que claramente no es lo que has sugerido.

2voto

lennon310 Puntos 1882

La normalización de las características consiste en hacer que las diferentes características estén en la misma escala. El escalado acelera el descenso del gradiente al evitar muchas iteraciones extra que se requieren cuando una o más características toman valores mucho más grandes que el resto(Sin el escalado, la función de coste que se visualiza mostrará una gran asimetría).

Creo que tiene sentido utilizar la media y la var del conjunto de entrenamiento cuando llegan los datos de prueba. Sin embargo, si el tamaño de los datos es enorme, tanto el conjunto de entrenamiento como el de validación pueden considerarse aproximadamente como una distribución normal, por lo que comparten aproximadamente la media y la var.

2 votos

La razón por la que la normalización de los datos puede acelerar el descenso de gradiente, supongo, es que sin la normalización el rss tiene contornos elípticos, por lo que dada la tasa de aprendizaje fija, podría necesitar más iteraciones para que el descenso de gradiente converja. Mientras que con la normalización, el rss tiene contornos circulares (simétricos), por lo que el descenso de gradiente converge rápidamente. ¿Estoy en lo cierto?

1voto

bibzzzz Puntos 1

La metodología que has descrito es sólida como han dicho otros. Debe realizar exactamente la misma transformación en las características del conjunto de prueba que en las características del conjunto de entrenamiento.

Creo que vale la pena añadir que otra razón para la normalización de características es mejorar el rendimiento de ciertos procesos que son sensibles a las diferencias de escala de ciertas variables. Por ejemplo, el análisis de componentes principales (PCA) tiene como objetivo capturar la mayor proporción de la varianza y, como resultado, dará más peso a las variables que presentan la mayor varianza si no se realiza inicialmente la normalización de características.

0 votos

Muy buen punto, gracias por traerlo. Recuerdo de mis estudios que siempre se normaliza la matriz de entrada antes de calcular el PCA.

1voto

alexZ Puntos 11

Digamos que extraemos las características de las manzanas, como la longitud, la respiración de la caja que rodea a las manzanas, el color, etc. Digamos que normalizamos la característica de la longitud en todos los datos y obtenemos una longitud media de 7 cm y una varianza de 1 cm, pero si sólo utilizamos los datos de entrenamiento podemos obtener una media de 6 cm y una varianza de 1 cm, lo que significa que hay manzanas grandes en el conjunto de datos de prueba que no se aprenden en el conjunto de datos de entrenamiento.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X