Comment se différencier $ABA^T$ par rapport à $A$?

Sep 18 2020

Je ne vois pas comment différencier $ABA^T$ par rapport à $A$ où $A$ et $B$ sont $n\times n$matrices. Je sais que ce sera un tenseur de rang 4, mais qu'est-ce que ce sera exactement?

L'inspiration pour cela vient d'avoir à trouver la dérivée de la matrice de covariance $\operatorname{Cov}(TX)$ par rapport à $T$.

Je vais donc vous dire tout ce que j'ai fait jusqu'à présent et peut-être que vous pourrez m'aider.

Je travaillais avec la distance de Bures au carré $d_H^2(Cov(TX),\Sigma_v) = tr(Cov(TX) + \Sigma_v - 2(Cov(TX))^{1/2}\Sigma_v Cov(TX)^{1/2})^{1/2})$.

J'ai d'abord calculé la dérivée de $d_H^2(A,B)$ pour les matrices positives $A$ et $B$, qui s'est avéré être $tr(I-A_{\#}B^{-1})$. Ici nous définissons$A_{\#}B=(AB^{-1})^{1/2}B.$

Alors maintenant, j'utilisais la règle de chaîne pour calculer la dérivée de $d_H^2(Cov(TX),\Sigma_v)$. Mais pour faire ça, j'ai besoin de différencier$Cov(TX)$ wrt $T$. C'est là que je suis coincé.

=========

En fin de compte, je cherche à trouver le gradient par rapport à $T$ de $$ \lambda \left\|TX-X\right\|^2 + \left\|T\right\|_{HS} + d_H^2(Cov(TX),\Sigma_v). $$ et calculez ses racines.

En supposant que je n'ai pas commis d'erreur, les dérivés des deux premiers termes sont $2(TX-X)X^T$ et $T/\left\|T\right\|_{HS}$respectivement - n'hésitez pas à me corriger si je me trompe ici. Donc, le dernier terme est ce qui me cause des problèmes lorsque je me différencie.

Réponses

2 J.G. Sep 18 2020 at 04:33

Dans la notation Einstein ,$$\begin{align}\frac{\partial(ABA^T)_{ij}}{\partial A_{kl}}&=\frac{\partial}{\partial A_{kl}}A_{im}B_{mn}A_{jn}\\&=\delta_{ik}\delta_{lm}B_{mn}A_{jn}+A_{im}B_{mn}\delta_{jk}\delta_{ln}\\&=\delta_{ik}(AB^T)_{jl}+\delta_{jk}(AB)_{il}.\end{align}$$

2 greg Sep 18 2020 at 09:54

Laisser $J$ être la matrice tout-un et $$\eqalign{ C &=(I-\tfrac 1nJ) = C^T \qquad\qquad\big({\rm Centering\,Matrix}\big) \\ B &= \Sigma_v \\ A &= {\rm Cov}(TX) \\ &= \left(\tfrac 1{n-1}\right)(TX)^TC\,(TX) \\ }$$À partir de cet article , la fonction de distance de Bures et son différentiel peuvent être simplifiées à$$\eqalign{ \beta(A,B) &= {\rm Tr}\Big(A+B - 2(BA)^{1/2} \Big) \\ d\beta &=\Big(I - (BA)^{-1/2}B\Big):dA \\ }$$ Maintenant, changez la variable de différenciation de $\;dA\to dT$. $$\eqalign{ d\beta &= \Big(I - (BA)^{-1/2}B\Big):\left(\tfrac 2{n-1}\right){\rm Sym}(X^TT^TC\,dT\,X) \\ &= \left(\tfrac 2{n-1}\right)\Big(I - (BA)^{-1/2}B\Big):(X^TT^TC\,dT\,X) \\ &= \left(\tfrac 2{n-1}\right)CTX\Big(I - (BA)^{-1/2}B\Big)X^T:dT \\ \frac{\partial\beta}{\partial T} &= \left(\tfrac 2{n-1}\right)CTX\Big(I - (BA)^{-1/2}B\Big)X^T \\ }$$


Dans la dérivation ci-dessus, la fonction $$\eqalign{ {\rm Sym}(M) = \tfrac 12(M+M^T) \\ }$$ a été utilisé, ainsi que le produit trace / Frobenius $$\eqalign{ P:M = {\rm Tr}(P^TM) = {\rm Tr}(M^TP) = M:P \\ }$$ Ceux-ci ont l'interaction suivante $$\eqalign{ P:{\rm Sym}(M) = {\rm Sym}(P):M \\ }$$

1 MathLearner Sep 18 2020 at 05:00

La dérivée de l'expression donnée dans le titre peut se faire à l'aide de vectorisations:

Nous avons :

\ begin {équation} \ begin {split} M & = XYZ \\ \ implique \ text {vec} (M) & = \ text {vec} (XYZ) \\ & = (Z ^ TY ^ T \ otimes I) \ text {vec} (X) \\ & = (Z ^ T \ otimes X) \ text {vec} (Y) \\ & = (I \ otimes XY) \ text {vec} (Z) \ end {split } \ end {équation}

Ensuite, pour notre expression, nous avons:

\ begin {équation} \ begin {split} \ text {Let} \ quad C & = ABA ^ T \\ \ implique \ text {vec} (C) & = \ text {vec} (ABA ^ T) \\ \ implique d (\ text {vec} (C)) & = ((A ^ T) ^ TB ^ T \ otimes I) d (\ text {vec} (A)) \\ \ implique \ frac {d (\ text {vec} (C))} {d (\ text {vec} (A))} & = (AB ^ T \ otimes I) \ end {split} \ end {equation} De même, nous pouvons différencier wrt$B$

$$ \frac{d(\text{vec}(C))}{d(\text{vec}(B))} = (A \otimes A)$$