6 votos

¿Por qué los vectores propios principales de$A$ maximizan$\text{Tr}(D^TAD)$?

Dada una matriz $X\in\mathbb{R}^{m\times n}$, estoy tratando de maximizar $\text{Tr}(D^TX^TXD)$ más de $D\in\mathbb{R}^{n\times l}$ ($n<l$) sujeto a $D^TD=I_l$ donde $\text{Tr}$ denota la traza, y $I_l$ denota la matriz identidad de tamaño $l$.

Más específicamente, estoy tratando de encontrar a $$D^{*}=\arg\limits_{D}\max\text{Tr}(D^TX^TXD)\text{ subject to } D^TD=I_l.$$

La solución es que la matriz de $D^*$ está dado por la $l$ vectores propios correspondientes a los mayores autovalores. Sin embargo, yo no puedo probar esto.

Me di cuenta de que $D^TX^TXD$ es un real simétrica la matriz, y por lo tanto se puede descomponer para obtener $D^TX^TXD=Q\Lambda Q^T$ donde $Q$ es ortogonal de la matriz compuesta de vectores propios de a $D^TX^TXD$. No podía continuar mucho de esto. Alguna sugerencia para este problema de optimización?

4voto

zowens Puntos 1417

Nos deja denotar $X^\top X$$A$. Por construcción, es una $n\times n$ cuadrada simétrica positiva semi-definida la matriz, es decir, tiene un autovalor de descomposición $A=V\Lambda V^\top$ donde $V$ es la matriz de vectores propios (cada columna es un vector propio) y $\Lambda$ es una matriz diagonal de no negativo autovalores $\lambda_i$ clasifican en orden descendente.

Quieres aprovechar al máximo $$\operatorname{Tr}(D^\top A D),$$ where $D$ has $l$ orthonormal columns. Let us write it as $$\operatorname{Tr}(D^\top V\Lambda V^\top D)=\operatorname{Tr}(\tilde D^\top\Lambda \tilde D)=\operatorname{Tr}\big(\tilde D^\top \operatorname{diag}\{\lambda_i\}\, \tilde D\big)=\sum_{i=1}^n\lambda_i\sum_{j=1}^l\tilde D_{ij}^2.$$ Esta manipulación algebraica corresponde a girar el cuadro de coordenadas tal que $A$ se convierte en diagonal. La matriz $D$ se transforma como $\tilde D=V^\top D$, lo que también ha $l$ columnas ortonormales. Y el seguimiento de todo se reduce a una combinación lineal de los autovalores $\lambda_i$.

¿Qué podemos decir acerca de los coeficientes de $a_i=\sum_{j=1}^l\tilde D_{ij}^2$ en esta combinación lineal? Ellos son la fila de las sumas de cuadrados en $\tilde D$, y por lo tanto (i) que todos son de $\le 1$ y (ii) se suma a $l$. Si es así, entonces es evidente que para maximizar la suma, uno debe tomar estos coeficientes a ser $(1,\ldots, 1, 0, \ldots, 0)$, simplemente seleccionando la parte superior $l$ autovalores. En efecto, si, por ejemplo,$a_1<1$, entonces la suma se incrementará si establecemos $a_1=1$ y reducir el tamaño de la última no-cero $a_i$ término en consecuencia.

Esto significa que el máximo se alcanzará si $\tilde D$ es el primer $l$ columnas de la matriz identidad. Y en consecuencia si $D$ es el primer $l$ columnas de $V$, es decir, la primera $l$ vectores propios. QED.

(Por supuesto, esta no es una solución única. $D$ puede girar/refleja con cualquier $l\times l$ ortogonal de la matriz sin cambiar el valor de la traza.)


Esto está muy cerca de mi respuesta en ¿por Qué PCA maximizar la varianza total de la proyección? Este razonamiento sigue @whuber comentario en ese hilo:

[I]s no es intuitivamente obvio que, dada una colección de carteras de diversas cantidades de dinero en efectivo (modelado de la no-negativo autovalores), y un número fijo $k$ que usted puede elegir, que la selección de las $k$ más rico de carteras de maximizar su valor total en efectivo? La prueba de que esta intuición es correcta es casi trivial: si no has tomado la $k$ más grande, entonces usted puede mejorar su suma por el intercambio de la más pequeña tomó de una cantidad mayor.

1voto

zildjohn01 Puntos 6173

Definir $W=X^TX$, y denotan por $v_i$ unidad-norma vector propio correspondiente a su $i$-ésimo mayor valor propio.

Por el variacional caracterización de autovalores, $$ v_1 = \underset{x,\|x\|_2=1}{\arg\max} ~ ~ x^T W x $$

Puesto que usted está buscando una matriz ortogonal, el siguiente vector debe estar en un espacio ortogonal a $v_2$. Definir $W^{(2)}=W-v_1v_1^TW$. Se da la circunstancia de que $$ v_2 = \underset{x,\|x\|_2=1}{\arg\max} ~ ~ x^T W^{(2)} x $$ Y así sucesivamente.

¿Por qué estamos seguros de que es, de hecho, los vectores propios que maximice la suma? No podemos comenzar con un par diferente de los vectores y, a continuación, hacer para que después, como whuber señalado?

Si $X=U\Sigma V^T$ es la descomposición de valor singular de a$X$, $X^TX=W=V\Sigma^2 V^T$ es el eigendecomposition de $W$.

Definir $X_l=U_l\Sigma_l V_l^T$ donde $U_l, V_l$ $U,V$ truncado a la primera $l$ columnas y $\Sigma_l$ a los líderes de $l\times l$ bloque.

Por el Eckart-Joven-Mirsky teorema sabemos que $$ \|X-X_l\|_F^2=\min_{A,rango(A)\leq l} \|X-A\|_F^2 $$ Y es fácil ver que $\underset{A}{\arg\min} \|X-A\|_F^2=\underset{A}{\arg\max} \|A\|_F^2$ siempre $A$ es el resultado de la proyección de una matriz en el lapso de $X$, por lo que $$ \|X_l\|_F^2=\max_{A,rango(A)\leq l} \|\|_F^2 $$

Ahora, observa que

  • $X_l^TX_l=V_l\Sigma_l^2V_l^T$ , $V_l^TX_l^TX_lV_l=\Sigma_l^2$
  • $\|X_l\|_F^2=\sum_{i=1}^l\sigma_i^2$

Por lo tanto, $\mbox{tr}(V_l^TX_l^TX_lV_l)=\mbox{tr}(\Sigma_l^2)=\sum_{i=1}^l\sigma_i^2$ es óptimo.

Por último, tenga en cuenta que $V_l^TX_l^TX_lV_l=V_l^TX^TXV_l$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X