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 CABA′CAm×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 N → R M . La derivata in un punto x ∈ R N è una trasformazione lineare D f ( x ) : R N → R M . Scegliendo le basi per questi spazi vettoriali, tale trasformazione può essere rappresentata come una matrice M × N. Questo non è il caso qui!∇AAf:RN→RMx∈RNDf(x):RN→RMM×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⁡(ABA′C)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 !)ωA→Tr⁡(Aω′)A→Tr⁡(ω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 .h∈RNf(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⁡(ABA′C)=Tr⁡(hBA′C)+Tr⁡(ABh′C)+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)ω=BA′CTr⁡(Xh′C)X=AB

(3)Tr⁡(Xh′C)=∑i=1m∑j=1n∑k=1mXijhkjCki=∑i,j,khkj(CkiXij)=Tr⁡((CX)h′).

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

f(A+h)−f(A)=Tr⁡(hBA′C)+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)=(BA′C)′+CAB=C′AB′+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⁡(ABA′C)hm×n(3) fè differenziabile e la sua derivata è la forma lineare determinata dalla matriceC′AB′+CAB.

f(A+h)−f(A)=Tr⁡(hBA′C)+Tr⁡(ABh′C)+o(|h|)=Tr⁡(h(C′AB′)′+(CAB)h′)+o(|h|),
f
C′AB′+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|)hxx∈Rm×nh∈Rm×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.