7 votos

Derivado del rastro del producto de la matriz $(X^TX)^p$

Deje que $X$ ser una matriz cuadrada,

Sabemos que $ \frac { \partial tr(X^TX)}{ \partial X}$ es $2X$

¿Pero qué hay del caso de $ \frac { \partial tr((X^TX)^2)}{ \partial X}$ o incluso $ \frac { \partial tr((X^TX)^p)}{ \partial X}$

¿Hay alguna generalización?

Tenga en cuenta que aquí $(X^TX)^2 = X^TXX^TX$ y un caso similar se aplica a $(X^TX)^p$

7voto

bea Puntos 16

Significado del gradiente

Lo primero es tener claro lo que significa el gradiente de una función de matriz. La definición del gradiente $G(X)$ como una función lineal que actúa sobre los elementos $V$ del espacio subyacente está definido inequívocamente por el límite de las diferencias finitas, $$f'(X) \circ V = \lim_ {s \rightarrow 0} \frac {1}{s} \left [f(X+sV) - f(X) \right ].$$ Sin embargo, si se ve el gradiente no como una función sino como un vector $G(X)$ los elementos de ese vector dependen del producto interno $ \langle \cdot , \cdot \rangle $ de tu espacio. $G(X)$ es el único vector tal que $$f'(X) \circ V = \langle G(X),V \rangle $$ para todos $V$ . Si cambias el producto interno, las entradas de tu vector de gradiente cambiarán, pero de tal manera que su acción a través del producto interno permanezca igual.

El producto interno estándar en los espacios de la matriz se denomina de forma variada El producto interno de Frobenius el vectorización producto interno, y el El producto interno de Hilbert Schmidt de matrices reales. Éstas se refieren a diversos niveles de generalización de la misma cosa: $$ \langle A,B \rangle = \sum_ {ij}A_{ij}B_{ij} = \mathrm {vec}(A)^T \mathrm {vec}(B) = \mathrm {tr}(A^TB).$$

Podrías tener otros productos internos pero serían el mismo producto interno básico pero con alguna "matriz de masa" simétrica positiva definida insertada en él, $$ \langle A,B \rangle_M = \mathrm {vec}(A)^TM \mathrm {vec}(B).$$

A veces se define el rastro en términos del producto interno (más que como una suma de entradas), en cuyo caso la situación es automáticamente coherente de manera que $$ \langle A,B \rangle_M = \mathrm {tr}_M(A^TB).$$


Derivado de $ \mathrm {tr} \left ((X^TX)^2 \right )$

Aquí elegimos usar el producto interno de Frobenius para nuestros propósitos de cálculo de gradientes, entendiendo que si el producto interno cambia, entonces el gradiente cambiará por multiplicación con una matriz de masa.

Para la notación, llamemos a la función general original $f$ , $$f(X):= \mathrm {tr}(X^TXX^TX).$$

Basándose en la linealidad del trazo y la regla del producto para las matrices, es sencillo evaluar el derivado de $f$ en cualquier dirección $V$ , $$f'(X) \circ V = \mathrm {tr}(V^TXX^TX + X^TVX^TX + X^TXV^TX + X^TXX^TV).$$

Sin embargo, en esta forma sólo tenemos la acción de $f'$ como una función. Para obtener los elementos, necesitamos reunir de alguna manera todos los $V's$ juntos para que $$f'(X) \circ V = \mathrm {tr}(V^T \mathrm {[something]}),$$

entonces lo que queda es el gradiente en forma de matriz, listo para ser aplicado. Es decir, $$G(X) = \mathrm {[something]}$$ para que $$f'(X) \circ V = \langle G(x), V \rangle. $$

Para reunir a todos los $V's$ en un lugar y transponerlos como sea necesario, vamos a necesitar usar 2 "movimientos". El trace es

  1. invariable bajo permutaciones cíclicas, $ \mathrm {tr}(ABC) = \mathrm {tr}(CAB) = \mathrm {tr}(BCA)$ y
  2. invariante bajo transpone $ \mathrm {tr}(A) = \mathrm {tr}(A^T).$

Usar estos dos movimientos rinde, \begin {alinear} f'(X) \circ V &= \mathrm (V^TXX^TX + X^TVX^TX + X^TXV^TX + X^TXX^TV) \\ &= \mathrm {tr}(V^TXX^TX + X^TXX^TV + V^TXX^TX + X^TXX^TV) \\ &= \mathrm {tr}(V^TXX^TX + V^TXX^TX + V^TXX^TX + V^TXX^TX) \\ &= \mathrm (V^T [4XX^TX]), \end {alinear}

y así $$G(X) = 4XX^TX.$$


Derivado de $ \mathrm {tr} \left ((X^TX)^p \right )$

Para el caso general que tenemos, \begin {alinear} f'(x) \circ V:=& \mathrm {tr}((X^TX)^p) \\ =& \mathrm {tr} \left ( \sum_ {i=1}p (X^TX)^{k-1}(V^TX)(X^TX)^{p-k} + \sum_ {i=1}p (X^TX)^{k-1}(X^TV)(X^TX)^{p-k} \right ) \\ =& \mathrm {tr} \left ( \sum_ {i=1}p (V^TX)(X^TX)^{p-k}(X^TX)^{k-1} + \sum_ (X^TX)^{p-k}(X^TX)^{k-1}(X^TV)) \right ) \\ =& \mathrm {tr} \left ( \sum_ {i=1}^p 2 V^TX(X^TX)^{p-1} \right ) \\ =& \mathrm {tr} \left ( V^T[pX(X^TX)^{p-1}] \right ), \end {alinear}

y así $$G(X) = pX(X^TX)^{p-1}.$$


La generalización para suavizar las funciones de $X^TX$

Si quieres ir más lejos, puedes usar el resultado para $(X^TX)^p$ y la linealidad del gradiente para encontrar el gradiente de cualquier polinomio $f(X) = q(X^TX)$ donde $q(x) = \sum_k c_kx^k$ cediendo $$G(X) = \sum_k c_k k X(X^TX)^{k-1} = Xq'(X^TX).$$

Luego, usando la aproximación polinómica, se puede extender el resultado a las funciones generales $f(X^TX)$ $$G(X) = Xf'(X^TX).$$

Si usted hizo todo este procedimiento con $X^p$ en lugar de $(X^TX)^p$ se le habría ocurrido el teorema, $$G(X) = f'(X^T).$$


Por último, si se trabaja con cálculos de matrices y derivados, el libro de cocina de la matriz es una excelente referencia. Si quieres profundizar en la teoría sobre este tipo de cosas, las notas Rastreo, métrica y realidad: Notas sobre Álgebra Lineal Abstracta son geniales.

3voto

Chris Ballance Puntos 17329

Cuando $p=2$ , \begin {alineado*} & \left [(X+ \Delta X)^ \top (X+ \Delta X) \right ]^2 - (X^ \top X)^2 \\ =& \left [(X+ \color {Rojo}{ \Delta X})^ \top (X+ \color {verde}{ \Delta X})(X+ \color {azul}{ \Delta X})^ \top (X+ \color {Naranja}{ \Delta X}) \right ] - (X^ \top X)^2 \\ =& \color {Rojo}{ \Delta X}^ \top X(X^) \top X) +X^ \top \color {verde}{ \Delta X} (X^) \top X) +(X^ \top X) \color {azul}{ \Delta X}^ \top X +(X^ \top X)X^ \top \color {Naranja}{ \Delta X}+O(||) \Delta X\|^2). \end {alineado*} Por lo tanto, usando las propiedades $ \newcommand { \tr }{ \operatorname {tr}} \tr (AB)= \tr (BA)$ y $ \tr (A^ \top )= \tr (A)$ tenemos $$ \tr\left\ { \left [(X+ \Delta X)^ \top (X+ \Delta X) \right ]^2 - (X^ \top X)^2 \right\ } = 4 \tr\left ( \Delta X^ \top X(X^ \top X) \right ) +O(\| \Delta X\|^2). $$ y por lo tanto $ \dfrac { \partial \tr (X^TX)}{ \partial X} = 4 X(X^ \top X)$ . Con un argumento similar, se puede deducir que $ \dfrac { \partial \tr\left ((X^TX)^p \right )}{ \partial X} = 2p X(X^ \top X)^{p-1}$ .

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