Qu'est-ce qui justifie ce calcul de la dérivée d'une fonction matricielle?


10

Dans le cours d'apprentissage automatique d'Andrew Ng, il utilise cette formule:

Atr(ABATC)=CAB+CTABT

et il fait une preuve rapide qui est montrée ci-dessous:

Atr(ABATC)=Atr(f(A)ATC)=tr(f()ATC)+tr(f(A)TC)=(ATC)Tf()+(Ttr(f(A)TC)T=CTABT+(Ttr(T)Cf(A))T=CTABT+((Cf(A))T)T=CTABT+CAB

La preuve semble très dense sans aucun commentaire et j'ai du mal à la comprendre. Que s'est-il passé exactement de la deuxième à la troisième égalité?


Il doit faire des hypothèses spéciales sur les dimensions de A , B et C , sinon cette formule n'a aucun sens en général. A gauche, A doit être une matrice i×j , B une matrice j×j et C une matrice i×m pour les entiers non négatifs arbitraires i,j,m . Mais alors les produits à droite ne seraient définis que si i=m .
whuber

@whuber je vois. Compte tenu des hypothèses, je ne comprends toujours pas comment la transition s'est produite de la deuxième à la troisième ligne où il présente .
MoneyBall

Entre la deuxième et la troisième ligne, il laisse . Entre la deuxième et la troisième ligne, il a utilisé la règle du produit. plus tard, il utilise la règle de chaîne pour se débarrasser de . f ( )f(A)=ABf()
Brian Borchers du

Réponses:


14

Il y a un abus subtil mais lourd de la notation qui rend la plupart des étapes déroutantes. Abordons ce problème en revenant aux définitions de la multiplication matricielle, de la transposition, des traces et des dérivés. Pour ceux qui souhaitent omettre les explications, passez simplement à la dernière section "Tout mettre ensemble" pour voir à quel point une démonstration rigoureuse peut être courte et simple.


Notation et concepts

Dimensions

Pour que l'expression un sens lorsque est une matrice , doit être une matrice (carrée) et doit être une matrice , d'où le produit est un matrice . Pour prendre la trace (qui est la somme des éléments diagonaux, ), puis , faisant de une matrice carrée.A m × n B n × n C m × p m × p TrABACAm×nBn×nCm×pm×p p = m CTr(X)=iXiip=mC

Dérivés

La notation « » semble se référer à la dérivée d'une expression par rapport à . D' ordinaire, la différenciation est une opération effectuée sur les fonctions . Le dérivé en un point est une transformation linéaire . En choisissant des bases pour ces espaces vectoriels, une telle transformation peut être représentée comme une matrice Ce n'est pas le cas ici! A f : R NR M x R NAAf:RNRMxRN M × NDf(x):RNRMM×N

Les matrices comme vecteurs

A la place, est considéré comme un élément de : ses coefficients sont déroulés (généralement ligne par ligne ou colonne par colonne) dans un vecteur de longueur . La fonction a des valeurs réelles, d'où . Par conséquent, doit être une matrice : c'est un vecteur ligne représentant une forme linéaire sur . Cependant, les calculs de la question utilisent une manière différente de représenter les formes linéaires: leurs coefficients sont recomposés en matrices.R m n N = m n f ( A ) = Tr ( A B A C ) M = 1 D f ( x ) 1 × m n R m n m × nARmnN=mnf(A)=Tr(ABAC)M=1Df(x)1×mnRmnm×n

La trace comme forme linéaire

Soit une matrice constante . Ensuite, par définition de la trace et de la multiplication matricielle,m × nωm×n

Tr(Aω)=i=1m(Aω)ii=i=1m(j=1nAij(ω)ji)=i,jωijAij

Cela exprime la combinaison linéaire la plus générale possible des coefficients de : est une matrice de la même forme que et son coefficient dans la ligne et la colonne est le coefficient de dans la combinaison linéaire. Parce que , les rôles de et peuvent changer, donnant l'expression équivalenteω A i j A i j ω i jAωAijAij ω AωijAij=AijωijωA

(1)i,jωijAij=Tr(Aω)=Tr(ωA).

En identifiant une matrice constante avec l'une des fonctions ou , nous pouvons représenter linéaire se forme sur l'espace de matrices comme matrices. (Ne les confondez pas avec des dérivées de fonctions de à !)A Tr ( A ω ) A Tr ( ω A ) m ×ωATr(Aω)ATr(ωA)m × n m×nm×nR mRnRm


Calcul d'un dérivé

La définition

Les dérivés de nombreuses fonctions matricielles rencontrées dans les statistiques sont calculés le plus facilement et de manière fiable à partir de la définition: vous n'avez pas vraiment besoin de recourir à des règles compliquées de différenciation matricielle. Cette définition dit que est différentiable en si et seulement s'il y a une transformation linéaire telle quex LfxL

f(x+h)f(x)=Lh+o(|h|)

pour les déplacements arbitrairement petites . La notation petit-oh signifie que l'erreur commise dans l'approximation de la différence par est arbitrairement plus petite que la taille de pour un suffisamment petit . En particulier, nous pouvons toujours ignorer les erreurs proportionnelles à . f ( x + h ) - f ( x )hRNf(x+h)f(x)h h | h | 2Lhhh|h|2

Le calcul

Appliquons la définition à la fonction en question. Multipliant, développant et ignorant le terme avec un produit de deux ,h

(2)f(A+h)f(A)=Tr((A+h)B(A+h)C)Tr(ABAC)=Tr(hBAC)+Tr(ABhC)+o(|h|).

Pour identifier la dérivée , nous devons la mettre dans le formulaire . Le premier terme à droite est déjà sous cette forme, avec . L'autre terme à droite a la forme pour . Écrivons ceci:( 1 ) ω = B A C Tr ( X h C ) X = A BL=Df(A)(1)ω=BACTr(XhC)X=AB

(3)Tr(XhC)=i=1mj=1nk=1mXijhkjCki=i,j,khkj(CkiXij)=Tr((CX)h).

Rappelant , peut être réécrit( 2 )X=AB(2)

f(A+h)f(A)=Tr(hBAC)+Tr(CABh)+o(|h|).

C'est en ce sens que l'on peut considérer que la dérivée de en est car ces matrices jouent les rôles de dans les formules de trace .A D f ( A ) = ( B A C ) + C A B = C A B + C A BfAω ( 1 )

Df(A)=(BAC)+CAB=CAB+CAB,
ω(1)

Mettre tous ensemble

Voici donc une solution complète.

Soit une matrice , une matrice et une matrice . Soit . Soit une matrice avec des coefficients arbitrairement petits. Parce que (par identité ) est dérivable et sa dérivée est la forme linéaire déterminée par la matricem × n B n × n C m × m f ( A ) = Tr ( A B A C ) h m × n ( 3 ) f ( A + h ) - f ( A ) = Tr (Am×nBn×nCm×mf(A)=Tr(ABAC)hm×n(3) fC'AB'+CAB.

f(A+h)f(A)=Tr(hBAC)+Tr(ABhC)+o(|h|)=Tr(h(CAB)+(CAB)h)+o(|h|),
f
CAB+CAB.

Parce que cela ne prend qu'environ la moitié du travail et n'implique que les manipulations les plus élémentaires des matrices et des traces (multiplication et transposition), cela doit être considéré comme une démonstration plus simple - et sans doute plus visible - du résultat. Si vous voulez vraiment comprendre les différentes étapes de la démonstration originale, vous trouverez peut-être utile de les comparer aux calculs présentés ici.


1
Il est utile de savoir qu'en général, chaque fois que les matrices sont de tailles compatibles. Connaître ce fait (3) est une étape triviale. tr(ABC)=tr(CAB)
Brian Borchers du

1
@Amoeba Je ne peux pas dire si vous essayez d'être humoristique ou non. Ni la question ni la réponse n'ont directement à voir avec les dérivées partielles. La forme est explicitement une forme linéaire définie sur l'espace vectoriel de matrices réelles. Quand quelqu'un prétend que la dérivée d'une fonction à un point est égale à une matrice , ce qu'ils veulent dire c'est que est le linéaire forme donnée par . Mat ( m , n ) m × n f : Mat ( m , n ) R A ω(1)Mat(m,n)m×nf:Mat(m,n)RAωX : Tr ( X ωDf(A)X:→Tr(Xω)
whuber

2
@Amoeba C'est exactement ça - cela justifie amplement les affirmations de la première ligne de cette réponse. C'est pourquoi j'ai écrit "dans ce sens" et, plus tard dans le résumé, j'ai utilisé l'expression "déterminé par" plutôt que "égal". Je ne nierai pas que l'explication a été difficile; Je vais réfléchir à la façon de le clarifier et j'apprécie tous vos commentaires et suggestions.
whuber

1
@ user10324 La plupart de ce que je poste sur ce site est ma propre formulation - je consulte rarement les sources (et je les documente quand je le fais). Ces articles sont des distillations de la lecture de nombreux livres et articles. Certains des meilleurs livres ne sont pas ceux qui sont rigoureusement mathématiques, mais qui ont magnifiquement expliqué et illustré les idées sous-jacentes. Les premiers qui viennent à l'esprit - par ordre de sophistication - sont Freedman, Pisani, & Purves, Statistics (toute édition); Jack Kiefer, Introduction à l'inférence statistique ; et Steven Shreve, Calcul stochastique des finances II .
whuber

1
@whuber J'ai enfin une idée de la forme linéaire de la trace. Je m'excuse d'avoir posé la même question à nouveau sur des messages séparés alors que j'aurais pu lire votre explication plus attentivement. J'ai encore une question. Si votre équation peut être appliquée pour trouver des dérivées de n'importe quelle fonction matricielle, a-t-il la même dimension que ? Donc, si , alors ? h x x R m × n h R m × nf(x+h)f(x)=Lh+o(|h|)hxxRm×nhRm×n
MoneyBall
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.