2 votos

Gradiente de la suma de los productos de la matriz de rastros

Para una matriz de $X \in \Re_{n\times d}$ encontrar el gradiente de

$\sum_{i,j}[\langle X_{i.},X_{j.} \rangle\operatorname{tr}(X^TA_{ij}X)]$ w.r.t $X$, donde $A_{ij}=(e_i-e_j)(e_i-e_j)^T$ el uso de los vectores de la base, mientras que $X_{i.}$ indica el $i$'th fila. Hay que hacer notar que, $\langle X_{i.},X_{j.} \rangle$ puede ser escrito como $\langle X_{i.},X_{j.} \rangle = \operatorname{Tr}(X^Te_ie_j^TX)$ haciendo la pregunta original de una suma de productos de la traza de funciones.

Sugerencia: El gradiente de $\operatorname{tr}(X^TMX)$ w.r.t $X$ para cualquier matriz $M$ está dado por $MX+M^TX$.

3voto

Giulio Muscarello Puntos 150

En primer lugar, vamos a normalizar la notación que se reformule el interior del producto. $$\langle X_{i.},X_{j.} \rangle = \mathop{\textrm{Tr}}(X^Te_ie_j^TX) = \tfrac{1}{2}\mathop{\textrm{Tr}}(X^T(e_ie_j^T+e_je_i^T)X)$$ Deje $B_{ij}\triangleq e_ie_j^T+e_je_i^T$. La expresión, que vamos a llamar a $f(X)$, que se simplifica a $$ f(X)=\tfrac{1}{2}\sum_{ij} \mathop{\textrm{Tr}}(X^TB_{ij}X)\mathop{\textrm{Tr}}(X^TA_{ij}X) $$ El gradiente de la siguiente manera a partir de una combinación del producto estándar de la regla y el hecho de que $\nabla X\mathop{\textrm{Tr}}(X^TPX)=2PX$ al $P$ es simétrica constante. (Esta es la razón por la que tomó el extra symmetrizing paso anterior). El gradiente es $$ \nabla_Xf(X)=\sum_{ij} \mathop{\textrm{Tr}}(X^TB_{ij}X)A_{ij}X + \mathop{\textrm{Tr}}(X^TA_{ij}X)B_{ij}X = (Q + R) X, $$ donde $Q$ $R$ se definen como sigue: $$ Q \triangleq \sum_{ij} \mathop{\textrm{Tr}}(X^TB_{ij}X)A_{ij}, \quad R \triangleq \sum_{ij} \mathop{\textrm{Tr}}(X^TA_{ij}X)B_{ij}. $$ Vamos a ver algunos limpio expresiones para$Q$$R$. Para $Q$, tenemos $$ \mathop{\textrm{Tr}}(X^TB_{ij}X) = \mathop{\textrm{Tr}}(X^T(e_ie_j^T+e_je_i^T)X) = 2e_i^TXX^Te_j = 2Z_{ij} $$ donde $Z\triangleq XX^T$. De continuar: $$ Q = \sum_{ij} 2Z_{ij}A_{ij} = \sum_{ij} 2Z_{ij}(e_i-e_j)(e_i-e_j)^T = \sum_{ij} 2Z_{ij} ( e_ie_i^T + e_je_j^T - e_ie_j^T - e_je_i^T ) $$ Para cada una de las $(i,j)$, esta expresión se añade $Z_{ij}$ a los elementos $Q_{ii}$$Q_{jj}$, y resta $Z_{ij}$$Q_{ij}$$Q_{ji}$. (Al $i=j$, estos pasos para cancelar). El total se multiplica por dos. Esto va a hacer que: $$ Q = 2(\mathop{\textrm{diag}}(Z\textbf{1})+\mathop{\textrm{diag}}((\textbf{1}^TZ)^T)-Z-Z^T)=4\mathop{\textrm{diag}}(Z\textbf{1})-4Z $$ El $\mathop{\textrm{diag}}$ operador construye una matriz diagonal a partir de un vector de columna. Puede comprobar este resultado sustituyendo $Z\rightarrow Z_{ij}e_ie_j^T$ en el primer formulario para $Q$ por encima y la simplificación; el resultado debe ser igual a la $(i,j)$ sumando.

Consideremos ahora el segundo término de la suma: $$\begin{aligned} \mathop{\textrm{Tr}}(X^TA_{ij}X) &= \mathop{\textrm{Tr}}(X^T(e_i-e_j)(e_i-e_j)^TX) \\& = (e_i-e_j)^TXX^T(e_i-e_j) = Z_{ii}+Z_{jj}-Z_{ij}-Z_{ji}\end{aligned}$$ $$ R=\sum_{ij} \mathop{\textrm{Tr}}(X^TA_{ij}X)B_{ij} = \sum_{ij} (Z_{ii}+Z_{jj}-Z_{ij}-Z_{ji})(e_ie_j^T+e_ie_j^T) $$ Esta suma ejemplares cada una, cantidad $Z_{ii}+Z_{jj}-Z_{ij}-Z_{ji}$ $(i,j)$ $(j,i)$ posiciones. Por lo tanto $R$ es $$R=2(\mathop{\textrm{diag}^*}(Z)\textbf{1}^T+\textbf{1}\mathop{\textrm{diag}^*}(Z)^T-Z-Z^T)=2\mathop{\textrm{diag}^*}(Z)\textbf{1}^T+2\textbf{1}\mathop{\textrm{diag}^*}(Z)^T-4Z.$$ El $\mathop{\textrm{diag}^*}$ operador extractos de los elementos de la diagonal de una matriz en un vector columna.

El resultado final, por lo tanto, es $$ \boxed{ \begin{aligned} \nabla_X f(X) &= (4\cdot\mathop{\textrm{diag}}(XX^T\textbf{1}) +2\cdot\mathop{\textrm{diag}^*}(XX^T)\textbf{1}^T \\ &\quad +2\cdot\textbf{1}\mathop{\textrm{diag}^*}(XX^T)^T -8\cdot XX^T)X. \end{aligned}} $$

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