Wrocław University of Technology SPOTKANIE 7: Redukcja wymiarów: PCA, Probabilistic PCA Maciej Zięba Studenckie Koło Naukowe Estymator jakub.tomczak@pwr.wroc.pl 18.01.2013
Redukcja wymiarów Zmienne wejściowe x R D. Nie dysponujemy etykietami, tj. nie posiadamy zmiennej wyjściowej. Problem: znalezienie niskowymiarowej podprzestrzeni (rozmaitości) z R M, na której leżą dane D = {x 1,..., x N }. Obserwacje mogą zostać zakodowane przy pomocy układu współrzędnych związanego z niskowymiarową podprzestrzenią (rozmaitością). 2/30
Przejścia między R D i R M Kluczową kwestią w zadaniu redukcji wymiarów jest: wyznaczenie przejścia z przestrzeni wysokowymiarowej do niskowymiarowej, g : R D R M ; wyznaczenie przejścia z przestrzeni niskowymiarowej do wysokowymiarowej, f : R M R D. Część metod redukcji wymiarów wyznacza oba przekształcenia, jedno lub żadne. 3/30
Liniowe podprzestrzenie Dalej skupiać się będziemy na liniowych podprzestrzeniach. Zakładamy, że dane rozkładają się na niskowymiarowej, liniowej podprzestrzeni. Przekształcenia g i f są przekształceniami liniowymi, tj. g(x) = Ax + b oraz f(z) = Cz + d UWAGA: problem redukcji wymiarów nie jest problemem regresji liniowej! 4/30
Principal Component Analysis (PCA) Analiza składowych głównych (ang. Principal Component Analysis, PCA) służy do redukcji wymiarów poprzez liniową transformację zbioru zmiennych zależnych w mniej liczny zbiór zmiennych niezależnych, zwanych składowymi głównymi. Istnieją dwa równoważne sformułowania problemu: maksymalizacja wariancji: pozostawiamy M < D najbardziej informacyjnych zmiennych, co w przypadku zmiennych gaussowskich jest równoznaczne ze zmiennymi o największej wariancji; x 2 x n x n u 1 minimalizacja błędu: pozostawiamy M < D zmiennych, dla których suma kwadratów odległości punktów po zrzutowaniu do punktów oryginalnych będzie najmniejsza. x 1 5/30
Maksymalizacja wariancji (ang. maximum variance formulation) Interesuje nas zrzutowanie danych na podprzestrzeń liniową o wymiarze M < D tak, aby maksymalizować wariancję zrzutowanych danych. Załóżmy na chwilę, że M = 1. Definiujemy kierunek podprzestrzeni za pomocą wektora jednostkowego u 1 R D, czyli u T 1 u 1 = 1. Każdy x jest zrzutowany w punkt u T 1 x. Średnia zrzutowanych danych wynosi u T 1 x, gdzie średnia z próby: x = 1 N N x n. n=1 6/30
Maksymalizacja wariancji (2) Wariancja zrzutowanych danych wynosi 1 N N { u T 1 x n u T 1 x} 2 = u T 1 Su 1 n=1 gdzie empiryczna macierz kowariancji: S = 1 N N (x n x)(x n x) T. n=1 Interesuje nas rozwiązanie następującego problemu optymalizacji: max u 1 u T 1 Su 1 p.o. u T 1 u 1 = 1 7/30
Maksymalizacja wariancji (3) Funkcja Lagrange a : u T 1 Su 1 + λ 1 (1 u T 1 u 1 ). Rozwiązując względem u 1 (licząc pochodną i przyrównując do 0): Su 1 = λ 1 u 1 czyli u 1 jest wektorem własnym S. Mnożąc lewostronnie przez u T 1 mamy u T 1 Su 1 = λ 1 u T 1 u 1 }{{} =1 Zauważmy, że wariancja zrzutowanych danych będzie maksymalna, jeśli u 1 będzie wektorem własnym o największej wartości własnej λ 1. 8/30
Maksymalizacja wariancji (4) Wartości własne λ m odpowiadają za wariancję danych zrzutowanych na prostą o kierunku wyznaczonym przez wektor własny u m. Wyznaczenie M-wymiarowej podrzestrzeni sprowadza się więc do znalezienia M wektorów własnych u 1,..., u M empirycznej macierzy kowariancji S, odpowiadających M największym wartościom własnym λ 1,..., λ M. Złożoność obliczeniowa metody sprowadza się do wyznaczenia wektorów i wartości własnych: algorytm do wyznaczenia wszystkich: O(D 3 ). algorytm do wyznaczenia tylko M pierwszych: O(MD 2 ). 9/30
Minimalizacja błędu (ang. minimum-error formulation) Teraz interesuje nas minimalizowanie błędu zrzutowania. Wprowadźmy zbiór bazowych wektorów ortonormalnych rozpinających D-wymiarową przestrzeń {u d }, czyli u T i u j = δ ij. Każdy punkt może być reprezentowany jako kombinacja liniowa wektorów bazowych: x 2 x n u 1 D x n = α nd u d, d=1 x n gdzie współczynniki α nd są różne dla różnych punktów. x 1 Transformacja polega na rotacji współrzędnych do nowych określonych przez {u d }, zaś oryginalne składowe {x n1,..., x nd } są zastąpione przez {α n1,..., α nd }. 10/30
Minimalizacja błędu (2) Licząc iloczyn skalarny i korzystając z założenia o ortonormalności otrzymujemy: α nd = x T n u d. Zatem możemy zapisać: u 1 x n = D ( ) x T n u d ud. d=1 Interesuje nas znalezienie przybliżonej reprezentacji punktu za pomocą M < D zmiennych, dlatego zapiszmy: x 2 x n x n M D x n = z nm u m + b m u m, m=1 m=m+1 x 1 gdzie z nm zależy od punktu, zaś b m są stałe dla wszystkich punktów. 11/30
Minimalizacja błędu (3) Chcemy minimalizować błąd projekcji, tj. J = 1 N N x n x n 2. n=1 Licząc pochodną względem z nm i przyrównując do 0: x 2 u 1 z nm = x T n u m x n dla m = 1... M i podobnie względem b m : x n b m = x T u m dla m = M + 1... D. x 1 Wstawiając otrzymujemy: x n x n = D m=m+1 {(x n x) T u m } u m. 12/30
Minimalizacja błędu (4) Ostateczna postać funkcji celu: J = 1 N D = N D n=1 m=m+1 m=m+1 u T msu m (x T n u m x T u m ) 2 Interesuje nas rozwiązanie następującego problemu optymalizacji: min {u m} p.o. D u T msu m m=m+1 u T i u j = δ ij Przykładowo dla D = 2 i M = 1 musimy znaleźć takie u 2, które minimalizuje J przy ograniczeniu u T 2 u 2 = 1. Funkcja Lagrange a: u T 2 Su 2 + λ 2 (1 u T 2 u 2 ). 13/30
Minimalizacja błędu (5) Licząc pochodną po u 2 i przyrównując do 0: Su 2 = λ 2 u 2, czyli λ 2 jest wartością własną, a u 2 wektorem własnym. Wstawiając do funkcji celu otrzymujemy J = λ 2, czyli minimum osiągamy dla wektora własnego odpowiadającego mniejszej wartości własnej. W ogólnym przypadku interesuje nas znalezienie D M wektorów własnych o najmniejszych wartościach własnych. Wynik ten jest identyczny jak w sformułowaniu maksymalizacji wariancji, tj. podprzestrzeń jest rozpięta przez M wektorów własnych o największych wartościach własnych. 14/30
Rozkłady normalne - problemy z estymacją Załóżmy, że obserwujemy dane x R D, gdzie wymiar D jest bardzo duży i chcemy modelować je rozkładem normalnym: p(x) = N (x µ, Σ). Liczba parametrów takiego modelu wynosi D + D(D + 1)/2, co jest rzędu O(D 2 ). W przypadku, gdy D jest duże pojawia się problem z odwróceniem macierzy kowariancji Σ 1, gdy nie dysponujemy odpowiednią liczbą obserwacji. Pojawia się także problem z overfittigiem. Pojawia się pomysł, aby w parametryzacji rozkładu normalnego uwzględnić fakt, że dane rozłożone są na niskowymiarowej przestrzeni liniowej. 15/30
Ciągłe zmienne ukryte Załóżmy, że każdej obserwacji x R D odpowiada niskowymiarowa reprezentacja z R M, której nie obserwujemy. Są to ciągłe zmienne ukryte (ang. continuous latent variables). Zmienne ukryte modelujemy następującym rozkładem normalnym: p(z) = N (z 0, I), o zerowej średniej i jednostkowej macierzy kowariancji. Załóżmy, że istnieje między nimi liniowa zależność: gdzie szum ε N (ε 0, σ 2 I). x = Wz + µ + ε, Wtedy rozkład warunkowy jest liniowym modelem gaussowskim: p(x z) = N (x Wz + µ, σ 2 I). 16/30
Model Probabilistic PCA Korzystając z reguły brzegowej dla liniowego modelu gaussowskiego wyznaczamy rozkład p(x): p(x) = p(x z)p(z)dz = N (x µ, C), gdzie macierz kowariancji C = WW T + σ 2 I. Model ten nazywamy probabilistycznym PCA (PPCA). Macierz kowariancji posiada teraz M D + 1 parametrów, co jest istotnie mniejsze od D(D + 1)/2. Intuicyjnie macierz kowariancji uwzględnia tylko M najważniejszych korelacji w danych, a pozostałe modeluje wspólnym parametrem σ 2. 17/30
Uwagi do nowej parametryzacji 1. Zauważmy, że dla dowolnej macierzy ortogonalnej (reprezentującej obrót w przestrzeni), tj. RR T = I, mamy: W W T = WRR T W T, co prowadzi do tego samego rozkładu normalnego. Jest to ponownie problem nieidentyfikowalności (ang. non-identifiability), gdzie rozkład można znaleźć jedynie z dokładnością do macierzy obrotu. 2. Do odwrócenia macierzy C możemy skorzystać z zależności: C 1 = σ 2 I σ 2 WM 1 W T, gdzie macierz M = W T W + σ 2 I i jest wymiaru M M. Odwrócenie macierzy M ma złożoność O(M 3 ). Jest to istotnie mniejsze od złożoności odwracania macierzy C bez zastosowania powyższej zależności, która wynosi O(D 3 ). 18/30
Uczenie PPCA: Funkcja wiarygodności Załóżmy, że dysponujemy ciągiem obserwacji X = {x 1,..., x N }. Funkcja wiarygodności ma wtedy postać: p(x W, µ, σ 2 ) = N N (x n µ, WW T + σ 2 I). n=1 Biorąc jej zlogarytmowaną postać otrzymujemy: ln p(x W, µ, σ 2 ) = N 2 {D ln(2π) + ln C + Tr(C 1 S)}, gdzie S jest empiryczną macierzą kowariancji i wyrażona jest zależnością: S = 1 N (x n µ)(x n µ) T. N n=1 Ponadto C = WW T + σ 2 I oraz Tr( ) oznacza ślad macierzy (ang. trace). 19/30
Uczenie PPCA: Rozwiązanie analityczne Różniczkując zlogarytmowaną funkcję wiarygodności i stosując pewne przekształcenia algebraiczne można pokazać, że problem uczenia PPCA ma następujące analityczne rozwiązania: N µml = 1 N x n n=1 WML = U M (L M σ 2 I) 1/2 R, gdzie U M jest macierzą D M zawierającą M wektorów własnych odpowiadających największym wartościom własnym macierzy S. Ponadto L M oznacza diagonalną macierz M M zawierającą M największych wartości własnych λ m macierzy S. Dodatkowo R oznacza dowolną macierz obrotu problem nieidentyfikowalności. σ 2 ML = 1 D M D m=m+1 λ m, gdzie parametr σ 2 kumuluje w sobie niepewności z pozostałych stopni swobody nieuwzględnionych w macierzy W. 20/30
Uczenie PPCA: Algorytm Expectation-Maximization Załóżmy, że każdej zaobserwowanej zmiennej z ciągu X odpowiada zmienna ukryta z ciągu Z = {z 1,..., z N }. Zakładając, że zmienne ukryte są obserwowalne możemy sformułować zlogarytmowaną funkcję wiarygodności dla rozkładu łącznego p(x, z): ln p(x, Z µ, W, σ 2 ) = N {ln p(x n z n ) + ln p(z n )}. n=1 Algorytm EM szuka estymatora największej wiarygodności dla parametrów wykonując naprzemiennie dwa kroki. Krok E: Pozbywamy się zmiennych ukrytych poprzez wyznaczenie wartości oczekiwanej E Z [ln p(x, Z µ, W, σ 2 )] względem rozkładu a posteriori p(z x). Krok M: Wyznaczamy estymatory maksymalizujące E Z [ln p(x, Z µ, W, σ 2 )]. 21/30
Algorytm EM: Krok Expectation Korzystając ze wzoru Bayesa dla liniowego modelu gaussowskiego wyznaczamy rozkład a posteriori p(z x): p(z x) = N (z M 1 W T (x µ), σ 2 M 1 ), gdzie macierz M = W T W + σ 2 I. Wtedy otrzymujemy następującą wartość oczekiwaną: E Z [ln p(x, Z µ, W, σ 2 )] = N { D 2 ln(2πσ2 ) + M 2 ln(2π) n=1 + 1 2 Tr(E[z nz T n ]) + 1 2σ 2 x n µ 2 1 σ 2 E[z n] T W T (x n µ) + 1 } 2σ 2 Tr(E[z nz T n ]W T W), gdzie odpowiednio E[z n ] = M 1 W T (x n µ) oraz E[z n z T n ] = σ 2 M 1 + E[z n ]E[z n ] T. 22/30
Algorytm EM: Krok Maximization Różniczkując funkcję E Z [ln p(x, Z µ, W, σ 2 )] odpowiednio po parametrach otrzymujemy analityczne aktualizacje: Esytmator macierzy parametrów [ N ] [ N W new = (x n µ)e[z n] T E[z nz T n] n=1 n=1 ] 1 Estymator wariancji σ 2 new = 1 ND N { x n µ 2 2E[z n] T Wnew(x T n µ) n=1 + Tr(E[z nz T n]w T neww new)} Estymator średniej µ nie wymaga procedury EM. 23/30
Uczenie PPCA: Podsumowanie 1. Rozwiązanie analityczne Rozkład macierzy kowariancji na wektory własne (ang. eigenvalue decomposition) ma złożoność O(D 3 ). Wyznaczenie jedynie M pierwszych wektorów własnych ma złożoność O(MD 2 ). Ponadto samo wyliczenie macierzy kowariancji S ma złożoność O(ND 2 ). Z powyższych względów rozwiązanie analityczne może być stosowane jedynie w problemach, gdzie wymiar danych D nie jest bardzo duży ( 10 3 ). 2. Algorytm Expectation-Maximization Algorytm EM nie wymaga konstruowania macierzy kowariancji S. Pojedynczy krok algorytmu EM ma złożoność O(NDM), co jest znaczącą korzyścią dla danych wysokowymiarowych (np. zdjęcia), szczególnie jeśli M << D. 24/30
Rozszerzenia i inne modele Analiza czynnikowa (ang. Factor Analysis, FA) Jądrowe PCA (ang. Kernel PCA) Autoasocjacyjne sieci neuronowe (ang. Autoassociative Neural Networks) Nieliniowe metody redukcji wymiarów (ang. Nonlinear Dimensionality Reduction) 25/30
Analiza czynnikowa Zakładamy, podobnie jak w PCA, że obiekty x rozłożone są na niskowymiarowej przestrzeni z, gdzie ε N ( 0, Ψ), czyli x = Wz + µ + ε p(x z) = N (x Wz + µ, Ψ). Podobnie jak w PCA, dla zadanego z zmienne x stają się niezależne. W przeciwieństwie do PCA zakładamy jednak, że macierz kowariancji Ψ jest diagonalna, ale o różnych wartościach wariancji. W analizie czynnikowej wagi W nazywane są obciążeniem czynników (ang. factor loadings). Rozkład brzegowy: p(x) = N (x µ, WW T + Ψ) Ze względu na macierz Ψ, nie istnieje analityczne rozwiązanie największej wiarygodności dla W. 26/30
Jądrowe PCA W klasycznym PCA empiryczna macierz kowariancji wynosi (zakładając x = 0): S = 1 N N x n x T n. n=1 Wprowadzając nieliniową transformacją φ(x) na M-wymiarową przestrzeń cech, możemy zapisać empiryczną macierz kowariancji na przestrzeni cech (zakładając n φ(x n) = 0): C = 1 N N φ(x n )φ(x n ) T. n=1 Możemy zastosować kernel trick, wprowadzając funkcję jądra k(x n, x m ) = φ(x n ) T φ(x m ). Dalej rozwiązujemy analogicznie jak w PCA (problem wyznaczenia wartości własnych). x2 φ1 x1 v1 φ2 27/30
Autoasocjacyjne sieci neuronowe x D z M x D Zakładamy taką samą liczbę wejść i wyjść. inputs outputs Warstwa ukryta reprezentuje przestrzeń niskowymiarową, kodowaną za pomocą zmiennych binarnych. x 1 F1 z 1 F2 x 1 Wagi reprezentują wektory rozpinające niskowymiarową przestrzeń. xd inputs xd outputs x1 non-linear x1 x 3 z 2 F 1 F 2 x 3 S x 1 z 1 x 1 28/30
Nieliniowe metody redukcji wymiarów Mieszaniny rozkładów, np. mieszanina probabilistycznych PCA, mieszanina FA. Self organizing map, SOM (Kohonen, 1982) Generative topographic mappin, GTM (Bishop et al., 1996) Locally linear embedding (Roweis & Saul, 2000) Isometric feature map, isomap (Tenenbaum et al., 2000) Laplacian eigenmaps (Belkin & Niyogi, 2001) Gaussian Process Latent Variable Model, GPLVM (Lawrence, 2004) Maximum Variance Unfolding (Weinberger & Saul, 2006) Maximum Entropy Unfolding (Lawrence 2011) 29/30
Dziękuję za uwagę! 30/30