¿Por qué los algoritmos de aprendizaje automático funcionan mejor con datos no correlacionados? ¿Qué sucede cuando normalizamos las funciones?

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.

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í:

  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 de que la configuración [ 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. 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.

En realidad, no es un gran problema si usa la regularización.

Esto es algo que la gente suele decir debido a los mínimos cuadrados ordinarios, que tendrán un problema con las funciones correlacionadas.

En OLS, la correlación de características aumenta el número de condición de la matriz de correlación, lo que hace que su inversión se vuelva inestable.

Esto se soluciona fácilmente usando L2, o básicamente cualquier forma común de regularización.

El caso es que las funciones redundantes pueden disminuir la precisión de su modelo. La razón de esto varía para cada tipo de modelo.

Por ejemplo: con Ridge Regression, es posible que no haya necesitado mucho L2 para empezar; agregue una función altamente correlacionada, y el L2 que necesita para estabilizarlo puede ser más alto que antes. Esto hará que las contribuciones del resto de las funciones también se regularicen más, lo que podría dar lugar a peores resultados.

En un bosque aleatorio, al realizar el embolsado de características, terminará con menos variedad en sus bolsos, menos oportunidades para dividirse en diversas características y menos variación en sus árboles.

Sin embargo, la mayoría de las veces estos efectos son bastante menores. Si tuviera 100 características, podría agregar una copia exacta de una de sus características, y un Bosque aleatorio solo sería un poco peor. Quizás incluso mejor, si es una característica importante y ha configurado la submuestreo de características con demasiada escasez.

Lo mismo ocurre con la regresión de Ridge. Si copia una característica aleatoria, probablemente será un poco peor, pero no mucho.

Entonces, todo lo relacionado con las características correlacionadas es básicamente una tontería. Es solo un problema en casos extremos, o si tiene la costumbre de no regularizar sus modelos.

Este es el resultado del álgebra lineal trabajando detrás de escena en el álgebra, ya que estas son matrices singulares. Normalizar no servirá de nada. Estos simplemente cambian la escala de los factores. Todavía estarán correlacionados. Algo como PCA es un buen paso de preprocesamiento, ya que cambia las bases lineales de los datos y combina factores correlacionados en una sola base; otros métodos de reducción de dimensionalidad también funcionan bien.

La normalización de los datos significa que estamos haciendo que signifique cero y varianza uno.

Para datos normalizados, la función de costo tiene una forma mucho más simétrica que la función de costo para datos no normalizados.

Entonces, cuando ejecutamos nuestro algoritmo de Gradiente de Descenso para encontrar el mínimo de la función de costo, es más fácil para el algoritmo alcanzar el mínimo si la función de costo es simétrica.

Es como andar en bicicleta por un camino suave frente a un camino en mal estado. La normalización hace que el camino sea más o menos suave.

Porque cuando los datos no están correlacionados significa que hay más información disponible.

Si tiene un montón de variables que están correlacionadas entre sí, entonces no hay información única que ninguna de ellas traiga a la mesa que las otras no tengan. Piénselo de esta manera: si A y B están correlacionados, entonces puedo predecir A a partir de B y viceversa. Si puedo predecir A a partir de B, entonces no hay nada sobre A que B ya no pueda decirme. Los algoritmos de aprendizaje automático no son mágicos, simplemente son buenos métodos para encontrar y utilizar toda la información disponible que tiene en sus conjuntos de datos de entrenamiento y prueba. Si todas las variables están correlacionadas, entonces solo tiene una información y un humano puede manejar una sola información tan bien como un algoritmo de aprendizaje automático.

More Interesting

¿Qué carreras significativas existen en la ciencia de datos (estadísticas / ML / optimización)?

¿Dónde puedo obtener un conjunto de datos de muestra de la competencia de Deloitte, Kaggle, para predecir la pérdida de clientes en los dominios de seguros de vida?

¿Cuál es la mejor opción de alojamiento para una empresa de big data?

¿Cómo es IIM Calcuta para el programa avanzado en ciencia de datos, curso de certificación de 1 año? ¿Es mejor que el curso ISB Hyderabad y IIITB PGD en análisis de datos?

¿Cómo es trabajar con DJ Patil?

¿Cuál es la forma más eficiente de dominar rápidamente la tecnología de Big Data?

Estoy analizando datos en la oficina y me siento determinado. ¿Qué canciones debo escuchar?

¿Cómo compararía las ofertas de especialización de "ciencia de datos" de Coursera y Udacity?

Quería obtener el certificado de ciencia de datos de Harvard. ¿Las materias enseñadas en este curso de certificación sientan una base sólida requerida para cambiar de carrera a la corriente de la ciencia de datos?

¿Cómo definimos objetivos y resultados clave (OKR) para el equipo de ciencia de datos?

¿Me importa la multicolinealidad o la interacción cuando mi objetivo es la predicción?

¿Estar basado en datos es un rasgo fundamental de la personalidad, o puede adquirirse como una habilidad?

¿Hay algún buen conjunto de datos para realizar análisis sentimentales? Necesito un conjunto de datos con etiquetas positivas, negativas y neutrales.

¿Cómo hace su empresa para que sus herramientas de 'big data' sean fáciles de usar?

Si necesito aprender ciencia de datos, ¿qué puedo aprender en el primer paso o de la A a la Z?