¿Por qué normalizamos los datos?

Esta respuesta es con respecto a la normalización más utilizada: hacer que los datos sean cero y varianza unitaria a lo largo de cada característica. Es decir, dada la matriz de datos [matemática] X [/ matemática], donde las filas representan instancias de entrenamiento y las columnas representan características, calcula la matriz normalizada [matemática] X_ {norma} [/ matemática] con el elemento [matemática] (i, j) [/ math] dado por

[matemáticas] X_ {norma, (i, j)} = \ dfrac {X _ {(i, j)} – \ mbox {mean} (X_ {j})} {\ mbox {std} (X_j)} [/ matemáticas]

donde [math] X_j [/ math] es la columna [math] j ^ {th} [/ math] de la matriz [math] X [/ math].

Hay varias ventajas de hacerlo, muchas de las cuales están relacionadas entre sí:

  1. Hace que la capacitación sea menos sensible a la escala de características: considere un problema de regresión en el que se le dan características de un apartamento y se le requiere que prediga el precio del apartamento. Digamos que hay 2 características: no. de dormitorios y la zona del apartamento. Ahora, el no. de las habitaciones estarán típicamente en el rango 1–4, mientras que el área estará en el rango [matemática] 100–200 m ^ 2 [/ matemática]. Si está modelando la tarea como regresión lineal, desea resolver los coeficientes [math] w_1 [/ math] y [math] w_2 [/ math] correspondientes a no. de dormitorios y zona. Ahora, debido a la escala de las características, un pequeño cambio en [math] w_2 [/ math] cambiará mucho la predicción en comparación con el mismo cambio en [math] w_1 [/ math], hasta el punto que el ajuste [ math] w_2 [/ math] correctamente podría dominar el proceso de optimización.
  2. La regularización se comporta de manera diferente para diferentes escalas: supongamos que tiene una regularización [math] \ ell_2 [/ math] en el problema anterior. Es fácil ver que la regularización [math] \ ell_2 [/ math] empuja los pesos más grandes hacia cero con más fuerza que los pesos más pequeños. Por lo tanto, considere que obtiene algunos valores óptimos de [matemática] w_1 [/ matemática] y [matemática] w_2 [/ matemática] utilizando su matriz de datos no normalizada dada [matemática] X [/ matemática]. Ahora, en lugar de usar [matemáticas] m ^ 2 [/ matemáticas] como la unidad de área, si cambio los datos para representar el área en [matemáticas] pies ^ 2 [/ matemáticas], la columna correspondiente de X se multiplicará por un factor de ~ 10. Por lo tanto, esperaría que el coeficiente óptimo correspondiente [matemática] w_2 [/ matemática] baje en un factor de 10 para mantener el valor de y. Pero, como se indicó anteriormente, la regularización [math] \ ell_2 [/ math] ahora tiene un efecto menor debido al menor valor del coeficiente. Por lo tanto, obtendrá un valor mayor de [math] w_2 [/ math] de lo que esperaba. Esto no tiene sentido: no cambió el contenido de la información de los datos y, por lo tanto, sus coeficientes óptimos no deberían haber cambiado.
  3. Consistencia para comparar resultados entre modelos: como se cubre en el punto 2, el escalado de características afecta el rendimiento. Por lo tanto, si hay científicos que desarrollan nuevos métodos y comparan métodos de vanguardia anteriores con sus nuevos métodos, que utilizan una escala elegida con más cuidado, los resultados no serán confiables.
  4. Hace que la optimización esté bien condicionada: la mayoría de las optimizaciones de aprendizaje automático se resuelven mediante el descenso de gradiente o una variante del mismo. Y la velocidad de convergencia depende de la escala de las características (o más precisamente, los valores propios de [matemáticas] X ^ TX [/ matemáticas]). La normalización hace que el problema esté mejor condicionado, mejorando la tasa de convergencia del descenso del gradiente. Doy una intuición de esto usando un ejemplo simple a continuación.

Considere el caso más simple donde [math] A [/ math] es una matriz diagonal de 2 x 2, digamos [math] A = diag ([a_1, a_2]) [/ math]. Luego, los contornos de la función objetivo [matemáticas] \ | Ax – b \ | ^ 2 [/ math] serán elipses alineadas al eje como se muestra en la figura a continuación:

Suponga que comienza en el punto marcado en rojo. Observe que para alcanzar el punto óptimo, debe dar un paso muy grande en la dirección horizontal pero un pequeño paso en la dirección vertical. La dirección de descenso viene dada por la flecha verde. Si sigue esta dirección, se moverá una distancia mayor en la dirección vertical y una distancia menor en la dirección horizontal, que es lo opuesto a lo que desea hacer.

Si da un pequeño paso a lo largo del gradiente, cubrir la gran distancia horizontal hasta el óptimo requerirá una gran cantidad de pasos. Si das un gran paso a lo largo del gradiente, superarás el óptimo en la dirección vertical.

Este comportamiento se debe a la forma de los contornos. Cuanto más circulares sean los contornos, más rápido convergerá al óptimo. El alargamiento de las elipses viene dado por la relación de los valores propios más grandes y más pequeños de la matriz [matemática] A [/ matemática]. En general, la convergencia de un problema de optimización se mide por su número de condición, que en este caso es la relación de los dos valores propios extremos.

(La respuesta de Prasoon Goyal a Por qué es la velocidad de convergencia del descenso del gradiente depende de los valores propios máximos y mínimos de A para resolver AX = b a través de mínimos cuadrados).


Finalmente, debo mencionar que la normalización no siempre ayuda, en lo que respecta al rendimiento. Aquí hay un ejemplo simple: considere un problema con una sola característica con varianza 1. Ahora suponga que agrego una característica ficticia con varianza 0.01. Si regulariza su modelo correctamente, la solución no cambiará mucho debido a esta dimensión ficticia. Pero si ahora lo normaliza para que tenga una variación de unidad, podría dañar el rendimiento.

Para responder a esta pregunta correctamente, se deben aclarar los diferentes significados y objetivos de la “normalización”.


[1] Puntuaciones Z y puntuaciones t : comparabilidad y conveniencia

  • Objetivo: hacer puntajes en variables comparables; para facilitar la estimación.
  • Conserva la forma de la distribución original: sí.

Ejemplo: puntajes estandarizados para aumentar la comparabilidad

Supongamos que tenemos dos pruebas psicométricas (diferentes), la prueba A y la prueba B, que se sabe que miden un cierto rasgo, habilidad, actitud, etc. Sabemos por experiencia previa que los puntajes en la prueba A y la prueba B tienen una distribución de forma similar ; pero también sabemos que las medias y las desviaciones estándar difieren entre las pruebas.

Supongamos ahora que una persona [matemáticas] i [/ matemáticas] tomó la prueba A, y que [matemáticas] j [/ matemáticas] tomó la prueba B. Si queremos comparar sus puntajes, podríamos usar puntajes “estandarizados” (“z- puntajes “) o” puntajes estudiantiles “(puntajes t ). Suponiendo que se conocen los medios y los SD para ambas pruebas. Ahora podemos calcular:

[matemáticas] \ quad z_i ^ {a} = \ frac {x_i ^ {a} – {\ text {mean} ({x} ^ {a})}} {{\ text {sd} ({x} ^ { a})}} \ quad \ quad \ text {y:} \ quad \ quad z_i ^ {b} = \ frac {x_j ^ {b} – {\ text {mean} ({x} ^ {b})} } {{\ text {sd} ({x} ^ {b})}} [/ math]

Ahora, si encontramos que [math] z_i ^ {a}

Advertencia: es un error común pensar que los puntajes estandarizados como los puntajes z alteran la forma de una distribución; en particular, tenga en cuenta que las puntuaciones z no pueden hacer mágicamente normal una variable no normal.

Nota: además de hacer comparables los puntajes, la estandarización a veces puede facilitar la estimación de coeficientes en modelos complejos con variables de escala diferente.


[2] Tablas de normas: comparabilidad y una métrica común

  • Objetivo: hacer que los puntajes de las variables sean interpretables en una métrica significativa.
  • Conserva la forma de la distribución original: eso depende de la transformación.

Supongamos que seleccionamos a un individuo en un determinado rasgo y adquirimos un puntaje de prueba. Si queremos saber si el individuo obtuvo un puntaje “bajo” o “alto”, necesitamos datos externos, como tablas de normas.

Para las pruebas psicométricas ( p. Ej., Pruebas de aptitud o personalidad), estas tablas a menudo se crean mediante procedimientos de validación extensivos en muestras (representativas) de la población que se va a analizar.

Ejemplo: Interpretación de puntajes de depresión HAM-D.

Suponga que un paciente tiene un puntaje de depresión HAM-D de 23. Queremos saber la gravedad de su depresión, pero no podemos saberlo de inmediato a partir de este puntaje. Para esto, tendríamos que comparar su puntaje con los puntajes conocidos de otros. En este caso, los resultados de la validación mostraron que un puntaje entre 19–27 es una indicación de una depresión severa.

Advertencia: las tablas de normas deben calcularse realmente en el grupo para el que se utilizará la prueba.


[3] Hacer datos (más) “normalmente distribuidos”.

  • Objetivo: llegar a datos (transformados) que siguen una distribución normal; normalmente se usa para cumplir con los supuestos paramétricos comunes a muchas pruebas estadísticas.
  • Conserva la forma de la distribución original: no, normalmente no.

Ejemplo: “normalizar” una distribución sesgada a la derecha

Sea x una variable que está “deliberadamente” sesgada a la derecha. Queremos usar x en un análisis posterior, pero se sabe que este análisis requiere una distribución normal. Una (posible) solución sería utilizar una transformación logarítmica para inducir la normalidad.

Antes de:

Después de la transformación logarítmica:

Advertencia 1. Puede que no funcione. No hay garantía de que una transformación dada produzca automáticamente la distribución requerida (normal). Que una transformación logarítmica a menudo funcione razonablemente bien para inducir la normalidad en variables sesgadas a la derecha no significará que esto siempre sucederá.

Advertencia 2. Las interpretaciones se aplican a la variable transformada . Por lo general, log-transform para usar la (s) variable (s) en análisis posteriores. Tenga en cuenta que todos los resultados se aplican a la variable transformada , y no necesariamente a la variable original. Por lo tanto, tenga mucho cuidado con la interpretación de sus resultados.

Código R para las parcelas anteriores:

# Podemos hacer una variable “sesgada a la derecha” de la siguiente manera:
# [a] dibujando a partir de una distribución normal (estándar), y luego:
# [b] exponiendo los resultados

x <- exp (rnorm (100,0,1)) # Combinado [a] y [b]

hist (x) # Grafica la variable original sesgada a la derecha;
hist (log (x)) # traza la versión registrada de la variable.

La normalización a menudo se realiza en los datos para eliminar la variación de amplitud y solo se enfoca en la distribución subyacente [1].

Por lo tanto, es útil al comparar dos conjuntos de datos (comparación estadística).

También es necesario cuando se trabaja con algunos algoritmos de aprendizaje automático (por ejemplo, PCA [2]).

Por supuesto, algunos algoritmos funcionan muy bien sin normalización, como los árboles de decisión [3].

En estos casos, sigue siendo valioso realizar la normalización para acelerar la convergencia.

Para obtener más detalles sobre cuándo usar la normalización para algoritmos de ML, sugiero leer la siguiente respuesta: Aprendizaje automático: ¿Cuándo debo aplicar la normalización / estandarización de datos?

¡Espero que esto ayude!

Notas al pie

[1] Distribución de probabilidad – Wikipedia

[2] Análisis de componentes principales – Wikipedia

[3] Árbol de decisión – Wikipedia

Amigos

El siguiente artículo habla sobre por qué deberíamos normalizar o estandarizar los datos antes del modelado estadístico. También tiene código Python sobre cómo hacerlo fácilmente en pocos pasos.

Estandarización o Normalización de Datos

Espero que esto ayude.

¡Salud!

Gracias por sus votos a favor de antemano. Me mantienen en marcha! ¡Gracias!

Descargo de responsabilidad: Las opiniones expresadas aquí son únicamente las del escritor en su capacidad privada.

Simplemente, es un preprocesamiento. El objetivo es hacer que el análisis sea más comprensible. Además, el enfoque de normalización difiere y depende del principal problema de investigación que intentamos resolver. También hay muchos enfoques para diferentes problemas que no necesitan normalización. Algunos otros enfoques pueden normalizarse …

La respuesta no técnica simple es que le permite comparar los resultados con otros conjuntos de datos al enfocarse en la forma del análisis sin quedar atrapado en el lugar donde caen los datos de resumen (medias y DE) de cada uno. Por lo tanto, dos conjuntos de datos con distribuciones no normalizadas muy diferentes se pueden ‘superponer’ y comparar.

Normalizamos los datos para eliminar los efectos no deseados en la trama y para producir un patrón uniforme donde podamos ver el cambio adecuado.

En el elemento de tierras raras o en el diagrama de Masuda-coryell (como soy del fondo de geología), la normalización del REE a los de meteoritos condríticos elimina los efectos relacionados con la estabilidad nuclear y la nucleosíntesis y produce un patrón suave.

PD: mi respuesta es específicamente para la trama REE.