Tantas respuestas y, sin embargo, ni una sola mención adecuada de la distribución normal. Déjame arreglar eso. Porque, como ve, cada vez que menciona la palabra “matriz de covarianza”, lo sepa o no, está ajustando implícitamente una distribución gaussiana multivariada a los datos . Por lo tanto, lo desee o no, la mayor parte de la intuición útil detrás de la matriz de covarianza debe conectarse a la distribución gaussiana. Déjame mostrarte por qué y cómo.
Transformando la distribución normal
Considere una muestra de puntos de una distribución gaussiana simétrica centrada en 0:
- ¿Cómo se compara XGBoost (aumento de gradiente) con Random Forest?
- ¿Se puede usar la detección de características / descripción de características para la clasificación de imágenes con redes neuronales artificiales?
- ¿Qué componentes de hardware (CPU, RAM, GC, etc.) se necesitan para que una PC / computadora doméstica de aprendizaje automático / aprendizaje profundo funcione rápidamente?
- ¿Por qué usamos k-means clustering? ¿Qué usos tiene en un escenario del mundo real?
- ¿Cómo se conecta la regresión lineal a los filtros de Kalman?
La probabilidad de cada punto en esta muestra se puede describir mediante la expresión familiar, que define la distribución gaussiana:
[matemáticas] P (x) \ propto \ exp (-0.5 x ^ T x) \ tag {1} [/ matemáticas]
(Ignoré la constante de normalización porque no importa aquí. También tenga en cuenta que asumir una distribución con media [matemática] 0 [/ matemática] no cambia nada en la lógica a continuación, simplemente simplifica un poco la matemática).
Ahora apliquemos una transformación lineal [matemática] A [/ matemática] a los puntos, es decir, [matemática] y = Ax [/ matemática]. Digamos, por el bien de este ejemplo, que [matemáticas] A [/ matemáticas] escala el eje vertical en 0.5 y luego gira todo en 30 grados. Obtendremos la nueva nube de puntos [math] y [/ math]:
¿Cuál es la distribución de [math] y [/ math]? Simplemente sustituya [matemáticas] x = A ^ {- 1} y [/ matemáticas] en (1), para obtener:
[matemáticas] P (y) \ propto \ exp (-0.5 (A ^ {- 1} y) ^ T (A ^ {- 1} y)) = \ exp (-0.5y ^ T (AA ^ T) ^ {-1} y) \ tag {2} [/ math]
Esta es exactamente la distribución gaussiana con covarianza [matemática] AA ^ T [/ matemática]. La lógica funciona en ambos sentidos, por lo que si tenemos una distribución gaussiana con covarianza [matemática] \ Sigma [/ matemática], podemos considerarla como una distribución que se obtuvo transformando el gaussiano simétrico por alguna [matemática] A [/ matemática] , y se nos da [matemáticas] AA ^ T [/ matemáticas].
En términos más generales, si tenemos datos , entonces, cuando calculamos que su covarianza es [math] \ Sigma [/ math], podemos decir que si nuestros datos fueran gaussianos, entonces podrían haberse obtenido de una nube simétrica utilizando algunos transformación [matemática] A [/ matemática], y acabamos de estimar la matriz [matemática] AA ^ T [/ matemática], correspondiente a esta transformación.
Tenga en cuenta que no conocemos las [matemáticas] A [/ matemáticas] reales, y es matemáticamente totalmente justo. Puede haber muchas transformaciones diferentes del Gaussiano simétrico que resultan en la misma forma de distribución. Por ejemplo, si [math] A [/ math] es solo una rotación de algún ángulo, la transformación no afecta en absoluto la forma de la distribución. De manera correspondiente, [matemáticas] AA ^ T = I [/ matemáticas] (la matriz de identidad) para todas las matrices de rotación. Es decir, cuando vemos una matriz de covarianza unitaria que realmente no conocemos, es la distribución “originalmente simétrica” o una “distribución simétrica rotada”. Y realmente no debería importarnos, esos dos son idénticos.
Hay un teorema en álgebra lineal, que dice que cualquier matriz simétrica [matemática] \ Sigma [/ matemática] puede representarse como:
[matemáticas] \ Sigma = VDV ^ T, \ etiqueta {3} [/ matemáticas]
donde [math] V [/ math] es ortogonal (es decir, una rotación) y [math] D [/ math] es diagonal (es decir, una escala coordinada). Si lo reescribimos ligeramente, podemos obtener:
[matemáticas] \ Sigma = (VD ^ {1/2}) (VD ^ {1/2}) ^ T = AA ^ T. \ tag {4} [/ matemáticas]
Esto, en palabras simples, significa que cualquier matriz de covarianza [matemática] \ Sigma [/ matemática] podría haber sido el resultado de transformar los datos utilizando una escala coordinada sabia [matemática] D ^ {1/2} [/ matemática] seguida por una rotación [matemática] V [/ matemática]. Al igual que en nuestro ejemplo con [math] x [/ math] y [math] y [/ math] anteriores.
Análisis de componentes principales
Dada la intuición anterior, PCA se convierte en una técnica muy obvia. Supongamos que se nos dan algunos datos. Supongamos (o “pretendamos”) que proviene de una distribución normal, y hagamos las siguientes preguntas:
- ¿Cuál podría haber sido la rotación [matemática] V [/ matemática] y la escala [matemática] D ^ {1/2} [/ matemática], que produjo nuestros datos desde una nube simétrica?
- ¿Cuáles eran las coordenadas originales de “nube simétrica” [matemáticas] x [/ matemáticas] antes de aplicar esta transformación.
- Qué coordenadas originales se escalaron más por [math] D [/ math] y, por lo tanto, ahora contribuyen más a la difusión de los datos. ¿Podemos dejar eso y tirar el resto?
Todas esas preguntas pueden responderse de manera directa si simplemente descomponemos [matemáticas] \ Sigma [/ matemáticas] en [matemáticas] V [/ matemáticas] y [matemáticas] D [/ matemáticas] de acuerdo con (3). Pero (3) es exactamente la descomposición del valor propio de [math] \ Sigma [/ math]. Te dejaré que pienses un poco y verás cómo esta observación te permite deducir todo lo que hay sobre PCA y más.
El tensor métrico.
Abrázame por un poco más. Una forma de resumir las observaciones anteriores es decir que podemos (y debemos) considerar [math] \ Sigma ^ {- 1} [/ math] como un tensor métrico. Un tensor métrico no es más que un nombre formal para una matriz, que resume la deformación del espacio . Sin embargo, en lugar de afirmar que en cierto sentido determina una transformación particular [matemática] A [/ matemática] (que no lo hace), diremos que afecta la forma en que calculamos ángulos y distancias en nuestro espacio transformado.
A saber, redefinimos, para dos vectores cualquiera [math] v [/ math] y [math] w [/ math], su producto interno como:
[matemáticas] \ langle v, w \ rangle _ {\ Sigma ^ {- 1}} = v ^ T \ Sigma ^ {- 1} w. \ tag {5} [/ matemáticas]
Para mantener la coherencia, también tendremos que redefinir la norma de cualquier vector como
[matemáticas] | v | _ {\ Sigma ^ {- 1}} = \ sqrt {v ^ T \ Sigma ^ {- 1} v}, \ tag {6} [/ matemáticas]
y la distancia entre dos vectores como
[matemáticas] | vw | _ {\ Sigma ^ {- 1}} = \ sqrt {(vw) ^ T \ Sigma ^ {- 1} (vw)}. \ tag {7} [/ matemáticas]
Esas definiciones ahora describen una especie de “mundo sesgado” de puntos. Por ejemplo, un círculo unitario (un conjunto de puntos con “distancia sesgada” 1 al centro) en este mundo podría tener el siguiente aspecto:
Y aquí hay un ejemplo de dos vectores, que se consideran “ortogonales”, también conocidos como “perpendiculares” en este mundo extraño:
Aunque puede parecer extraño al principio, tenga en cuenta que el nuevo producto interno que definimos es en realidad solo el producto de punto de los originales “no transformados” de los vectores:
[matemáticas] v ^ T \ Sigma ^ {- 1} w = v ^ T (AA ^ T) ^ {- 1} w = (A ^ {- 1} v) ^ T (A ^ {- 1} w) , \ tag {8} [/ math]
En consecuencia, la siguiente ilustración arroja luz sobre lo que realmente está sucediendo en este [matemático] \ Sigma [/ matemático] – mundo “sesgado”. De alguna manera “en el fondo”, la elipse se considera a sí misma como un círculo y los dos vectores se comportan como si fueran (2,2) y (-2,2).
Volviendo a nuestro ejemplo con los puntos transformados, ahora podríamos decir que la nube de puntos [matemática] y [/ matemática] es en realidad una nube perfectamente redonda y simétrica “en el fondo”, es solo que vive en un espacio sesgado . La deformación de este espacio es descrita por el tensor [matemática] \ Sigma ^ {- 1} [/ matemática] (que, como sabemos, es igual a [matemática] (AA ^ T) ^ {- 1} [/ matemática ]). El PCA ahora se convierte en un método para analizar la deformación del espacio , qué bueno es eso.
El espacio dual
Aún no hemos terminado. Hay una propiedad interesante de espacios “sesgados” que vale la pena conocer. A saber, los elementos de su espacio dual tienen una forma particular. No se preocupe, lo explicaré en un segundo.
Olvidemos toda la historia espacial sesgada por un momento, y regresemos al producto interno habitual [matemáticas] w ^ Tv [/ matemáticas]. Piense en este producto interno como una función [math] f_w (v) [/ math], que toma un vector [math] v [/ math] y lo asigna a un número real, el producto interno de [math] v [/ matemáticas] y [matemáticas] w [/ matemáticas]. Considere el [math] w [/ math] aquí como el parámetro (“vector de peso”) de la función. Si ha hecho algún aprendizaje automático, ciertamente se ha encontrado con tales funciones lineales una y otra vez, a veces disfrazado. Ahora, el conjunto de todos los posibles funcionales lineales [math] f_w [/ math] se conoce como el espacio dual para su “espacio de datos” .
Tenga en cuenta que cada función lineal se determina únicamente por el vector de parámetros [math] w [/ math], que tiene la misma dimensionalidad que [math] v [/ math], por lo que aparentemente el espacio dual es en cierto sentido equivalente a su espacio de datos – Solo la interpretación es diferente. Un elemento [math] v [/ math] de su “espacio de datos” denota, bueno, un punto de datos. Un elemento [math] w [/ math] del espacio dual denota una función [math] f_w [/ math], que proyecta sus puntos de datos en la dirección [math] w [/ math] (if [math] w [/ matemática] es la unidad de longitud, [matemática] w ^ Tv [/ matemática] es exactamente la longitud de la proyección perpendicular de [matemática] v [/ matemática] en la dirección [matemática] w [/ matemática]). Entonces, en cierto sentido, si [math] v [/ math] -s son “vectores”, [math] w [/ math] -s son “direcciones, perpendiculares a estos vectores”. Otra forma de ver la diferencia es notar que si, por ejemplo, los elementos de sus puntos de datos corresponden cantidades numéricamente en kilogramos, los elementos de [math] w [/ math] tendrían que corresponder a “unidades por kilogramo”. ¿Aún conmigo?
Ahora volvamos al espacio sesgado. Si [math] v [/ math] son elementos de un espacio euclidiano sesgado con el tensor métrico [math] \ Sigma ^ {- 1} [/ math], es una función [math] f_w (v) = w ^ Tv [ / matemáticas] un elemento de un espacio dual? Sí, lo es, porque, después de todo, es un lineal funcional. Sin embargo, la parametrización de esta función es inconveniente, porque, debido al tensor sesgado, no podemos interpretarlo como mapas de vectores a proyecciones ni podemos decir que [math] w [/ math] es una “dirección ortogonal” en un sentido significativo . Porque, recuerde, en el espacio sesgado no es cierto que los vectores ortogonales satisfagan [math] w ^ Tv = 0 [/ math]. En cambio, satisfacen [matemáticas] w ^ T \ Sigma ^ {- 1} v = 0 [/ matemáticas]. Las cosas se verían mucho mejor si parametrizamos nuestro espacio dual de manera diferente. A saber, al considerar los funcionales lineales de la forma [matemática] f ^ {\ Sigma ^ {- 1}} _ z (v) = z ^ T \ Sigma ^ {- 1} v [/ matemática]. Los nuevos parámetros [math] z [/ math] aquí podrían de hecho interpretarse como una “dirección ortogonal” y las cosas en general tendrían más sentido.
Sin embargo, cuando trabajamos con modelos reales de aprendizaje automático, realmente nos gustaría tener nuestras funciones en la forma simple de un producto de puntos, es decir, [math] f_w [/ math], sin feo [math] \ Sigma [/ math] -s dentro. ¿Qué sucede si convertimos un funcional lineal de “espacio sesgado” de su representación natural en un producto interno simple?
[matemáticas] f ^ {\ Sigma ^ {- 1}} _ z (v) = z ^ T \ Sigma ^ {- 1} v = (\ Sigma ^ {- 1} z) ^ Tv = f_w (v), \ etiqueta {9} [/ math]
donde [matemáticas] w = \ Sigma ^ {- 1} z [/ matemáticas]. (Tenga en cuenta que podemos perder la transposición porque [math] \ Sigma [/ math] debe ser simétrica).
Lo que significa, en términos simples, es que cuando ajusta modelos lineales en un espacio sesgado, sus vectores de peso resultantes siempre tendrán la forma [math] \ Sigma ^ {- 1} z [/ math]. O, en otras palabras, [math] \ Sigma ^ {- 1} [/ math] es una transformación, que mapea las representaciones espaciales duales del “mundo sesgado” a nuestro “mundo recto” .
(Una versión ligeramente ampliada de esta explicación está disponible en esta publicación de blog).