Losowe macierze z ograniczeniami długości wierszy i kolumn


25

Muszę wygenerować losowe macierze nie kwadratowe z wierszami i kolumnami C , elementy losowo rozmieszczone ze średnią = 0 i ograniczone tak, że długość (norma L2) każdego wiersza wynosi 1, a długość każdej kolumny wynosi RC1 . Odpowiednio suma wartości kwadratowych wynosi 1 dla każdego wiersza iR.RCRC dla każdej kolumny.

Do tej pory znalazłem jeden sposób, aby to osiągnąć: po prostu zainicjuj elementy macierzy losowo (np. Z rozkładu równomiernego, normalnego lub laplace'a z zerową średnią i dowolną wariancją), a następnie naprzemiennie normalizuj wiersze i kolumny, aby , kończąc na normalizacji wiersza. Wydaje się, że dość szybko zbliża się do pożądanego wyniku (np. Dla R = 40 i C = 80 , wariancja długości kolumny wynosi zwykle ~ 0,00001 po 2 iteracjach), ale nie jestem pewien, czy mogę polegać na tym szybkim współczynniku zbieżności w ogólne (dla różnych wymiarów macierzy i początkowych rozkładów elementów).length=1R=40C=80 0.000012

Moje pytanie brzmi: czy istnieje sposób na osiągnięcie pożądanego rezultatu ( , c o l u m n l e n g t h s = row lengths=1 ) bezpośrednio, bez iteracji między normalizacją wiersza / kolumny? Np. Algorytm normalizujący losowy wektor (inicjowanie elementów losowo, pomiar sumy wartości kwadratowych, a następnie skalowanie każdego elementu za pomocą wspólnego skalara). Jeśli nie, to czy istnieje prosta charakterystyka współczynnika konwergencji (np. Liczba iteracji aż do błędu<ϵ) metody iteracyjnej opisanej powyżej?column lminsolths=Rdo<ϵ


1
Jest to dość podobne do algorytmu Sinkhorn-Knopp, znanego również jako iteracyjne dopasowanie proporcjonalne.
kardynał

6
Powinieneś także zdefiniować, co rozumiesz przez „losowe” macierze. Na przykład opisana procedura (prawie bez wątpienia) nie wytworzy losowo macierzy jednorodnie w pożądanej przestrzeni.
kardynał

1
@cardinal Dobra uwaga. Należy jednak pamiętać, że można uzyskać co najmniej identyczne (marginalne) rozkłady dla wszystkich składników, mnożąc po przez parę losowych macierzy permutacji (aby losowo rozmieścić zarówno wiersze, jak i kolumny).
whuber

1
@whuber: Tak, chociaż wspólna dystrybucja może być nadal dość dziwna. Przez „mnożenie po” zakładam, że masz na myśli mnożenie po lewej i prawej „po zbieżności” (zamiast np. Mnożenie po prawej).
kardynał

9
Właściwie, po krótkiej przemyśleniu, myślę, że algorytm jest dokładnie algorytmem Sinkhorn-Knopp z bardzo niewielką modyfikacją. Niech będzie twoją oryginalną macierzą, a Y niech będzie macierzą tego samego rozmiaru, tak że Y i j = X 2 i j . Następnie algorytmu jest równoważne zastosowaniu Sinkhorn-Knopp do Y , w którym w ostatnim kroku odzyskania pożądanego kształtu poprzez X i J = y g n ( X i j ) XYYjajot=Xjajot2)Y . Sinkhorn-Knopp gwarantuje zbieganie się, z wyjątkiem dość patologicznych okoliczności. Czytanie tego powinno być bardzo pomocne. X^jajot=ssoln(Xjajot)Yjajot
kardynał

Odpowiedzi:


6

Jak powiedział @cardinal w komentarzu:

Właściwie, po krótkiej przemyśleniu, myślę, że algorytm jest dokładnie algorytmem Sinkhorn-Knopp z bardzo niewielką modyfikacją. Niech X będzie twoją oryginalną macierzą, a Y niech będzie macierzą tego samego rozmiaru, tak że Y i j = X 2 i j . Następnie algorytmu jest równoważne zastosowaniu Sinkhorn-Knopp do Y , w którym w ostatnim kroku odzyskania pożądanego kształtu poprzez X i J = y g n ( X i j ) XYYjajot=Xjajot2)YX^jajot=ssoln(Xjajot)Yjajot

... wydaje się, że iteracyjny algorytm, który zasugerowałem w pierwotnym pytaniu, jest bardzo podobny do algorytmu Sinkhorn-Knopp. Co ciekawe, wydaje się również bardzo podobny do iteracyjnego dopasowania proporcjonalnego (IPF), które, jak opisano na stronie wikipedii IPF, jest związane z metodą Newtona i maksymalizacją oczekiwań (wszystkie mają ten sam limit).

Te metody iteracyjne są często stosowane do problemów, które nie mają rozwiązania w formie zamkniętej, więc wstępnie założę, że odpowiedź na pytanie jest przecząca: nie ma sposobu na osiągnięcie pożądanego rozwiązania bez iteracji wierszy / kolumn.


(+1) Za ciągłe zainteresowanie tym pytaniem i niezależne działania następcze. :-)
kardynał
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.