Czytałem o rozkładzie wartości pojedynczej (SVD). W prawie wszystkich podręcznikach wspomniano, że rozkłada macierz na trzy macierze o podanej specyfikacji.
Ale jaka jest intuicja dzielenia macierzy w takiej formie? PCA i inne algorytmy redukcji wymiarów są intuicyjne w tym sensie, że algorytm ma ładną właściwość wizualizacji, ale w przypadku SVD tak nie jest.
matrix
linear-algebra
svd
intuition
SHASHANK GUPTA
źródło
źródło
Odpowiedzi:
Zapisz SVD macierzy (rzeczywistej, n × p ) jako X = U D V T, gdzie U to n × p , D to przekątna p × p, a V T to p × p . Jeśli chodzi o kolumny macierzy U i V , możemy napisać X = ∑ p i = 1 d i u i v T iX n×p
Pomyśl teraz o jako zawierającym wartości w skali szarości czarno-białego obrazu, każdy wpis w macierzy reprezentuje jeden piksel. Na przykład następujące zdjęcie pawiana:X
Następnie wczytaj ten obraz do R i pobierz część macierzową wynikowej struktury, być może używając biblioteki
pixmap
.Jeśli potrzebujesz przewodnika krok po kroku, jak odtworzyć wyniki, możesz znaleźć kod tutaj .
Oblicz SVD:
w wyniku czego powstają następujące dwa obrazy:
Po lewej stronie możemy łatwo zobaczyć pionowe / poziome paski na obrazie rangi 1.
Co jest dość interesujące: widzimy fragmenty oryginalnego obrazu, które trudno jest przedstawić jako superpozycję pionowych / poziomych linii, głównie ukośne włosy na nosie i trochę tekstury oraz oczy!
źródło
Niech (więc określa moc wybuchową w kierunku ). Załóżmy, że wektory jednostkowe są zdefiniowane tak, że Równania (2) można wyrazić zwięźle za pomocą notacji macierzowej jako gdzie jest macierzą , której ta kolumna to , jest macierzą , której kolumna to , aσi=∥Avi∥2 σi A vi ui Avi=σiuifor i=1,…,n.(2) AV=UΣ,(3) V n×n i vi U m×n i ui Σ jest macierzą diagonalną, której tym wpisem jest . Macierz jest ortogonalna, więc możemy pomnożyć obie strony (3) przez aby otrzymać
Może się wydawać, że wyprowadziliśmy SVD z przy prawie zerowym wysiłku. Żaden z dotychczasowych kroków nie był trudny. Brakuje jednak kluczowego fragmentu obrazu - nie wiemy jeszcze, że jest ortogonalny.n×n i σi V VT A=UΣVT. A U
Oto kluczowy fakt, brakujący element: okazuje się, że jest prostopadła do : Twierdzę, że jeśli to nie była prawda, to nie byłoby optymalne dla problemu (1). Rzeczywiście, jeśli (4) nie byłby spełniony, wówczas można by ulepszyć , zaburzając go nieco w kierunku .Av1 Av2 ⟨Av1,Av2⟩=0.(4) v1 v1 v2
Załóżmy (dla sprzeczności), że (4) nie jest spełniony. Jeśli jest lekko zaburzone w kierunku ortogonalnym , norma się nie zmienia (lub przynajmniej zmiana normy jest nieistotna). Kiedy chodzę po powierzchni ziemi, moja odległość od jej środka nie zmienia się. Jednakże, gdy jest zaburzone w kierunku , wektor jest zaburzony w nieortogonalnym kierunku , a zatem zmiana normy jest nieistotna . Normav1 v2 v1 v1 v1 v2 Av1 Av2 Av1 Av1 można zwiększyć o nie mniej znaczącą kwotę. Oznacza to, że nie jest optymalny dla problemu (1), co jest sprzecznością. Podoba mi się ten argument, ponieważ: 1) intuicja jest bardzo jasna; 2) intuicję można przekształcić bezpośrednio w rygorystyczny dowód.v1
Podobny argument pokazuje, że jest ortogonalny zarówno dla i i tak dalej. Wektory są parami ortogonalne. Oznacza to, że wektory jednostkowe mogą być wybrane jako pary ortogonalne, co oznacza, że macierz powyżej jest macierzą ortogonalną. To kończy nasze odkrycie SVD.Av3 Av1 Av2 Av1,…,Avn u1,…,un U
Aby przekonwertować powyższy intuicyjny argument na rygorystyczny dowód, musimy skonfrontować fakt, że jeśli jest zakłócony w kierunku , zaburzony wektor nie jest w rzeczywistości wektorem jednostkowym. (Jego normą jest .) Aby uzyskać dokładny dowód, zdefiniuj Wektor jest naprawdę wektorem jednostkowym. Ale jak można łatwo wykazać, jeśli (4) nie jest spełniony, to dla wystarczająco małych wartości mamy (przy założeniu, że znakv1 v2 v~1=v1+ϵv2 1+ϵ2−−−−−√ v¯1(ϵ)=1−ϵ2−−−−−√v1+ϵv2. v¯1(ϵ) ϵ f(ϵ)=∥Av¯1(ϵ)∥22>∥Av1∥22 ϵ jest wybrany poprawnie). Aby to pokazać, po prostu sprawdź, czy . Oznacza to, że nie jest optymalny dla problemu (1), co jest sprzecznością.f′(0)≠0 v1
(Nawiasem mówiąc, polecam czytanie wyjaśnienie Qiaochu juana z SVD tutaj . W szczególności przyjrzeć się „Key lemat # 1”, czyli to, co omówiono powyżej. Jak mówi Qiaochu, klucz lemat nr 1 to „serce techniczny o rozkładzie pojedynczej wartości ”.)
źródło
Koleś, poświęć godzinę dnia i obejrzyj ten wykład: https://www.youtube.com/watch?v=EokL7E6o1AE
Ten facet jest bardzo bezpośredni, ważne jest, aby nie pominąć żadnego z nich, ponieważ w końcu wszystko się łączy. Nawet jeśli na początku może się to wydawać trochę powolne, próbuje określić punkt krytyczny, co robi!
Podsumuję to dla ciebie, zamiast po prostu dać ci trzy matryce, które wszyscy robią (ponieważ to mnie pomyliło, gdy przeczytałem inne opisy). Skąd się biorą te matryce i dlaczego tak to konfigurujemy? Wykład to gwoździe! Każdą macierz (kiedykolwiek w historii wieczności) można zbudować z macierzy podstawowej o tych samych wymiarach, a następnie obrócić ją i rozciągnąć (jest to podstawowe twierdzenie algebry liniowej). Każda z tych trzech matryc, którymi ludzie się rzucają, reprezentuje macierz początkową (U), macierz skalowania A (sigma) i macierz obrotu (V).
Macierz skalowania pokazuje, które wektory obrotu dominują, są to tak zwane wartości osobliwe. Rozkład rozwiązuje się dla U, sigma i V.
źródło