Primero, la correlación y la normalización son dos conceptos relativamente independientes. La normalización no trata con la correlación; se trata de mal condicionamiento.
Correlación:
Si sus características están correlacionadas, entonces aprender es más difícil. Aquí hay un ejemplo intuitivo simple: considere una tarea de regresión lineal, donde tiene puntos de datos [matemática] \ {(x_1, y_1), \ ldots, (x_m, y_m) \} [/ matemática], donde cada [matemática] x_i [ / math] es un vector [math] D [/ math] -dimensional. Desea encontrar un vector de peso dimensional [math] D [/ math] w tal que [math] y_i \ aprox w ^ Tx_i [/ math] para la mayoría de [math] i [/ math]. Suponga que todas las características [matemáticas] D [/ matemáticas] son independientes. Ahora, supongamos que agregamos una característica adicional que está completamente correlacionada con la característica 1, es decir, la fijación de la característica 1 corrige esta nueva característica. Ahora su problema se convierte en [matemática] D + 1 [/ matemática] -dimensional, y en consecuencia tiene un vector de peso [matemática] D + 1 [/ matemática] -dimensional [matemática] w ‘[/ matemática] para estimar. Debido a que tiene un parámetro adicional, su problema de optimización se ha vuelto más difícil.
- Tengo un doctorado en matemáticas y 18 años de experiencia en programación (Python, Perl, C ++). Ahora quiero entrar en la ciencia de datos. ¿Cuál es mi primer movimiento?
- ¿Cómo afecta la recolección de datos al análisis de datos?
- Cómo detectar generalmente un fraude usando análisis
- Cómo extraer grandes conjuntos de datos de registros médicos
- ¿Cuál es la diferencia entre la pista de ciencia de datos de Coursera (a través de Johns Hopkins) y el nano grado de analista de datos de Udacity?
Un ejemplo más práctico es el siguiente: suponga que se le da la siguiente imagen y desea saber si contiene un elefante:
Esa es una imagen de 1200 x 800, por lo que tiene valores de color de 1200 x 800 x 3 que puede usar como características. Sin embargo, sabemos que no todos los píxeles son igualmente importantes. En particular, las características cercanas capturan principalmente la misma información. Entonces, en cambio, convierto la imagen en una imagen de baja resolución:
Esta imagen es de 120 x 80 píxeles, pero tiene casi toda la información que necesita para clasificarla, como en la imagen original.
Para manejar la correlación, generalmente utiliza técnicas como la selección de características o la extracción de características.
Normalización:
La forma más común de normalización implica 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í:
- 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 de que la configuración [ math] w_2 [/ math] correctamente podría dominar el proceso de optimización.
- 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.
- 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.
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.