Cosa giustifica questo calcolo della derivata di una funzione matrice?


10

Nel corso di machine learning di Andrew Ng, usa questa formula:

Atr(ABATC)=CAB+CTABT

e fa una rapida prova che è mostrata di seguito:

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 prova sembra molto densa senza commenti e ho difficoltà a capirla. Che cosa è successo esattamente dalla seconda alla terza uguaglianza?


Deve fare ipotesi speciali sulle dimensioni di , e , altrimenti questa formula non ha senso in generale. Sul lato sinistro deve essere presente una matrice , una matrice a e una matrice un per interi arbitrari non negativi . Ma poi i prodotti sulla destra non sarebbero definiti a meno che . B C A i × j B j × j C i × m i , j , m i = mABCAi×jBj×jCi×mi,j,mi=m
whuber

@whuber vedo. Date le ipotesi, non capisco ancora come sia avvenuta la transizione dalla seconda alla terza riga in cui introduce .
MoneyBall

Tra la seconda e la terza riga ha lasciato . Tra la seconda e la terza linea ha usato la regola del prodotto. successivamente usa la regola della catena per sbarazzarsi di . f ( )f(A)=ABf()
Brian Borchers,

Risposte:


14

C'è un abuso sottile ma pesante della notazione che rende confusi molti passaggi. Affrontiamo questo problema tornando alle definizioni di moltiplicazione, trasposizione, tracce e derivati ​​della matrice. Per coloro che desiderano omettere le spiegazioni, basta passare all'ultima sezione "Mettere tutto insieme" per vedere quanto breve e semplice può essere una dimostrazione rigorosa.


Notazione e concetti

Dimensioni

Per l'espressione per dare un senso quando A è un m × n matrice, B deve essere un (quadrato) n × n matrice e C deve essere un m × p matrice, da cui il prodotto è un m × p matrice . Per prendere la traccia (che è la somma degli elementi diagonali, Tr ( X ) = i X i i ), quindi p = m , facendo CABACAm×nBn×nCm×pm×pTr(X)=iXiip=mC una matrice quadrata.

Derivati

La notazione " " appare per indicare la derivata di un'espressione rispetto ad A . Ordinariamente, la differenziazione è un'operazione eseguita su funzioni f : R NR M . La derivata in un punto x R N è una trasformazione lineare D f ( x ) : R NR M . Scegliendo le basi per questi spazi vettoriali, tale trasformazione può essere rappresentata come una matrice M × N. Questo non è il caso qui!AAf:RNRMxRNDf(x):RNRMM×N

Matrici come vettori

Invece, viene considerato come un elemento di R m n : i suoi coefficienti vengono srotolati (di solito riga per riga o colonna per colonna) in un vettore di lunghezza N = m n . La funzione f ( A ) = Tr ( A B A C ) ha valori reali, da cui M = 1 . Di conseguenza, D f ( x ) deve essere una matrice 1 × m n : è un vettore di riga che rappresenta una forma lineare suARmnN=mnf(A)=Tr(ABAC)M=1Df(x)1×mn . Tuttavia, i calcoli nella domanda usano unmododiversodi rappresentare forme lineari: i loro coefficienti sono riportati inmatricim×n.Rmnm×n

La traccia come forma lineare

Sia una matrice costante m × n . Quindi, per definizione della traccia e della moltiplicazione della matrice,ωm×n

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

Questo esprime la combinazione lineare più generale possibile dei coefficienti di : ω è una matrice della stessa forma di A e il suo coefficiente nella riga i e la colonna j è il coefficiente di A i j nella combinazione lineare. Poiché ω i j A i j = A i j ω i j , i ruoli di ω e A possono cambiare, dando l'espressione equivalenteAωAijAijωijAij=AijωijωA

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

Identificando una matrice costante con una delle funzioni A Tr ( A ω ' ) o A Tr ( ω A ' ) , possiamo rappresentare forme lineari sullo spazio di m × n matrici come m × n matrici. (Non confonderli con derivati ​​di funzioni da R n a R m !)ωATr(Aω)ATr(ωA)m×nm×nRnRm


Calcolo di un derivato

La definizione

I derivati ​​di molte delle funzioni della matrice riscontrate nelle statistiche sono calcolati più facilmente e in modo affidabile dalla definizione: non è necessario ricorrere a complicate regole di differenziazione della matrice. Questa definizione dice che è differenziabile in x se e solo se esiste una trasformazione lineare L tale chefxL

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

per arbitrariamente piccoli spostamenti . I piccoli-oh mezzi notazione che l'errore commesso approssimando la differenza f ( x + h ) - f ( x ) da L h è arbitrariamente minore della dimensione di h per sufficientemente piccolo h . In particolare, possiamo sempre ignorare errori proporzionali a | h | 2 .hRNf(x+h)f(x)Lhhh|h|2

Il calcolo

Applichiamo la definizione alla funzione in questione. Moltiplicando, espandendo e ignorando il termine con un prodotto di due ,h

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

Per identificare la derivata , dobbiamo inserirlo nel modulo ( 1 ) . Il primo termine a destra è già in questa forma, con ω = B A ' C . L'altro termine a destra ha la forma Tr ( X h ' C ) per X = A B . Scriviamo questo:L=Df(A)(1)ω=BACTr(XhC)X=AB

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

Richiamando , ( 2 ) può essere riscrittoX=AB(2)

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

È in questo senso che possiamo considerare la derivata di in A come D f ( A ) = ( B A C ) + C A B = C A B + C A B , perché queste matrici giocano il ruoli di ω nelle formule di traccia ( 1 ) .fA

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

Mettere tutto insieme

Ecco quindi una soluzione completa.

Sia una matrice m × n , una matrice B an n × n e una matrice C an m × m . Sia f ( A ) = Tr ( A B A C ) . Sia h una matrice m × n con coefficienti arbitrariamente piccoli. Perché (per identità ( 3 ) ) f ( A + h ) - f (Am×nBn×nCm×mf(A)=Tr(ABAC)hm×n(3) fè differenziabile e la sua derivata è la forma lineare determinata dalla matriceCAB+CAB.

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

Poiché ciò richiede solo circa la metà del lavoro e coinvolge solo le più elementari manipolazioni di matrici e tracce (moltiplicazione e trasposizione), deve essere considerata una dimostrazione più semplice - e probabilmente più evidente - del risultato. Se vuoi davvero capire i singoli passaggi della dimostrazione originale, potresti trovare utile confrontarli con i calcoli mostrati qui.


1
È utile sapere che in generale, ogni volta che le matrici sono di dimensioni compatibili. Conoscere questo rende (3) un passaggio banale. tr(ABC)=tr(CAB)
Brian Borchers,

1
@Amoeba Non so dire se stai cercando di essere divertente o no. Né la domanda né la risposta hanno direttamente a che fare con derivati ​​parziali. La forma è esplicitamente una forma lineare definita nello spazio vettoriale Mat ( m , n ) di m × n matrici reali. Quando qualcuno afferma che la derivata di una funzione f : Mat ( m , n ) R in un punto A è uguale a una matrice ω , ciò che significano è che D f ( A )(1)Mat(m,n)m×nf:Mat(m,n)RAωDf(A)è la forma lineare data da . X:→Tr(Xω)
whuber

2
@Amoeba Esatto, giustifica ampiamente le affermazioni nella prima riga di questa risposta. È per questo che ho scritto "in questo senso" e, più avanti nel sommario, ho usato la frase "determinato da" anziché "uguale". Non nego che la spiegazione sia stata impegnativa; Penserò a come chiarirlo e apprezzo tutti i tuoi commenti e suggerimenti.
whuber

1
@ user10324 La maggior parte di ciò che pubblico su questo sito è la mia formulazione: raramente consulto le fonti (e le documento quando lo faccio). Questi post sono distillazioni dalla lettura di molti libri e documenti. Alcuni dei migliori libri non sono stati quelli che sono matematicamente rigorosamente rigorosi, ma che hanno magnificamente spiegato e illustrato le idee sottostanti. I primi che mi vengono in mente - in ordine di raffinatezza - sono Freedman, Pisani e Purves, Statistics (qualsiasi edizione); Jack Kiefer, Introduzione all'inferenza statistica ; e Steven Shreve, Calcolo stocastico per la finanza II .
whuber

1
f(x+h)f(x)=Lh+o(|h|)hxxRm×nhRm×n
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.