Próbkowanie z wielowymiarowego Gaussa z grafem kowariancji Laplaciana (odwrotna)

12

Wiemy np. Z Koutis-Miller-Peng (na podstawie pracy Spielmana i Tenga), że możemy bardzo szybko rozwiązać układy liniowe dla macierzy które są wykresem macierzy Laplaciana dla niektórych rzadkich wykresów z nieujemnymi wagami krawędzi .Ax=bA

Teraz (pierwsze pytanie) rozważ użycie jednej z tych grafów macierzy Laplaciana jako kowariancji lub (drugie pytanie) odwrotnej macierzy kowariancji o zerowym średnim wielowymiarowym rozkładzie normalnym \ mathcal {N} (\ boldsymbol {0}, A) lub \ mathcal {N} (\ boldsymbol {0}, A ^ {- 1}) . W każdym z tych przypadków mam dwa pytania:AN(0,A)N(0,A1)

A. Jak skutecznie możemy pobrać próbkę z tej dystrybucji? (Zazwyczaj w celu narysowania próbki obliczamy rozkład Cholesky'ego A=LLT , rysujemy standardowy normalny yN(0,I) , a następnie obliczamy próbkę jako x=L1y ).

B. Jak skutecznie możemy obliczyć wyznacznik A ?

Zauważ, że oba z nich można łatwo rozwiązać, biorąc pod uwagę rozkład Cholesky'ego, ale nie widzę od razu, jak wyodrębnić L bardziej wydajnie niż po prostu za pomocą standardowego rzadkiego algorytmu Cholesky'ego, który nie użyłby technik przedstawionych w wyżej wspomnianym działa i który miałby złożoność sześcienną dla wykresów rzadkich, ale wysokich.

dan_x
źródło
Myślę, że może być nieco bardziej szczegółowe określenie tego, co w obu przypadkach można uznać za „wydajne”. Czy „efektywny” jest tym samym, co „nie zależy od rozkładu Choleskiego”?
Suresh Venkat
Dzieki za sugestie. Możliwe, że odpowiedź na wszystkie pytania brzmi: „musisz obliczyć rozkład Choleskiego i nie ma struktury, którą można by wykorzystać poza rzadkością matrycy”. Chciałbym wiedzieć, czy to prawda (ale mam nadzieję, że tak nie jest). W odniesieniu do „wydajnie” w ostatnim akapicie, tak, mam na myśli przede wszystkim bardziej efektywnie niż standardowe rzadkie algorytmy Choleskiego. Chociaż gdyby istniał sposób wykorzystania technik powyższej pracy, aby obliczyć Cholesky równie szybko, jak można to zrobić za pomocą innych środków, byłoby to również interesujące.
dan_x
Jeśli chcesz próbkować z , możesz użyć tego , gdzie jest macierzą padania wykresu. W ten sposób można próbki ze standardowej krzywej Gaussa na ( są krawędziami) i stosuje się do transformacji liniowej . Nie wiem, jak to porównać z poniższymi sugestiami, ale nie trzeba obliczać rozkładu Choleskiego. N(0,A)A=BTBBREEB
Lorenzo Najt,

Odpowiedzi:

3

Istnieją tutaj dwa osobne problemy.

  1. Jak stosować wydajne solwery dla , aby zastosować .Ax=bA1/2b
  2. Jak obliczyć wyznacznik.

Krótkie odpowiedzi to 1) użyj przybliżeń funkcji racjonalnej macierzy i 2) nie musisz, ale i tak nie musisz. Obie te kwestie omawiam poniżej.

Przybliżenia pierwiastka kwadratowego macierzy

Chodzi tutaj o konwersję aproksymacji funkcji wymiernej dla funkcji skalarnych na aproksymację funkcji wymiernej dla funkcji macierzowych.

Wiemy, że istnieją funkcje wymierne, które mogą bardzo dobrze przybliżać funkcję pierwiastka kwadratowego, dla pozytywnego . Rzeczywiście, aby uzyskać wysoką dokładność w przedziale , potrzebujesz wyrażeń w serii. Aby uzyskać odpowiednie wagi ( ) i bieguny ( ), po prostu wyszukaj racjonalne przybliżenie funkcji online lub w książce.

xr(x):=a1x+b1+a2x+b2++aNx+bN,
bi[m,M]O(logMm)aibi

Rozważmy teraz zastosowanie tej funkcji wymiernej do macierzy:

r(A)=a1(A+b1I)1+a2(A+b2I)1++aN(A+bNI)1.

Dzięki symetrii mamy , gdzie to wartości rozkład pojedyncza (SVD) z . Tak więc jakość aproksymacji racjonalnej macierzy jest równoważna jakości aproksymacji funkcji racjonalnej w miejscu wartości własnych.A

||A1/2r(A)||2=||U(Σ1/2r(Σ))U||2,=maxi|σir(σi)|
A=UΣUA

Oznaczając numer warunku przez , możemy zastosować do dowolnej pożądanej tolerancji, wykonując dodatnio przesunięte graficznie rozwiązania Laplaciana formy, AκA1/2bO(logκ)

(A+bI)x=b.

Rozwiązania te można wykonać za pomocą twojego ulubionego solvera Laplaciana - wolę techniki typu wielosiatkowego, ale ta w cytowanej przez ciebie pracy również powinna być w porządku. Dodatkowe pomaga tylko konwergencji solvera.bI

Aby uzyskać doskonały artykuł na ten temat, a także bardziej ogólne techniki analizy złożonej, które mają zastosowanie do macierzy niesymetrycznych, zobacz Obliczanie , i pokrewne funkcje macierzy przez całki konturuAαlog(A) , Hale, Higham i Trefethen (2008 ).

Determinant „obliczenia”

Wyznacznik jest trudniejszy do obliczenia. O ile mi wiadomo, najlepszym sposobem jest obliczenie rozkładu Schura za pomocą algorytmu QR, a następnie odczytanie wartości własnych z przekątnej macierzy górnego trójkąta . Zajmuje to czas , gdzie jest liczbą węzłów na wykresie.A=QUQUO(n3)n

Jednak obliczanie wyznaczników jest z natury źle uwarunkowanym problemem, więc jeśli kiedykolwiek przeczytasz artykuł, który opiera się na obliczaniu wyznaczników dużej macierzy, powinieneś być bardzo sceptyczny wobec tej metody.

Na szczęście prawdopodobnie nie potrzebujesz wyznacznika. Na przykład,

  • Aby narysować próbki z pojedynczego rozkładu Gaussa , stała normalizacji jest taka sama we wszystkich punktach, więc nigdy nie trzeba jej obliczać.N(0,A1)
  • Jeśli macierz Laplaciana reprezentuje odwrotną kowariancję lokalnego przybliżenia Gaussa w punkcie do rozkładu innego niż gaussowski, to wyznacznik rzeczywiście zmienia się z punktu do punktu. Jednak w każdym skutecznym schemacie próbkowania, jaki znam (w tym łańcuch Markowa Monte Carlo, ważność próbkowania itp.), Tak naprawdę potrzebny jest współczynnik determinujący , gdzie to bieżący punkt, a to proponowana następna próbka.A=Axx
    det(Ax01Axp),
    x0xp

Możemy postrzegać jako niskopoziomową aktualizację tożsamości, gdzie efektywna liczba rank, , aktualizacji niskiego poziomu jest lokalną miarą tego, jak prawdziwy rozkład niegaussowski; zazwyczaj jest to znacznie niższa niż pełna ranga matrycy. Rzeczywiście, jeśli jest duży, to prawdziwy rozkład jest lokalnie tak niegaussowski, że należy kwestionować całą strategię próbkowania tego rozkładu przy użyciu lokalnych przybliżeń Gaussa.Ax01Axp

Ax01Axp=I+QDQ,
rr

Czynniki niskiego rzędu i można znaleźć w randomizowanym SVD lub Lanczos, stosując macierz do różnych wektorów, z których każde zastosowanie wymaga jednego wykresu Rozwiązanie Laplaciana. Zatem ogólna praca na rzecz uzyskania tych czynników niskiej rangi wynosi .QD

Ax01AxpI
O(r)O(rmax(n,E))

Znając , wyznacznikiem jest następnie D=diag(d1,d2,,dr)

det(Ax01Axp)=det(I+QDQ)=exp(i=1rlogdi).

Te techniki obliczania racji wyznaczników niskiej rangi można znaleźć w Stochastycznej metodzie Newtona MCMC dla wielkoskalowych statystycznych odwrotnych problemów z zastosowaniem do inwersji sejsmicznej , Martin, i in. (2012). W tym artykule jest on stosowany do problemów z kontinuum, więc „wykres” jest siatką w przestrzeni 3D, a wykres Laplacian jest rzeczywistą macierzą Laplacian. Jednak wszystkie techniki mają zastosowanie do grafów Laplaciana. Prawdopodobnie są już inne artykuły stosujące tę technikę do ogólnych wykresów (rozszerzenie jest trywialne i zasadniczo to, co właśnie napisałem).

Nick Alger
źródło