Co uzasadnia to obliczenie pochodnej funkcji macierzowej?


10

W kursie uczenia maszynowego Andrew Nga używa tej formuły:

∇Atr(ABATC)=CAB+CTABT

i robi szybki dowód, który pokazano poniżej:

∇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

Dowód wydaje się bardzo gęsty bez żadnych komentarzy i mam problem z jego zrozumieniem. Co dokładnie wydarzyło się od drugiej do trzeciej równości?


Musi przyjmować specjalne założenia dotyczące wymiarów , i , ponieważ w przeciwnym razie ta formuła nie ma sensu w ogóle. Na lewej bocznej musi być macierzy z matrycy i matrycę dowolnych nieujemne liczby całkowite . Ale wtedy produkty po prawej stronie nie byłyby zdefiniowane, chyba że . B C A i × j B j × j C i × m i , j , m i = mABCAi×jBj×jCi×mi,j,mi=m
— whuber

@ whuber Rozumiem. Biorąc pod uwagę założenia, nadal nie rozumiem, jak nastąpiło przejście z drugiej do trzeciej linii, w której wprowadza . ∘
— MoneyBall

Pomiędzy drugą i trzecią linią pozwala . Między drugą a trzecią linią stosował zasadę produktu. później używa reguły łańcucha, aby pozbyć się . f ( )f(A)=ABf()
— Brian Borchers

Odpowiedzi:


14

Istnieje subtelne, ale ciężkie nadużycie zapisu, które powoduje, że wiele kroków jest mylących. Zajmijmy się tym problemem, wracając do definicji mnożenia macierzy, transpozycji, śladów i pochodnych. Dla tych, którzy chcą pominąć wyjaśnienia, wystarczy przejść do ostatniej części „Składanie wszystkiego razem”, aby zobaczyć, jak krótka i prosta może być rygorystyczna demonstracja.


Notacja i pojęcia

Wymiary

Aby wyrażenie miała sens, gdy jest macierzą , musi być macierzą (kwadratową) , a musi być macierzą , skąd iloczynem jest macierz. Aby pobrać ślad (który jest sumą elementów ukośnych, nazwa ), a następnie , czyniąc kwadratową macierzą.A m × n B n × n C m × p m × p Tr ( X ) = ∑ i X i i p = m CABA′CAm×nBn×nCm×pm×pTr⁡(X)=∑iXiip=mC

Pochodne

Oznaczenie „ ” pojawia się w odniesieniu do pochodnej wyrażenia względem . Zwykle, różnicowanie jest to operacja wykonywana w funkcji . Pochodna w punkcie jest przekształcenie liniowe . Po wybraniu zasad dla tych przestrzeni wektorowych transformacja taka może być reprezentowana jako macierz Nie o to chodzi w tym przypadku! A f : R N → R M x ∈ R N D f ( x ) : R N → R M M × N∇AAf:RN→RMx∈RNDf(x):RN→RMM×N

Macierze jako wektory

Zamiast tego jest uważany za element : jego współczynniki są rozwijane (zwykle albo rząd po rzędzie lub kolumna po kolumnie) do wektora o długości . Funkcja ma rzeczywiste wartości, skąd . W związku z tym musi być macierzą : to wektor wiersza reprezentujący formę liniową na . Jednak obliczenia w pytaniu wykorzystują inny sposób reprezentowania form liniowych: ich współczynniki są zwijane z powrotem do macierzy .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⁡(ABA′C)M=1Df(x)1×mnRmnm×n

Ślad jako forma liniowa

Niech będzie stałą macierzy. Następnie, z definicji śladu i mnożenia macierzy,m × nωm×n

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

Wyraża to najbardziej ogólną możliwą kombinację liniową współczynników : jest macierzą o tym samym kształcie co a jej współczynnik w rzędzie i kolumnie jest współczynnikiem w kombinacji liniowej. Ponieważ , role i mogą się zmieniać, dając równoważne wyrażenieω A i j A i j ω i j A i j = A i j ω i j ω AAωAijAijωijAij=AijωijωA

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

Poprzez identyfikację stałej macierzy pomocą jednej z funkcji nazwa lub , możemy reprezentować liniowy formuje się na przestrzeni macierzy jako macierzy. (Nie myl ich z pochodnymi funkcji z do !)A → Tr ( A ω ′ ) A → Tr ( ω A ′ ) m × n m × n R n R mωA→Tr⁡(Aω′)A→Tr⁡(ωA′)m×nm×nRnRm


Obliczanie pochodnej

Definicja

Pochodne wielu funkcji macierzowych spotykanych w statystykach można najłatwiej i rzetelnie obliczyć z definicji: tak naprawdę nie trzeba uciekać się do skomplikowanych reguł różnicowania macierzy. Definicja ta mówi, że jest różniczkowalna dla wtedy i tylko wtedy, gdy istnieje transformacja liniowa taka, żex L.fxL

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

na dowolnie małe przemieszczenia . Notacja little-oh oznacza, że ​​błąd popełniony w przybliżeniu różnicy przez jest arbitralnie mniejszy niż rozmiar dla wystarczająco małego . W szczególności zawsze możemy ignorować błędy, które są proporcjonalne do .h∈RNf(x+h)−f(x)Lhhh|h|2

Kalkulacja

Zastosujmy definicję do omawianej funkcji. Pomnożenie, rozwinięcie i zignorowanie terminu z iloczynem dwóch ,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|).

Aby zidentyfikować pochodną , musimy wprowadzić ją do postaci . Pierwszy składnik po prawej stronie znajduje się już w tej postaci z . Drugi termin po prawej stronie ma postać nazwa dla . Napiszmy to: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′).

Przywołując , można przepisaćX=AB(2)

f(A+h)−f(A)=Tr⁡(hBA′C)+Tr⁡(CABh′)+o(|h|).

W tym sensie możemy uznać pochodną w za ponieważ te macierze grają role we wzorach śledzenia .fA

Df(A)=(BA′C)′+CAB=C′AB′+CAB,
ω(1)

Kładąc wszystko razem

Oto kompletne rozwiązanie.

Niech będzie macierzą macierzy, an macierzy, a an macierzy. Niech . Niech będzie macierzą macierzy o dowolnie małych współczynnikach. Ponieważ (według tożsamości ) jest różniczkowalna, a jej pochodna jest formą liniową określoną przez macierzAm×nBn×nCm×mf(A)=Tr⁡(ABA′C)hm×n(3)

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.

Ponieważ zajmuje to tylko około połowy pracy i obejmuje tylko najbardziej podstawowe manipulacje macierzami i śladami (mnożenie i transpozycja), należy to uznać za prostszą - i prawdopodobnie bardziej widoczną - demonstrację wyniku. Jeśli naprawdę chcesz zrozumieć poszczególne etapy oryginalnej demonstracji, może okazać się owocne porównanie ich z przedstawionymi tutaj obliczeniami.


1
Warto wiedzieć, że ogólnie gdy macierze mają kompatybilne rozmiary. Wiedząc o tym, uczyń (3) trywialnym krokiem. tr(ABC)=tr(CAB)
— Brian Borchers

1
@Amoeba Nie wiem, czy starasz się być zabawny, czy nie. Ani pytanie, ani odpowiedź nie mają bezpośredniego związku z częściowymi pochodnymi. Forma wyraźnie jest zdefiniowane w formie liniowej przestrzeni wektor z rzeczywiste macierzy. Gdy ktoś twierdzi, że pochodna funkcji nazwa w punkcie jest równa pewnej macierzy , oznacza to, że jest liniowy formularz podany przez . (1)Mat⁡(m,n)m×nf:Mat⁡(m,n)→RAωDf(A)X:→Tr⁡(Xω′)
— whuber

2
@Amoeba Dokładnie tak - dokładnie uzasadnia twierdzenia z pierwszego wiersza tej odpowiedzi. Właśnie dlatego napisałem „w tym sensie”, a później w streszczeniu użyłem wyrażenia „zdeterminowany przez” zamiast „równa się”. Nie zaprzeczę, że wyjaśnienie było trudne; Zastanowię się, jak to wyjaśnić i doceniam wszystkie komentarze i sugestie.
— whuber

1
@ user10324 Większość tego, co publikuję na tej stronie, to moje własne sformułowanie - rzadko korzystam ze źródeł (i dokumentuję je, kiedy to robię). Te posty są destylacją z czytania wielu książek i artykułów. Niektóre z najlepszych książek nie były tymi, które są całkowicie rygorystyczne matematycznie, ale które pięknie wyjaśniły i zilustrowały leżące u ich podstaw idee. Pierwszymi, które przychodzą na myśl - w kolejności złożoności - są Freedman, Pisani i Purves, Statistics (dowolne wydanie); Jack Kiefer, Wprowadzenie do wnioskowania statystycznego ; oraz Steven Shreve, Stochastic Calculus for Finance II .
— whuber

1
@ whuber W końcu rozumiem, jaka jest liniowa postać śladu. Przepraszam, że ponownie zadałem to samo pytanie w oddzielnych postach, gdy mogłem uważniej przeczytać twoje wyjaśnienie. Mam jeszcze jedno pytanie. Jeśli twoje równanie można zastosować do znalezienia pochodnych dowolnej funkcji macierzowej, czy ma taki sam wymiar jak ? Więc jeśli , to ? h x x ∈ R m × n h ∈ R m × nf(x+h)−f(x)=Lh+o(|h|)hxx∈Rm×nh∈Rm×n
— MoneyBall 31.01.17
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.