OpenBetaMatemática

← Temas

Autovalores, descomposición espectral, SVD y PCA

Acá se ensambla toda la parte: el cambio de base, la covarianza como producto interno y las matrices simétricas se unen en una sola idea —encontrar las direcciones propias de una matriz—. Elegir la base correcta vuelve trivial una matriz complicada, y de ahí cae PCA.

Autovalores y autovectores

Casi toda dirección, al multiplicarla por AA, sale girada y estirada. Pero hay direcciones especiales que AA solo estira, sin rotar:

Av=λv,v0.A\mathbf{v} = \lambda\,\mathbf{v}, \qquad \mathbf{v} \neq \mathbf{0}.

v\mathbf{v} es un autovector y λ\lambda su autovalor (el factor de estiramiento). Movés v\mathbf{v} y, sobre las rectas propias, AvA\mathbf{v} vuelve a apuntar igual:

Autovectores: las direcciones que solo se estiran — interactivo
λ₁=2.15λ₂=0.45vMv
M = [ 1.6 0.8 ; 0.8 1 ]
autovalores λ₁ = 2.15, λ₂ = 0.45

girá v hasta una recta roja: ahí Mv apunta igual que v

Un autovector es una dirección que la matriz **solo estira**, sin girarla: Mv = λv. Para casi todo v, el resultado Mv apunta distinto; pero sobre las rectas rojas coincide en dirección y solo cambia de largo por el factor λ (el autovalor). Como M es **simétrica**, sus dos autovectores son **perpendiculares** —el regalo del teorema espectral—.

Salen de la ecuación característica det(AλI)=0\det(A - \lambda I) = 0 (los λ\lambda que hacen singular a AλIA - \lambda I, para que (AλI)v=0(A - \lambda I)\mathbf{v} = \mathbf{0} tenga solución no nula). Dos invariantes útiles: la traza es la suma de los autovalores (trA=iλi\operatorname{tr} A = \sum_i \lambda_i) y el determinante su producto (detA=iλi\det A = \prod_i \lambda_i) —por eso detA=0    \det A = 0 \iff algún λ=0    A\lambda = 0 \iff A no es invertible.

Diagonalización y descomposición espectral

Si juntás los autovectores como columnas de PP y los autovalores en una diagonal Λ\Lambda, la matriz se diagonaliza:

A=PΛP1.A = P\,\Lambda\,P^{-1}.

Es un cambio de base: P1P^{-1} lleva a la base propia, Λ\Lambda solo escala cada eje, y PP vuelve. Lo que era una transformación enredada se vuelve "estirar cada eje por su λ\lambda". Y se vuelve trivial calcular potencias y funciones de matrices: Ak=PΛkP1A^k = P\Lambda^k P^{-1} (elevás los λ\lambda, nada más).

Para matrices simétricas —las covarianzas— pasa algo mejor, el teorema espectral:

A=QΛQ,QQ=I,A = Q\,\Lambda\,Q^\top, \qquad Q^\top Q = I,

los autovalores son reales y los autovectores ortonormales (QQ es una rotación, Q1=QQ^{-1} = Q^\top). Equivalente, AA es una suma de rango 1, A=iλiqiqiA = \sum_i \lambda_i\,\mathbf{q}_i \mathbf{q}_i^\top: la matriz se descompone en sus direcciones propias, cada una pesada por su autovalor. Esa ortogonalidad gratuita es la que hace funcionar a PCA.

La descomposición en valores singulares (SVD)

Los autovalores piden una matriz cuadrada (y "linda"). La SVD generaliza la idea a cualquier matriz AA de m×nm \times n:

A=UΣV,UU=I, VV=I, Σ diagonal0.A = U\,\Sigma\,V^\top, \qquad U^\top U = I,\ V^\top V = I,\ \Sigma \text{ diagonal} \ge 0.

Toda transformación lineal es, entonces, rotar → estirar → rotar: VV^\top rota la entrada, Σ\Sigma estira cada eje por un valor singular σi0\sigma_i \ge 0, y UU rota la salida. Los valores singulares son σi=λi(AA)\sigma_i = \sqrt{\lambda_i(A^\top A)}, y las columnas de VV y UU son los autovectores de AAA^\top A y AAA A^\top. La SVD da, gratis, el rango (número de σi>0\sigma_i > 0), la mejor aproximación de rango bajo (Eckart–Young: quedarse con los mayores σi\sigma_i es la compresión óptima) y la pseudoinversa para resolver mínimos cuadrados de forma estable.

Análisis de componentes principales (PCA)

El destino de toda la parte. Tenés datos correlacionados (muchas variables que se mueven juntas) y querés los ejes ortogonales de máxima varianza. Centrás los datos, formás la covarianza Σ\Sigma, y notás que la varianza a lo largo de una dirección unitaria w\mathbf{w} es una forma cuadrática:

Var(wX)=wΣw.\operatorname{Var}(\mathbf{w}^\top \mathbf{X}) = \mathbf{w}^\top \Sigma\,\mathbf{w}.

Entonces "dirección de máxima varianza" es maxw=1wΣw\max_{\lVert \mathbf{w}\rVert = 1} \mathbf{w}^\top \Sigma\,\mathbf{w}. Y acá está la sorpresa que conecta todo: diagonalizando Σ=QΛQ\Sigma = Q\Lambda Q^\top, el cociente wΣwww\frac{\mathbf{w}^\top \Sigma \mathbf{w}}{\mathbf{w}^\top \mathbf{w}} es un promedio ponderado de los autovalores —que se maximiza poniendo todo el peso en el mayor—. O sea:

La dirección de máxima varianza es el autovector dominante de Σ\Sigma, y la varianza que captura es su autovalor. Las componentes principales son los autovectores de Σ\Sigma ordenados por autovalor decreciente —ortogonales de regalo por el teorema espectral—.

PCA: los ejes naturales de la nube — interactivo
PC1PC2
varianzas (autovalores): λ₁ = 5.16, λ₂ = 0.36
PC1 explica 93% de la varianza

PC1 es la dirección de **máxima varianza** de la nube; PC2, la perpendicular. No hay que pedir que sean ortogonales: son los autovectores de la covarianza Σ, y el teorema espectral los entrega perpendiculares de regalo. Cada autovalor es la varianza capturada por su eje; subí la correlación y mirá cómo la nube se alarga y PC1 se lleva casi todo —la base de reducir dimensión.

Cambiar a esa base es la rotación QQ^\top que endereza la elipse y descorrelaciona las variables; quedarse con los primeros ejes (los de mayor λ\lambda) es reducir dimensión sin perder casi nada. Hay dos rutas para calcularlo: los autovectores de Σ\Sigma, o —numéricamente mejor— la SVD de los datos centrados (X=UΣVX = U\Sigma V^\top da las componentes en VV directamente, sin formar Σ\Sigma).

Cierre

Autovalores, espectro, SVD y PCA son la misma idea a profundidades crecientes: encontrar la base donde la matriz solo estira. Con esto, la parte de Álgebra lineal queda completa —de los espacios vectoriales a PCA—, y es la base sobre la que se paran la optimización (gradiente, Hessiano) y los modelos gaussianos multivariados.