Czy redukcja wymiarów zawsze traci jakieś informacje?

10

Jak mówi tytuł, czy redukcja wymiarów zawsze traci jakieś informacje? Rozważ na przykład PCA. Jeśli dane, które posiadam, są bardzo rzadkie, zakładam, że można znaleźć „lepsze kodowanie” (czy jest to w jakiś sposób związane z rangą danych?) I nic by nie zostało utracone.

pełen zdumienia
źródło
7
Nie, oczywiście, że nie: niektóre z pojedynczych wartości w PCA mogą być na przykład prawdziwymi zerami. Jest to mniej związane z „rzadkością” danych niż z tym, czy „wypełniają” wymiary użyte do ich zarejestrowania.
whuber
1
Dobra, widzę. Czy możesz napisać komentarz jako krótką odpowiedź (może nawet z małym przykładem, jeśli masz czas)?
zastanawiasz się
1
Rozważ przypadek, w którym masz dane dwuwymiarowe, gdzie wartość y dla każdego punktu wynosi „0”. Pierwszym podstawowym składnikiem będzie oś X i nic nie stracisz, rzutując swoje dane do tego jednego wymiaru, ponieważ jest to już właściwie jeden wymiar.
David Marx

Odpowiedzi:

9

Redukcja wymiarów nie zawsze powoduje utratę informacji. W niektórych przypadkach możliwe jest ponowne przedstawienie danych w przestrzeniach o niższych wymiarach bez odrzucania jakichkolwiek informacji.

Załóżmy, że masz jakieś dane, w których każda zmierzona wartość jest powiązana z dwoma uporządkowanymi współzmiennych. Na przykład załóżmy, że zmierzona jakość sygnału (oznaczone przez kolor biały, czarny = dobra = zły) na gęstej siatce x i y pozycji w stosunku do niektórych emitera. W takim przypadku dane mogą wyglądać podobnie do wykresu po lewej stronie [* 1]:Qxy

demo uśredniania radialnego

Jest to, przynajmniej powierzchownie, dwuwymiarowy kawałek danych: . Możemy jednak poznać a priori (w oparciu o leżącą u podstaw fizykę) lub założyć, że zależy to tylko od odległości od źródła: r = Q(x,y) . (Niektóre analizy eksploracyjne mogą również doprowadzić do tego wniosku, jeśli nawet podstawowe zjawisko nie jest dobrze zrozumiane). Możemy wtedy przepisać nasze dane jakoQ(x2)+y2) zamiast Q ( x , y ) , co skutecznie zredukuje wymiarowość do jednego wymiaru. Oczywiście jest to bezstratne tylko wtedy, gdy dane są promieniowo symetryczne, ale jest to rozsądne założenie dla wielu zjawisk fizycznych.Q(r)Q(x,y)

Ta transformacja jest nieliniowa (jest pierwiastek kwadratowy i dwa kwadraty!), Więc nieco różni się od rodzaju redukcji wymiarów wykonywanej przez PCA, ale myślę, że to dobry przykład o tym, jak możesz czasami usunąć wymiar bez utraty jakichkolwiek informacji.Q(x,y)Q(r)

Na przykład załóżmy, że dokonujesz dekompozycji pojedynczej wartości na niektórych danych (SVD jest bliskim kuzynem - i często leżącym u podstaw - analizą głównych składników). SVD zajmuje swoje dane macierzy i współczynniki na trzy macierze takie, że K = U S V , T . Kolumny z U i V są po lewej i prawej, odpowiednio, pojedyncze wektory, które tworzą zestaw ortonormalnych podstaw M . Ukośne elementy S (tj. S i , i ) są wartościami osobliwymi, które są efektywnie wagami na podstawie i zestawu zasad utworzonego przez odpowiednie kolumny U iM.M.=US.V.T.M.S.S.ja,ja)jaU (reszta S to zera). Samo w sobie nie daje to żadnej redukcji wymiarów (w rzeczywistości istnieją teraz 3 N x M , więc można je upuścić. Załóżmy na przykład, że Q ( x , y )V.S. macierzy zamiast pojedynczejmacierzy N x N , od której zacząłeś). Czasami jednak niektóre ukośne elementy S są zerowe. Oznacza to, że odpowiednie bazy w U i V nie są potrzebne do rekonstrukcjiN.xN.N.xN.S.UV.M.Q(x,y)powyższa matryca zawiera 10 000 elementów (tj. 100 x 100). Kiedy wykonujemy na nim SVD, okazuje się, że tylko jedna para wektorów pojedynczych ma wartość niezerową [* 2], więc możemy ponownie przedstawić oryginalną macierz jako iloczyn dwóch 100 wektorów elementów (200 współczynników, ale możesz zrobić trochę lepiej [* 3]).

W przypadku niektórych aplikacji wiemy (lub przynajmniej zakładamy), że przydatne informacje są przechwytywane przez główne komponenty o wysokich wartościach pojedynczych (SVD) lub ładunkach (PCA). W takich przypadkach możemy odrzucić pojedyncze wektory / zasady / główne składniki o mniejszych obciążeniach, nawet jeśli nie są zerowe, na podstawie teorii, że zawierają one irytujący szum, a nie przydatny sygnał. Od czasu do czasu widziałem, jak ludzie odrzucają określone komponenty na podstawie ich kształtu (np. Przypomina znane źródło dodatkowego hałasu) niezależnie od obciążenia. Nie jestem pewien, czy uważasz to za utratę informacji, czy nie.

Istnieją pewne dobre wyniki dotyczące optymistycznej dla PCA teorii informacji. Jeśli twój sygnał jest gaussowski i jest zepsuty addytywnym szumem gaussowskim, to PCA może zmaksymalizować wzajemną informację między sygnałem a jego wersją o zmniejszonej wymiarowości (zakładając, że szum ma podobną do tożsamości strukturę kowariancji).


Przypisy:

  1. To tandetny i całkowicie niefizyczny model. Przepraszam!
  2. Z powodu niedokładności zmiennoprzecinkowej niektóre z tych wartości będą niezupełnie zerowe.
  3. Przy dalszej inspekcji, w tym konkretnym przypadku , dwa osobliwe wektory są takie same ORAZ symetryczne względem ich środka, więc moglibyśmy faktycznie przedstawić całą macierz z jedynie 50 współczynnikami. Zauważ, że pierwszy krok automatycznie wypada z procesu SVD; drugi wymaga pewnej kontroli / skoku wiary. (Jeśli chcesz o tym pomyśleć w kategoriach wyników PCA, macierz wyników to po prostu US. z pierwotnego rozkładu SVD; podobne argumenty o zerach, które w ogóle nie mają wpływu).
Matt Krause
źródło
ja(r)
W szczególności zwróć uwagę na to r=(x2)+y2))
1
Matt, moje pytanie naprawdę sprowadzało się do tego: pokazujesz nam zdjęcie bez opisu lub odniesienia i nazywasz je „danymi”: Chciałbym wiedzieć, w jakim sensie myślisz o tym jako o danych. Twój komentarz myli ten problem, ponieważ reprezentacja „mapy cieplnej” zwykle nie jest danymi, ale jest czymś utworzonym z danych. Gdyby na przykład były to nieregularne dane punktowe 2D i dopasowałeś do nich promieniowo symetryczną gęstość, obraz mógłby być interpretowany jako jednowymiarowy, jak argumentujesz, ale nie byłby to bezstratny spadek wymiarów danych .
whuber
1
Być może powinienem zamiast tego powiedzieć „kratka” lub „raster”. Wyobraziłem sobie sytuację, w której dane są gromadzone na siatce, a każdy punkt siatki jest powiązany z wartością (skalarną), ale wartości te niekoniecznie są natężeniem światła jak na zdjęciu (fotograficznym). To powiedziawszy, najwyraźniej nie podoba mi się ta odpowiedź - pozwól mi spróbować edytować ją w coś bardziej spójnego!
Matt Krause,
2
+1: zmiany sprawiają, że twoje punkty są znacznie wyraźniejsze. Dzięki za dodatkowy wysiłek!
whuber
4

Myślę, że pytanie, które kryje się za twoim pytaniem, brzmi „co tworzy informacje?”. To dobre pytanie.

Gramatyka:

Czy PCA zawsze traci informacje? Nie. Czy to czasem traci informacje? Youbetcha. Możesz zrekonstruować oryginalne dane z komponentów. Gdyby zawsze gubił informacje, nie byłoby to możliwe.

Jest przydatny, ponieważ często nie traci ważnych informacji, gdy używasz go do zmniejszenia wymiarów danych. Kiedy tracisz dane, często są to dane o wyższej częstotliwości i często jest to mniej ważne. Ogólne trendy na dużą skalę są ujmowane w komponentach związanych z większymi wartościami własnymi.

EngrStudent
źródło
4

n×p macierzy jest funkcją innych wymiarów, odpowiednia technika redukcji wymiarów nie utraci żadnych informacji.

W najprostszym przypadku, jeśli jeden wymiar jest liniową kombinacją pozostałych, zmniejszenie wymiaru o jeden można osiągnąć bez utraty jakichkolwiek informacji - ponieważ upuszczony wymiar można odtworzyć w razie potrzeby z tego, co pozostało.

Rozważ ten trójwymiarowy przypadek, w którym x3 jest dokładną liniową kombinacją x1 i x2. Nie jest oczywiste, że przyglądamy się oryginalnym danym, chociaż jasne jest, że x3 jest powiązany z dwoma pozostałymi:

wprowadź opis zdjęcia tutaj

Ale jeśli spojrzymy na główne składniki, trzeci wynosi zero (w ramach błędu numerycznego).

wprowadź opis zdjęcia tutaj

Wykres dwóch pierwszych głównych składników jest taki sam jak wykres x1 względem x2, po prostu obrócony (ok, nie tak oczywiste, miałem na myśli, postaram się lepiej wyjaśnić później) :

wprowadź opis zdjęcia tutaj

Zmniejszyliśmy wymiar o jeden, ale zachowaliśmy wszystkie informacje, według dowolnej rozsądnej definicji.

Wykracza to również poza liniową redukcję wymiarów, choć oczywiście staje się bardziej skomplikowane do zilustrowania. Chodzi o to, że ogólna odpowiedź brzmi „nie”, a nie wtedy, gdy niektóre wymiary są funkcją kombinacji innych.

Kod R:

library(GGally)


n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))
Peter Ellis
źródło