Wrocław University of Technology SPOTKANIE 9: Metody redukcji wymiarów Piotr Klukowski* Studenckie Koło Naukowe Estymator piotr.klukowski@pwr.wroc.pl 08.12.2015 *Część slajdów pochodzi z prezentacji dr Tomczaka z dnia 10.01.2014
Redukcja wymiarów: intuicja (1/3) Rysunek: Wizualizacja losowego podzbioru MNIST 2/27
Redukcja wymiarów: intuicja (2/3) Rysunek: Podzbiór MNIST po redukcji wymiarów Źródło: J. B. Tenenbaum, V. De Silva, and J. C. Langford, A global geometric framework for nonlinear dimensionality reduction, Science, vol. 290, no. 5500, pp. 2319 2323, 2000 3/27
Redukcja wymiarów: intuicja (3/3) Rysunek: Zbiór obrazów twarzy po redukcji wymiarów Źródło: J. B. Tenenbaum, V. De Silva, and J. C. Langford, A global geometric framework for nonlinear dimensionality reduction, Science, vol. 290, no. 5500, pp. 2319 2323, 2000 4/27
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ą). 5/27
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. 6/27
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! 7/27
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 błąd rekonstrukcji jest najmniejszy (w sensie błędu średniokwadratowego). x 1 8/27
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 9/27
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 10/27
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. 11/27
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 ). 12/27
Minimalizacja błędu (ang. minimum-error formulation) Teraz interesuje nas minimalizowanie błędu rekonstrukcji. 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 }. 13/27
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. 14/27
Minimalizacja błędu (3) Chcemy minimalizować błąd rekonstrukcji, 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. 15/27
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 ). 16/27
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. 17/27
Liniowa redukcja wymiarów nieliniowych rozmaitości L. J. van der Maaten, E. O. Postma, and H. J. van den Herik, Dimensionality reduction: A comparative review, Journal of Machine Learning Research, vol. 10, no. 1 41, pp. 66 71, 2009. 18/27
Isomap (1/3) Pozwala na nieliniową redukcję wymiarów Należy do grupy algorytmów grafowych, które to wykorzystują teorię grafów w procesie redukcji wymiarów Krok 1: budowa grafu sąsiedztwa Dla każdego punktu z analizowanego zbioru znajdź jego sąsiadów Zbuduj graf ważony sąsiedztwa punktów 19/27
Isomap (2/3) Krok 2: budowa macierzy sąsiedztwa na podstawie grafu Dla każdej pary wierzchołków, znajdź najkrótszą ścieżkę pomiędzy nimi (np. przy użyciu algorytmu Floyda-Warshalla lub Dijkstry) Źródło: Young Ki Baik Nonlinear Dimensionality Reduction Approach Zbuduj macierz sąsiedztwa M punktów w taki sposób, że Mij zawiera długość najkrótszej ścieżki pomiędzy punktami i i j Uwaga 1: Sposób definiowania odległości pomiędzy punktami (jako ścieżka w grafie, a nie Euklidesowa) jest źródłem nieliniowości przekształcenia Uwaga 2: Jeśli zbudujemy graf bazując na k-nn macierz sąsiedztwa punktów nie musi być symetryczna 20/27
Isomap (3/3) Krok 3: konstrukcja zanurzenia (ang. embedding) Zanurzenie jest pojęciem matematycznym określającym odwzorowanie jednego obiektu w inny z zachowaniem własności obiektu zanurzanego W przypadku redukcji wymiarów chodzi o odwzorowanie oryginalnej przestrzeni w niskowymiarowej przestrzeni Euklidesowej, która w sposób najlepszy zachowuje geometrię rozmaitości Niech τ(m) będzie dane wzorem: τ(m) = 1 2 (I 1 N )M 2 (I 1 N ) Niech λp będzie p-tą wartością własną τ(m), a v i p i-tym elementem odpowiadającego jej wektora własnego. Wtedy p-tą współrzędną punktu w zredukowanej przestrzeni wyliczamy wg wzoru: y i p = λ pv i p 21/27
Autoenkoder: architektura Jest siecią neuronową typu Feed-forward trenowaną w sposób nienadzorowany Zadaniem sieci jest reprodukcja na wyjściu danych, które były zadane na wejściu Enkoder h(x) = σ(b + W x) Dekoder ˆx = σ(c + W h(x)) Sposób uczenia podobny do uczenia zwykłej sieci typu feed forward - oparty o metodę SGD i funkcję straty postaci: l(x, ˆx) = 1 (ˆx k x k ) 2 2 k Rysunek: Architektura autoenkodera Źródło: Hugo Larochelle Neural networks 22/27
Autoenkoder: przykładowe wyniki Rysunek: Cechy warstwy ukrytej autoenkodera wyuczone na zbiorze MNIST Źródło: Hugo Larochelle Neural networks 23/27
Porównanie metod redukcji wymiarów (1/2) Rysunek: Porównanie jakości działania metod redukcji wymiarów - zbiór 1 24/27
Porównanie metod redukcji wymiarów (2/2) Rysunek: Porównanie jakości metod redukcji wymiarów - zbiór 2 25/27
Podsumowanie W bardzo podstawowym zakresie metody redukcji wymiarów można dzielić na liniowe i nieliniowe Spośród omawianych metod do liniowych zalicza się PCA, natomiast do nieliniowych isomap i autoenkoder W PCA podejście oparte o maksymalizację wariancji jest równoważne podejściu opartemu o minimalizację błędu Isomap jest metodą grafową, która wykorzystuje długości ścieżek w grafie sąsiedztwa do oceny odległości pomiędzy punktami 26/27
Dziękuję za uwagę 27/27