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?

MoneyBall
źródło
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 CABACAm×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 NR M x R N D f ( x ) : R NR M M × NAAf:RNRMxRNDf(x):RNRMM×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(ABAC)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ωATr(Aω)ATr(ω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 .hRNf(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(ABAC)=Tr(hBAC)+Tr(ABhC)+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)ω=BACTr(XhC)X=AB

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

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

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

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

Df(A)=(BAC)+CAB=CAB+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(ABAC)hm×n(3)

f(A+h)f(A)=Tr(hBAC)+Tr(ABhC)+o(|h|)=Tr(h(CAB)+(CAB)h)+o(|h|),
f
CAB+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.

Whuber
źródło
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|)hxxRm×nhRm×n
MoneyBall 31.01.17