¿Por qué PCA maximiza la varianza total de la proyección?

10

Christopher Bishop escribe en su libro Pattern Recognition and Machine Learning una prueba de que cada componente principal consecutivo maximiza la varianza de la proyección a una dimensión, después de que los datos se hayan proyectado en el espacio ortogonal a los componentes previamente seleccionados. Otros muestran pruebas similares.

Sin embargo, esto solo prueba que cada componente consecutivo es la mejor proyección para una dimensión, en términos de maximizar la varianza. ¿Por qué esto implica que la varianza de una proyección para decir 5 dimensiones se maximiza eligiendo primero tales componentes?

michal
fuente
¿Podría decirnos exactamente qué se entiende por la "varianza" del conjunto de datos de cinco dimensiones que resulta de una proyección de un conjunto de datos en cinco dimensiones? (Para que dicha cantidad esté sujeta a maximización, debería ser un número único .)
whuber
3
Muy buen punto. Chris Bishop en su libro se refiere a minimizar la varianza de una proyección y no está muy claro lo que eso significaría para más de 1 dimensión. Me gustaría saber en qué sentido se minimiza la varianza y por qué dicho procedimiento la minimiza conjuntamente.
michal
1
@ user123675: En su último comentario probablemente quiera decir "maximizar", no "minimizar".
ameba
Sí, tiene usted razón. ¡Lo siento!
michal

Respuestas:

10

Lo que se entiende por varianza en varias dimensiones ("varianza total") es simplemente una suma de varianzas en cada dimensión. Matemáticamente, es un rastro de la matriz de covarianza: el rastro es simplemente una suma de todos los elementos diagonales. Esta definición tiene varias propiedades agradables, por ejemplo, la traza es invariante bajo transformaciones lineales ortogonales, lo que significa que si gira sus ejes de coordenadas, la varianza total permanece igual.

Lo que se prueba en el libro de Bishop (sección 12.1.1), es que el vector propio líder de la matriz de covarianza da la dirección de la varianza máxima. El segundo vector propio proporciona la dirección de la varianza máxima bajo una restricción adicional de que debe ser ortogonal al primer vector propio, etc. (creo que esto constituye el ejercicio 12.1). Si el objetivo es maximizar la varianza total en el subespacio 2D, entonces este procedimiento es una maximización codiciosa: primero elija un eje que maximice la varianza, luego otro.

Su pregunta es: ¿por qué este codicioso procedimiento obtiene un máximo global?

Aquí hay un buen argumento que @whuber sugirió en los comentarios. Primero alineemos el sistema de coordenadas con los ejes PCA. La matriz de covarianza se convierte en diagonal: . Para simplificar, consideraremos el mismo caso 2D, es decir, ¿cuál es el plano con la varianza total máxima? Queremos demostrar que es el plano dado por los dos primeros vectores básicos (con varianza total ).Σ=diag(λi)λ1+λ2

Considere un plano atravesado por dos vectores ortogonales y . La varianza total en este plano esPor lo tanto, es una combinación lineal de valores propios con coeficientes que son todos positivos, no exceden (ver más abajo) y suman . Si es así, es casi obvio que el máximo se alcanza en .uv

uΣu+vΣv=λiui2+λivi2=λi(ui2+vi2).
λi12λ1+λ2

Solo queda mostrar que los coeficientes no pueden exceder . Observe que , donde es el -ésimo vector base. Esta cantidad es una longitud al cuadrado de una proyección de en el plano atravesado por y . Por lo tanto, debe ser menor que la longitud al cuadrado de que es igual a , QED.1uk2+vk2=(uk)2+(vk)2kkkuvk|k|2=1

Ver también la respuesta de @ cardinal a ¿Cuál es la función objetivo de PCA? (Sigue la misma lógica).

ameba
fuente
1
(+1) Pero, ¿no es intuitivamente obvio que dada una colección de billeteras de varias cantidades de efectivo (modelando los valores propios no negativos), y un número fijo que puede elegir, que seleccionar las billeteras más ricas maximizará su total ¿efectivo? La prueba de que esta intuición es correcta es casi trivial: si no has tomado la más grande, entonces puedes mejorar tu suma intercambiando la más pequeña que tomaste por una cantidad mayor. kkk
whuber
@amoeba: si el objetivo es maximizar la suma de las variaciones y no la variación de la suma, no hay razón para que la segunda proyección sea ortogonal a la primera.
Innuo
1
Pido disculpas, pensé que ya había desarrollado el análisis hasta el punto de reconocer que la varianza total en un subespacio dimensional es una combinación lineal no negativa de los valores propios, en la que ninguno de los coeficientes puede exceder y el el total de los coeficientes es igual a . (Se trata de una simple multiplicación matricial: no se necesitan multiplicadores de Lagrange). Eso nos lleva a la metáfora de las billeteras. Estoy de acuerdo en que se debe hacer un análisis de este tipo. k1k
whuber
1
@amoeba: Quiero decir que estamos considerando el problema en la base que consiste en vectores propios (esta es la base de u y v si calculamos su varianza multiplicando por la matriz de covarianza diagonal). u y v al final resultarán ser ellos, pero en la etapa de esta prueba no deberíamos asumir esto, creo. ¿No debería ser el argumento más bien, que si en algún momento la suma fuera mayor que 1, entonces los 2 vectores ya no serían ortogonales, ya que la base es ortogonal y cada uno de los vectores trae como máximo 1? Pero, de nuevo, ¿por qué nos restringimos a los vectores ortogonales u y v?
michal
1
@Heisenberg: ¡Ah, ya veo! ¡No, por supuesto que no quise decir eso! Pero ahora veo por qué era confuso. Reescribí esta última prueba para deshacerme de este paso de "elegir una base". Por favor vea mi edición. Gracias.
ameba
2

Si tiene variables aleatorias no correlacionadas ordenadas en orden descendente de su varianza y se le pidió que eligiera de ellas de manera tal que se maximizara la varianza de su suma, ¿estaría de acuerdo en que el enfoque codicioso de elegir la primera lograría eso?Nkk

Los datos proyectados en los vectores propios de su matriz de covarianza son esencialmente columnas de datos no correlacionadas y cuya varianza es igual a los valores propios respectivos.N

Para que la intuición sea más clara, necesitamos relacionar la maximización de la varianza con el cálculo del vector propio de la matriz de covarianza con el mayor valor propio, y relacionar la proyección ortogonal con la eliminación de correlaciones.

La segunda relación es clara para mí porque el coeficiente de correlación entre dos vectores (media cero) es proporcional a su producto interno.

La relación entre la varianza maximizadora y la descomposición propia de la matriz de covarianza es la siguiente.

Suponga que es la matriz de datos después de centrar las columnas. Necesitamos encontrar la dirección de la varianza máxima. Para cualquier vector unitario , la varianza después de proyectar a lo largo de esDvv

E[(Dv)tDv]=vtE[DtD]v=vtCov(D)v

que se maximiza si es el vector propio de correspondiente al mayor valor propio.vCov(D)

Innuo
fuente
La pregunta original es más bien: elija combinaciones lineales ortogonales de ellas (en oposición a de ellas) de modo que la suma de sus varianzas se maximice. ¿Sigue siendo obvio que el enfoque codicioso de elegir la primera logra eso? kkk
ameba
Encontrar combinaciones lineales ortogonales y luego elegir la primera variante más de ellas es lo que el proceso describe (libremente). Mi respuesta solo afirma que la ortogonalidad es suficiente para que el proceso codicioso logre el objetivo de maximizar la varianza total. Nk
Innuo
No estoy seguro de seguir el argumento. ¿Cómo importa la ortogonalidad? Si tiene variables y tiene que elegir con la varianza total más alta, debe elegir con la varianza más alta (independientemente de si están correlacionadas o no). Nkk
ameba
Ah, entiendo la confusión. Hubo un error tipográfico en mi respuesta. Corregido ahora.
Innuo
Creo que podrías estar haciendo algo aquí, pero la apariencia mágica de la suma necesita explicación. ¿Qué relevancia tiene eso para PCA o incluso para las descomposiciones espectrales?
whuber