Być może coś mi brakuje, więc popraw mnie, jeśli się mylę, ale powinno być możliwe (przynajmniej w zasadzie) skonstruowanie tego, co dzieje się w PCA przy użyciu macierzy jako (skomplikowanego) problemu programowania liniowego, ale nie wiedzieć, jak określić wszystkie wymagane ograniczenia. Nie jestem też pewien, czy byłoby to bardzo proste w porównaniu do zwykłego korzystania z PCA. Dlaczego starasz się unikać matryc?
Chris Simokat
@Chris Nie rozumiem, jak można dostać się do problemu programowania liniowego. Nie rozumiałem też, że w obliczeniach należy unikać macierzy . Pytanie dotyczyło tego, jaki problem rozwiązuje PCA, a nie sposób, w jaki jest on wykonywany (na przykład przez obliczenie SVD). Rozwiązanie kardynała mówi, że znajdujesz kolejne ortogonalne kierunki maksymalnej wariancji . Rozwiązanie, które przedstawiłem, mówi, że znajdujesz hiperpłaszczyzny z minimalnym błędem rekonstrukcji.
NRH
@chris Mam nadzieję znaleźć inny sposób, aby zobaczyć PCA, bez algebry macierzy, aby zwiększyć moje rozumienie tego.
Neil McGuigan
1
@Chris masz funkcji kwadratowej obiektywnej oraz ℓ2 równości normą ograniczenie. Alternatywnie, na podstawie sformułowania w odpowiedzi @ NRH, masz ograniczenie macierzy rangi. To nie doprowadzi do problemu programowania liniowego. @NRH daje dobrą intuicję, a w rzeczywistości istnieje bardzo ścisły związek między dwiema przedstawionymi perspektywami PCA. Być może we współpracy z @NRH możemy dodać to do jego postu, aby pełny zestaw odpowiedzi był bardziej kompletny.
kardynał
1
@NRH, Właściwie bardzo lubię ESL , ale myślę, że traktowanie tego tematu jest dość powierzchowne, tak jak w przypadku wielu tematów w książce. W szczególności nie dowodzą (ani nawet nie przypisują jako ćwiczenia) ważnej części rozwiązania problemu optymalizacji, który dajesz.
kardynał
Odpowiedzi:
41
Bez próby uzyskania pełnego startera na PCA, z punktu widzenia optymalizacji, podstawową funkcją celu jest iloraz Rayleigha . Macierz, która zawiera iloraz, to (pewna wielokrotność) przykładowa macierz kowariancji
w którym każdy jest wektorem funkcji i jest taki, że matryca ty rząd jest .xipXix T i
S=1n∑i=1nxixTi=XTX/n
xipXixTi
PCA dąży do rozwiązania sekwencji problemów optymalizacyjnych. Pierwszym w sekwencji jest nieograniczony problem
maximizeuTSuuTu,u∈Rp.
Ponieważ, powyższy nieograniczony problem jest równoważny ograniczonemu problemowi
uTu=∥u∥22=∥u∥∥u∥
maximizesubject touTSuuTu=1.
Tutaj pojawia się algebra macierzy. Ponieważ jest symetryczną dodatnią macierzą półfinałową (z konstrukcji!), Ma rozkład wartości własnej postaci
gdzie jest macierz ortogonalna (więc ) i jest macierzą diagonalną z nieujemnymi wpisami przykład .S
S=QΛQT,
QQQT=IΛλiλ1≥λ2≥⋯≥λp≥0
Stąd, . Ponieważ jest ograniczony w tym problemie, aby mieć normę jeden, tak też jest ponieważ , ponieważ jest ortogonalny.uTSu=uTQΛQTu=wTΛw=∑pi=1λiw2iuw∥w∥2=∥QTu∥2=∥u∥2=1Q
Ale jeśli chcemy zmaksymalizować ilość pod ograniczeniami, że , to co możemy zrobić, to: ustaw , to znaczy i dla .∑pi=1λiw2i∑pi=1w2i=1w=e1w1=1wi=0i>1
Teraz, wycofując odpowiednie , czego właśnie szukaliśmy, otrzymujemy, że
gdzie oznacza pierwszą kolumnę , czyli wektor własny odpowiadający największej wartości własnej . Wartość funkcji celu można wtedy łatwo rozpoznać jako .u
u⋆=Qe1=q1
q1QSλ1
Pozostałe główne wektory składowe można następnie znaleźć, rozwiązując sekwencję (indeksowaną przez ) problemów optymalizacyjnych
Problem jest taki sam, z tym wyjątkiem, że dodajemy dodatkowe ograniczenie, że rozwiązanie musi być ortogonalne dla wszystkich poprzednich rozwiązań w sekwencji. Nie jest trudny do rozszerzenia argumentu powyżej indukcyjnie pokazują, że roztwór th problemem jest to, w rzeczywistości, , tym p wektor własny .i
maximizesubject touTiSuiuTiui=1uTiuj=0∀1≤j<i.
iqiiS
Roztwór PKD ulega także często ekspresji w odniesieniu do pojedynczej wartości rozkładu z . Zrozumieć, dlaczego pozwolić . Następnie i tak (ściśle mówiąc, do znaku flips) i .XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n
Główne komponenty można znaleźć, rzutując na wektory głównych komponentów. Z właśnie podanego sformułowania SVD łatwo zauważyć, że
X
XQ=XV=UDVTV=UD.
Prostota reprezentacji zarówno wektorów głównych składników, jak i samych głównych składników w odniesieniu do SVD macierzy cech, jest jednym z powodów, dla których SVD wyróżnia się tak wyraźnie w niektórych zabiegach PCA.
Jeśli potrzebnych jest tylko kilka pierwszych pojedynczych wartości / wektorów, Nash i Shlien podają algorytm przypominający zwykłą metodę mocy do obliczania dominujących wartości własnych. Może to być interesujące dla PO.
JM nie jest statystykiem
@NRH, Dziękujemy za wyłapanie (i poprawienie) moich literówek, zanim udało mi się je zobaczyć!
kardynał
1
Cześć @cardinal, dziękuję za odpowiedź. Wygląda jednak na to, że nie udało ci się udowodnić, dlaczego sekwencyjna optymalizacja prowadzi do globalnego optimum. Czy mógłbyś rozwinąć tę kwestię? Dzięki!
Lifu Huang
21
Rozwiązanie przedstawione przez kardynała skupia się na macierzy kowariancji próbki. Kolejnym punktem wyjścia jest błąd rekonstrukcji danych przez q- wymiarową hiperpłaszczyznę. Jeśli p- wymiarowe punkty danych to celem jest rozwiązaniex1,…,xn
minμ,λ1,…,λn,Vq∑i=1n||xi−μ−Vqλi||2
dla macierzy z kolumnami ortonormalnymi i . To daje najlepszą rangę rekonstrukcji q mierzoną przez normę euklidesową, a kolumny rozwiązania są pierwszymi q głównymi wektorami składowymi.p×qVqλi∈RqVq
Dla naprawionego rozwiązaniem dla i (jest to regresja) są
Vqμλi
μ=x¯¯¯=1n∑i=1nxiλi=VTq(xi−x¯¯¯)
Dla ułatwienia notacji załóżmy, że zostały wyśrodkowane w następujących obliczeniach. Następnie musimy zminimalizować xi
∑i=1n||xi−VqVTqxi||2
over z kolumnami ortonormalnymi. Zauważ, że to rzut na q- wymiarową przestrzeń kolumny. Dlatego problem jest równoważny z minimalizowaniem
na rang q występy . Oznacza to, że musimy zmaksymalizować
stosunku do rzutów q q , gdzie to przykładowa macierz kowariancji. TerazVqP=VqVTq
∑i=1n||xi−Pxi||2=∑i=1n||xi||2−∑i=1n||Pxi||2
P
∑i=1n||Pxi||2=∑i=1nxTiPxi=tr(P∑i=1nxixTi)=ntr(PS)
PS
tr(PS)=tr(VTqSVq)=∑i=1quTiSui
gdzie są (ortonormalnymi) w , a argumenty przedstawione w odpowiedzi @ kardynała pokazują, że maksimum uzyskuje się przyjmując ' s będzie wektorami własnymi dla z największymi wartościami własnymi.u1,…,uqqVquiqSq
Błąd rekonstrukcji sugeruje szereg użytecznych uogólnień, na przykład rzadkie główne elementy lub rekonstrukcje za pomocą niskowymiarowych rozmaitości zamiast hiperplanów. Aby uzyskać szczegółowe informacje, patrz sekcja 14.5 w Elementy uczenia statystycznego .
(+1) Dobre punkty. Kilka sugestii: Dobrze byłoby zdefiniować i naprawdę miło byłoby podać krótki dowód wyniku. Lub, alternatywnie, może być związany z problemem optymalizacji związanym z ilorazami Rayleighta. Myślę, że dzięki temu odpowiedzi na to pytanie byłyby bardzo kompletne! λi
kardynał
@ kardynał, uważam, że wykonałem brakujące kroki w przejściu od formuły odbudowy do rozwiązania problemu.
NRH
Dobra robota. Uważam, że jedyną pozostałą luką jest twoje ostatnie oświadczenie. Nie jest od razu oczywiste, że optymalizacja sumy jest tym samym, co wykonanie sekwencji optymalizacji w mojej odpowiedzi. W zasadzie nie sądzę, że wynika to bezpośrednio. Ale tutaj też nie trzeba się tym zajmować.
kardynał
@ kardynał, następuje indukcja. początek indukcji, a na etapie indukcji wybierasz wektory ortonormalne które maksymalizują sumę i je tak, aby był wektorem jednostkowym prostopadłym do . Następnie według twoich wyników i przez założenie indukcyjne . Oczywiście podstawa nie jest unikalną podstawą przestrzeni wymiarowej. Możesz także uogólnić „argument kombinacji wypukłej”, którego używasz do bezpośredniego udowodnienia. w1,…,wqwqu1,…,uq−1wTqSwq≤uTqSuq∑q−1i=1wTiSwi≤∑q−1i=1uTiSuiq
NRH
1
@ cardinal, nie zmuszam do zagnieżdżenia, wykorzystuję jedynie rozważanie wymiarów. Jeśli mamy podprzestrzeń wymiarową, zawsze możesz wybrać w tej przestrzeni, tak aby była ona ortogonalna do podprzestrzeni . Następnie należy wypełnić ten -basis w jakikolwiek sposób chcesz. qwq(q−1)w
NRH
4
Zobacz NIPALS ( wiki ) dla jednego algorytmu, który nie używa jawnie rozkładu macierzy. Myślę, że właśnie to masz na myśli mówiąc, że chcesz uniknąć algebry macierzowej, ponieważ tak naprawdę nie możesz tutaj uniknąć algebry macierzowej :)
Odpowiedzi:
Bez próby uzyskania pełnego startera na PCA, z punktu widzenia optymalizacji, podstawową funkcją celu jest iloraz Rayleigha . Macierz, która zawiera iloraz, to (pewna wielokrotność) przykładowa macierz kowariancji w którym każdy jest wektorem funkcji i jest taki, że matryca ty rząd jest .xipXix T i
PCA dąży do rozwiązania sekwencji problemów optymalizacyjnych. Pierwszym w sekwencji jest nieograniczony problem
Ponieważ, powyższy nieograniczony problem jest równoważny ograniczonemu problemowiuTu=∥u∥22=∥u∥∥u∥
Tutaj pojawia się algebra macierzy. Ponieważ jest symetryczną dodatnią macierzą półfinałową (z konstrukcji!), Ma rozkład wartości własnej postaci gdzie jest macierz ortogonalna (więc ) i jest macierzą diagonalną z nieujemnymi wpisami przykład .S
Stąd, . Ponieważ jest ograniczony w tym problemie, aby mieć normę jeden, tak też jest ponieważ , ponieważ jest ortogonalny.uTSu=uTQΛQTu=wTΛw=∑pi=1λiw2i u w ∥w∥2=∥QTu∥2=∥u∥2=1 Q
Ale jeśli chcemy zmaksymalizować ilość pod ograniczeniami, że , to co możemy zrobić, to: ustaw , to znaczy i dla .∑pi=1λiw2i ∑pi=1w2i=1 w=e1 w1=1 wi=0 i>1
Teraz, wycofując odpowiednie , czego właśnie szukaliśmy, otrzymujemy, że gdzie oznacza pierwszą kolumnę , czyli wektor własny odpowiadający największej wartości własnej . Wartość funkcji celu można wtedy łatwo rozpoznać jako .u
Pozostałe główne wektory składowe można następnie znaleźć, rozwiązując sekwencję (indeksowaną przez ) problemów optymalizacyjnych Problem jest taki sam, z tym wyjątkiem, że dodajemy dodatkowe ograniczenie, że rozwiązanie musi być ortogonalne dla wszystkich poprzednich rozwiązań w sekwencji. Nie jest trudny do rozszerzenia argumentu powyżej indukcyjnie pokazują, że roztwór th problemem jest to, w rzeczywistości, , tym p wektor własny .i
Roztwór PKD ulega także często ekspresji w odniesieniu do pojedynczej wartości rozkładu z . Zrozumieć, dlaczego pozwolić . Następnie i tak (ściśle mówiąc, do znaku flips) i .X X=UDVT nS=XTX=VD2VT V=Q Λ=D2/n
Główne komponenty można znaleźć, rzutując na wektory głównych komponentów. Z właśnie podanego sformułowania SVD łatwo zauważyć, żeX
Prostota reprezentacji zarówno wektorów głównych składników, jak i samych głównych składników w odniesieniu do SVD macierzy cech, jest jednym z powodów, dla których SVD wyróżnia się tak wyraźnie w niektórych zabiegach PCA.
źródło
Rozwiązanie przedstawione przez kardynała skupia się na macierzy kowariancji próbki. Kolejnym punktem wyjścia jest błąd rekonstrukcji danych przez q- wymiarową hiperpłaszczyznę. Jeśli p- wymiarowe punkty danych to celem jest rozwiązaniex1,…,xn
dla macierzy z kolumnami ortonormalnymi i . To daje najlepszą rangę rekonstrukcji q mierzoną przez normę euklidesową, a kolumny rozwiązania są pierwszymi q głównymi wektorami składowymi.p×q Vq λi∈Rq Vq
Dla naprawionego rozwiązaniem dla i (jest to regresja) sąVq μ λi
Dla ułatwienia notacji załóżmy, że zostały wyśrodkowane w następujących obliczeniach. Następnie musimy zminimalizowaćxi
over z kolumnami ortonormalnymi. Zauważ, że to rzut na q- wymiarową przestrzeń kolumny. Dlatego problem jest równoważny z minimalizowaniem na rang q występy . Oznacza to, że musimy zmaksymalizować stosunku do rzutów q q , gdzie to przykładowa macierz kowariancji. TerazVq P=VqVTq
Błąd rekonstrukcji sugeruje szereg użytecznych uogólnień, na przykład rzadkie główne elementy lub rekonstrukcje za pomocą niskowymiarowych rozmaitości zamiast hiperplanów. Aby uzyskać szczegółowe informacje, patrz sekcja 14.5 w Elementy uczenia statystycznego .
źródło
Zobacz NIPALS ( wiki ) dla jednego algorytmu, który nie używa jawnie rozkładu macierzy. Myślę, że właśnie to masz na myśli mówiąc, że chcesz uniknąć algebry macierzowej, ponieważ tak naprawdę nie możesz tutaj uniknąć algebry macierzowej :)
źródło