PCA, ICA i mapy własne Laplaciana

11

Pytanie

Jestem bardzo zainteresowany metodą Laplacian Eigenmaps. Obecnie używam go do redukcji wymiarów w moich zestawach danych medycznych.

Jednak natknąłem się na problem przy użyciu tej metody.

Na przykład mam pewne dane (sygnały widmowe) i mogę użyć PCA (lub ICA), aby uzyskać trochę komputerów (lub układów scalonych). Problem polega na tym, jak uzyskać podobne elementy o zmniejszonych wymiarach oryginalnych danych za pomocą LE?

Zgodnie z metodą Laplacian eigenmaps musimy rozwiązać uogólniony problem wartości własnych, to znaczy

L.y=λrey

Tutaj jest wektorem własnym. Jeśli wykreślę np. 3 najlepsze wektory własne (rozwiązanie według 3 wartości własnych), wyników nie da się zinterpretować.y

Jednak gdy wykreślę 3 najlepsze komputery osobiste i 3 najlepsze układy scalone, wyniki zawsze wydają się wyraźnie (wizualnie) reprezentować oryginalne dane .x

Zakładam, że powodem jest to, że macierz jest zdefiniowana przez macierz ciężaru (macierz adiakencji ), a dane zostały wyposażone w jądro ciepła, aby utworzyć , który wykorzystuje funkcję wykładniczą. Moje pytanie brzmi: jak uzyskać zredukowane składowe (nie wektor własny macierzy )?L.W.xW.xyL.


Dane

Mój zestaw danych jest ograniczony i nie jest łatwo zademonstrować problem. Tutaj stworzyłem problem z zabawką, aby pokazać, co miałem na myśli i o co chcę zapytać.

Proszę zobaczyć zdjęcie,

Najpierw tworzę niektóre sinusoidy A, B, C pokazane na czerwonych krzywych (pierwsza kolumna rysunku). A, B i C mają 1000 próbek, innymi słowy, zapisane w 1x1000 wektorów.

Po drugie, zmieszałem źródła A, B, C, używając losowo utworzonych kombinacji liniowych, np. , w których są wartościami losowymi. Mieszany sygnał znajduje się w przestrzeni o bardzo dużych wymiarach, np. , 1517 jest losowo wybraną przestrzenią o dużych wymiarach. Pokazuję tylko pierwsze trzy rzędy sygnału M na zielonych krzywych (druga kolumna rysunku).M.=r1ZA+r2)b+r3)dor1,r2),r3)M.M.R1517×1000

Następnie uruchamiam mapy własne PCA, ICA i Laplacian, aby uzyskać wyniki redukcji wymiarów. Zdecydowałem się na użycie 3 komputerów PC, 3 układów scalonych i 3 LE, aby dokonać uczciwego porównania (niebieskie krzywe pokazane odpowiednio jako 3, 4 i ostatnia kolumna rysunku).

Na podstawie wyników PCA i ICA (trzecia, czwarta kolumna rysunku) możemy zobaczyć, że możemy interpretować wyniki jako pewną redukcję wymiarów, tj. Dla wyników ICA możemy odzyskać zmiksowany sygnał przez M.=b1jado1+b2)jado2)+b3)jado3) (Nie jestem pewien, czy możemy również dostać M.=za1P.do1+za2)P.do2)+za3)P.do3) z wynikami PCA, ale wynik wydaje mi się całkiem odpowiedni).

Proszę jednak spojrzeć na wyniki LE, ledwo mogę zinterpretować wyniki (ostatnia kolumna rysunku). Wydaje się, że coś jest „nie tak” ze zredukowanymi komponentami. Chciałbym również wspomnieć, że ostatecznie wykres ostatniej kolumny jest wektorem własnymy we wzorze L.y=λrey

Czy ludzie mają więcej pomysłów?

Ryc. 1 z użyciem 12 najbliższych sąsiadów i sigma w jądrze grzewczym wynosi 0,5: Kolumny od lewej do prawej: sygnał oryginalny, sygnał mieszany, komputery PC, układy scalone, LE

Ryc. 2 z użyciem 1000 najbliższych sąsiadów i sigma w jądrze grzewczym wynosi 0,5: Kolumny od lewej do prawej: sygnał oryginalny, sygnał mieszany, komputery PC, układy scalone, LE

Kod źródłowy: kod Matlab z wymaganym pakietem

Samo Jerom
źródło
2
Co rozumiesz przez zredukowane składniki x? Czy chcesz powiedzieć, że osadzenie x w niskim wymiarze?
karawan
Brzmi interesująco. Czy mógłbyś podać bardziej szczegółowy opis tego, jak w rzeczywistości wyglądają twoje dane?
Placidia,

Odpowiedzi:

4

Odpowiedź na to pytanie jest przez mapowanie na dole strony 6 pierwotnego Laplace'a Eigenmaps papieru :

xja(fa1(ja),,fam(ja))

Na przykład osadzenie punktu x5 w, powiedzmy, najlepszych 2 „komponentach” podano przez (fa1(5),fa2)(5)) gdzie fa1 i fa2) to wektory własne odpowiadające dwóm najmniejszym niezerowym wartościom własnym z uogólnionego problemu wartości własnych L.fa=λrefa.

Należy zauważyć, że w przeciwieństwie do PCA uzyskanie osadzenia poza próbką nie jest proste. Innymi słowy, można uzyskać osadzenie punktu, który był już brany pod uwagę podczas obliczeńL., ale nie (łatwo), jeśli jest to nowy punkt. Jeśli chcesz to zrobić, poszukaj tego artykułu .

Shantanu
źródło
Jestem trochę zdezorientowany co do tego, co uważasz za swoje zmienne. Z tego co rozumiem, twoja matrycaM.składa się z 1517 próbek z 1000-wymiarowej przestrzeni. Kiedy wykonujesz PCA (lub ICA) na tej macierzy, możesz całkiem dobrze odzyskać leżące u podstaw tryby wariacji: na przykład w kolumnie 3 na twoich rysunkach wiersz 1,2,3 odpowiada zasadom C, A, B odpowiednio. To ma sens. Jednak w kodzie podczas wykonywania LEM wywołujesz tę funkcjęM.T.( mixedSignal'), co nie jest zgodne z powyższym.
Shantanu
Najpierw w macierzy M., jakie masz zmienne i jakie są twoje obserwacje? Po drugie, z analizy wynika, że ​​nie tylko szukasz osadzeniaM.używając LEM, ale także ekwiwalentu wektorów własnych jak w PCA, prawda? Nie możesz tego zrobić LEM, przynajmniej nie łatwo. Przeczytaj ten artykuł, aby zrozumieć, dlaczego.
Shantanu
Jeśli wszystko, czego szukasz, to osadzanie, to łatwo daje to mapowanie xja(fa1(ja),,fam(ja)). Poszukaj mojej odpowiedzi, by poznać szczegóły. W kodzie zmień wiersz 47 i użyj mixedSignalzamiast jego transpozycji; wynik mappedXda ci trójwymiarowe osadzenie twoich 1517 punktów.
Shantanu
PS: Powyżej miałem na myśli „Nie możesz tego zrobić za pomocą LEM, przynajmniej nie łatwo”.
Shantanu
1

W przeciwieństwie do PCA-Laplacian mapy własne wykorzystują uogólnione wektory własne odpowiadające najmniejszym wartościom własnym. Pomija wektor własny o najmniejszej wartości własnej (może wynosić zero) i wykorzystuje wektory własne odpowiadające kolejnym kilku najmniejszym wartościom własnym. PCA jest maksymalnym wariantem zachowującym osadzanie za pomocą matrycy jądra / gram. Laplacian Eigenmaps stanowi problem minimalizacji w odniesieniu do kombinatorycznego wykresu laplacian (patrz artykuły Trosset).

karawan
źródło
Wszystkich zainteresowanych proszę ponownie spojrzeć na moje pytanie. Podam kilka przykładów. Dziękuję bardzo.
Samo Jerom,