Planteamiento del problema
El problema geométrico que PCA está tratando de optimizar es claro para mí: PCA trata de encontrar el primer componente principal minimizando el error de reconstrucción (proyección), que maximiza simultáneamente la varianza de los datos proyectados.
Eso es correcto. Explico la conexión entre estas dos formulaciones en mi respuesta aquí (sin matemáticas) o aquí (con matemáticas).
Cw∥w∥=1w⊤Cw
(Por si esto no está claro: si es la matriz de datos centrada, entonces la proyección está dada por y su varianza es .)XX w1n - 1( X w )⊤⋅ X w = w⊤⋅ ( 1n - 1X⊤X )⋅ w = w⊤C w
Por otro lado, un vector propio de es, por definición, cualquier vector tal que .CvC v =λ v
Resulta que la primera dirección principal está dada por el vector propio con el valor propio más grande. Esta es una declaración no trivial y sorprendente.
Pruebas
Si uno abre algún libro o tutorial sobre PCA, puede encontrar allí la siguiente prueba de casi una línea de la declaración anterior. Queremos maximizar bajo la restricción de que ; esto se puede hacer introduciendo un multiplicador de Lagrange y maximizando ; diferenciando, obtenemos , que es la ecuación del vector propio. Vemos que tiene que ser el mayor valor propio al sustituir esta solución en la función objetivo, que daw⊤C w∥ w ∥ = w⊤w =1w⊤C w -λ( w⊤w -1)C w -λ w =0λw⊤C w -λ( w⊤w -1)= w⊤C w =λ w⊤w =λλ . En virtud del hecho de que esta función objetivo debe ser maximizada, debe ser el mayor valor propio, QED.λ
Esto tiende a ser poco intuitivo para la mayoría de las personas.
Una mejor prueba (ver, por ejemplo, esta clara respuesta de @cardinal ) dice que porque es una matriz simétrica, es diagonal en su base de vector propio. (Esto en realidad se llama teorema espectral ). Por lo tanto, podemos elegir una base ortogonal, a saber, la dada por los vectores propios, donde es diagonal y tiene valores propios en la diagonal. En esa base, simplifica a , o en otras palabras, la varianza está dada por la suma ponderada de los valores propios. Es casi inmediato que para maximizar esta expresión uno simplemente tomeCC λ i w ⊤ C w ∑ λ i w 2 i w = ( 1 , 0 , 0 , … , 0 ) λ 1 w ⊤ C wCλyow⊤C w∑ λyow2yow =(1,0,0,…,0), es decir, el primer vector propio, que produce la varianza (de hecho, desviarse de esta solución y "intercambiar" partes del valor propio más grande por las partes de las más pequeñas solo conducirá a una variación general más pequeña). Tenga en cuenta que el valor de no depende de la base. Cambiar a la base del vector propio equivale a una rotación, por lo que en 2D se puede imaginar simplemente girando un trozo de papel con el diagrama de dispersión; obviamente esto no puede cambiar ninguna variación.λ1w⊤C w
Creo que este es un argumento muy intuitivo y muy útil, pero se basa en el teorema espectral. Entonces, el verdadero problema aquí creo es: ¿cuál es la intuición detrás del teorema espectral?
Teorema espectral
Tome una matriz simétrica . Tome su vector propio con el mayor valor propio . Convierta este vector propio en el primer vector base y elija otros vectores base al azar (de modo que todos sean ortonormales). ¿Cómo se verá en esta base?Cw1λ1C
Tendrá en la esquina superior izquierda, porque en esta base y tiene que ser igual a .λ1w1= ( 1 , 0 , 0 ... 0 )C w1= ( C11, C21, ... Cp 1)λ1w1= ( λ1, 0 , 0 ... 0 )
Por el mismo argumento, tendrá ceros en la primera columna debajo de .λ1
Pero como es simétrico, también tendrá ceros en la primera fila después de . Entonces se verá así:λ1
C = ⎛⎝⎜⎜⎜⎜λ10 0⋮0 00 0...0 0⎞⎠⎟⎟⎟⎟,
donde espacio vacío significa que hay un bloque de algunos elementos allí. Como la matriz es simétrica, este bloque también será simétrico. Entonces podemos aplicarle exactamente el mismo argumento, usando efectivamente el segundo vector propio como el segundo vector base y obteniendo y en la diagonal. Esto puede continuar hasta que sea diagonal. Ese es esencialmente el teorema espectral. (Observe cómo funciona solo porque es simétrico).λ1λ2CC
Aquí hay una reformulación más abstracta de exactamente el mismo argumento.
Sabemos que , por lo que el primer vector propio define un subespacio unidimensional donde actúa como una multiplicación escalar. Tomemos ahora cualquier vector ortogonal a . Entonces es casi inmediato que también es ortogonal a . En efecto:C w1= λ1w1Cvw1C vw1
w⊤1C v =( w⊤1C v )⊤= v⊤C⊤w1= v⊤C w1= λ1v⊤w1= λ1⋅ 0 = 0.
Esto significa que actúa sobre todo el subespacio ortogonal restante a modo que se mantenga separado de . Esta es la propiedad crucial de las matrices simétricas. Entonces podemos encontrar el vector propio más grande allí, , y proceder de la misma manera, eventualmente construyendo una base ortonormal de vectores propios.Cw1w1w2