drapanie ass
Transkrypt
drapanie ass
Ekstrakcja cech • Wprowadzenie • Metody ekstrakcji cech • PCA (Principal Component Analysis) – Analiza składowych głównych • LDA (Linear Discriminant Analysis) – Liniowa analiza dyskryminacyjna • MDS (Multidimensional Scaling) – Skalowanie wielowymiarowe • Przykład zastosowania 2 Wprowadzenie • Cel ekstrakcji: znaleźć transformację prowadzącą do takich cech, dla których zadanie selekcji cech jest łatwiejsze • określić transformację p pomiarów i dokonać selekcji cech w transformowanej przestrzeni x1 Selekcja cech x1 f(x) xp Ekstrakcja cech y1 f(x1,…, xp) y2 xp Statistical Pattern Recognition, Chapter 9 3 • Korzyści • uproszczenie klasyfikatora (klątwa wymiarowości) • zwiększenie jakości klasyfikacji i zdolności „uogólniania” • pozbycie się mało istotnej informacji • ułatwienie graficznej wizualizacji zbioru danych Statistical Pattern Recognition, Chapter 9 4 • Określenia kryterium jakości ekstrakcji J prowadzi do zadań optymalizacji: • Ekstrakcja cech: dla ustalonej klasy transformacji szukamy takiej () ~ transformacji A, dla której J A = max J ( A(x) ) , A∈A gdzie A jest zbiorem wszystkich możliwych transformacji dla przyjętej klasy. Wektorem cech jest wówczas wektor ~ y = A ( x) Jeżeli transformacja jest liniowa, to y = A x T Statistical Pattern Recognition, Chapter 9 5 • Wyróżnić można dwie grupy kryteriów stosowanych przy opracowywaniu metod ekstrakcji cech: • Reprezentacja danych: celem ekstrakcji jest utworzenie dokładnej reprezentacji próbek w przestrzeni o zredukowanej liczbie wymiarów • Klasyfikacja: celem ekstrakcji jest podkreślenie informacji pozwalającej odseparować próbki pochodzące z różnych klas Statistical Pattern Recognition, Chapter 9 6 Metody ekstrakcji cech Sformułowanie problemu • Dane • zbiór p-wymiarowych wektorów cech • kryterium jakości ekstrakcji (ocena zdolności do reprezentacji danych w transformowanej przestrzeni lub ocena separowalności) • Szukane: najlepsza (w sensie przyjętego kryterium) transformacja przestrzeni cech Statistical Pattern Recognition, Chapter 9 7 • Przykład transformacji x2: waga x1: wzrost Statistical Pattern Recognition, Chapter 9 8 Ekstrakcja cech PCA – Principal Component Analysis • • • Liniowa transformacja cech Obrót układu współrzędnych Uporządkowanie nowych cech („składowych głównych”) ze względu na wariancję wzdłuż związanych z nimi osi • Nowe cechy są kombinacją liniową oryginalnych cech i mogą nie mieć bezpośredniej interpretacji • Ewentualna informacja o klasach / grupach nie jest brana pod uwagę Statistical Pattern Recognition, Chapter 9 9 PCA – Principal Component Analysis • Dane są projektowane na przestrzeń rozpiętą na zmienionych osiach układu współrzędnych • • Osie nowego układu współrzędnych są ortogonalne Nowy układ współrzędnych ma początek w punkcie ciężkości zbioru danych pomiarowych • Skala na poszczególnych osiach jest wyrażona w jednostkach będących odchyleniami standardowymi oryginalnych danych wzdłuż tych osi • Kierunki kolejnych osi są tak dobierane, aby maksymalizować wariancję projektowanych na nie danych (wyjątkiem jest ostatnia oś, której kierunek jest zdeterminowany przez pozostałe osie) Statistical Pattern Recognition, Chapter 9 10 PCA – Principal Component Analysis • Pierwsza „składowa główna” to kierunek zadany przez prostą, dla której suma kwadratów odległości od danych pomiarowych (czyli wariancja) jest minimalna x2 Minimalizacja wariancji w kierunku prostopadłym do prostej = maksymalizacja wariancji wzdłuż tej prostej • x1 Druga składowa główna jest prostopadła do pierwszej składowej głównej i razem z nią tworzy płaszczyznę najlepiej aproksymującą (w sensie minimum wariancji) dane pomiarowe Statistical Pattern Recognition, Chapter 9 11 PCA – Principal Component Analysis • • Kolejne składowe główne są zdefiniowane w podobny sposób Ostatnia składowa główna jest określona jednoznacznie przez poprzednie składowe, gdyż musi być do nich ortogonalna. y2 x2 y2 y1 x1 PCA y1 Statistical Pattern Recognition, Chapter 9 12 PCA – Principal Component Analysis Zestaw oryginalnych cech: x1 , x2 , … , xp Kombinacje liniowe cech: y1 , y2 , … , yp p y = ∑ aij x j j =1 lub macierzowo y = AT x gdzie x i y to wektory zmiennych losowych, A jest macierzą współczynników Szukamy takiej macierzy ortogonalnej transformacji A, które daje optymalne wartości wariancji kolejnych zmiennych yj Statistical Pattern Recognition, Chapter 9 13 PCA – Principal Component Analysis Rozpoczynamy analizę od pierwszej składowej głównej y1 : p y1 = ∑ a1 j x j j =1 [ Należy wyznaczyć wektor a1 = a11 a12 a1 p ] T maksymalizujący wariancję zmiennej y1 , przy czym dla jednoznaczności rozwiązania przyjmujemy, że a1 2 = a1T a1 = 1 . [ ] [ ] [ ][ ] = a (E[xx ]− E[x]E[x ] )a = a Σa = var ( y ) var ( y1 ) = E y 12 − E[ y1 ] = E a1T xxT a1 − E a1T x E xT a1 = 2 T 1 T T 1 T 1 1 1 Statistical Pattern Recognition, Chapter 9 14 PCA – Principal Component Analysis Maksymalizacja wariancji przy ograniczeniu na normę wektora a prowadzi do zadania optymalizacji z ograniczeniami. Zgodnie z metodą Lagrange’a: L (a1 ) = a1T Σa1 − λ a1T a1 Po różniczkowaniu ze względu na a1 i przyrównaniu do zera otrzymujemy: Σa1 − λ a1 = 0 Σa1 = λ a1 Wynika z tego, że a1 musi być wektorem własnym macierzy Σ z wartością własną równą λ . Statistical Pattern Recognition, Chapter 9 15 PCA – Principal Component Analysis Ponadto, maksymalizacja wariancji zmiennej y1 { } { } max a1T Σ a1 = max λ a1T a1 = max λ sprowadza się do wybrania wektora własnego a1, któremu odpowiada największa wartość własna macierzy Σ. Wybór wektora własnego jest jednoznaczny, jeżeli wartość własna λ nie jest wielokrotnym pierwiastkiem równania charakterystycznego: Σ − λI = 0 Oznaczmy przez λ1 wartość własną związaną z pierwszą składową główną y1 Statistical Pattern Recognition, Chapter 9 16 PCA – Principal Component Analysis T = y a Drugą składową główną 2 otrzymujemy maksymalizując – jak 2x poprzednio – wariancję zmiennej y2 przy ograniczeniu na normę składowej a2 2 = aT2 a 2 = 1 oraz dodatkowo wymagając, aby składowa y2 nie była skorelowana z y1 : E[ y2 y1 ] − E[ y2 ]E[ y1 ] = 0 , co jest równoważne z a 2 Σa1 = 0 . T Ze względu na fakt, że a1 jest wektorem własnym macierzy Σ , to również a2 jest ortogonalne do a1 : aT2 a1 = 0 Statistical Pattern Recognition, Chapter 9 17 PCA – Principal Component Analysis Zgodnie z metodą Lagrange’a: L (a 2 ) = aT2 Σa 2 − λ aT2 a 2 − η aT2 a1 Po różniczkowaniu ze względu na a2 i przyrównaniu do zera otrzymujemy: 2 Σa 2 − 2λ a 2 − η a1 = 0 Mnożenie obustronne przez a1T daje: 2a1T Σa 2 − 2λ a1T a 2 − η a1T a1 = 0 η a1T a1 = 0 Z powyższego wynika, że η = 0 . Statistical Pattern Recognition, Chapter 9 18 PCA – Principal Component Analysis Pochodna funkcji Lagrange’a przyjmuje postać: 2 Σa 2 − 2λ a 2 = 0 Σa 2 = λ a 2 Wynika z tego, że a2 jest wektorem własnym macierzy Σ i – analogicznie jak poprzednio – odpowiadająca mu wartość własna λ jest największą spośród pozostałych wartości własnych. Statistical Pattern Recognition, Chapter 9 19 PCA – Principal Component Analysis • Podsumowując, procedura wyznaczania składowych głównych składa się z następujących kroków: 1) Rozkład macierzy kowariancji Σ na wektory własne i obliczenie odpowiadających im wartości własnych 2) Uporządkowanie wektorów własnych zgodnie z malejącymi wartościami własnymi: a1, a2 , … , ap ; λ1 ≥ λ2 ≥ … ≥ λp 3) Utworzenie macierzy transformacji [ A = a1 a 2 a p ] Statistical Pattern Recognition, Chapter 9 20 PCA – Principal Component Analysis • Macierz transformacji jest wykorzystywana przy projekcji danych z przestrzeni oryginalnych cech na przestrzeń składowych głównych: y = AT x • Powyższe równanie przypisuje zaobserwowanemu losowemu wektorowi x składowe główne y. Na ogół, wartość oczekiwana y jest różna od zera. Aby była ona równa zeru, projekcja powinna zostać zdefiniowana jako: y = A T (x − μ ), gdzie μ jest wartością oczekiwaną x. W praktyce, w miejsce μ stosuje się średnią m z próby. Statistical Pattern Recognition, Chapter 9 21 PCA – Principal Component Analysis 1 • Ilość wariancji uwzględnionej przez Uwzględniona wariancja 0,9 k pierwszych 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 składowych 10 20 30 40 50 40 50 wektor własny głównych jest równa: 180 p k ∑λ ∑λ i =1 i i =1 i Przykładowe dane wartość własna 160 140 120 100 80 60 40 20 0 0 10 20 30 wektor własny 22 PCA – Principal Component Analysis • Selekcja cech w transformowanej przestrzeni: spośród p składowych głównych wybrać d takich, które uwzględniają najwięcej wariancji • Macierz transformacji ograniczy się do d pierwszych wektorów własnych (wymiar macierzy transformacji to p x d): A d = [a1 a 2 a d ] • Projekcja do zredukowanej przestrzeni ma postać: y d = A Td x lub y d = A Td (x − μ ) Statistical Pattern Recognition, Chapter 9 23 PCA – Principal Component Analysis • Projekcja wstecz z transformowanej przestrzeni do oryginalnej ma postać: • ( ) x= A T −1 −1 y +μ Jeżeli A jest macierzą symetryczną (AT= A-1), wówczas projekcja przyjmuje postać: • ( ) y lub x = A T x = Ay lub x = Ay + μ Jeżeli dodatkowo nastąpiła redukcja wymiaru, to projekcję można zapisać jako: x d = A d y d + μ • Jeżeli wstawimy do powyższego wzoru w miejsce yd odpowiednie wyrażenie na projekcję, to otrzymamy: x d = A d A Td (x − μ ) + μ Statistical Pattern Recognition, Chapter 9 24 PCA – Principal Component Analysis • • Składowe główne zależą od skali (jednostki)! Przed przystąpieniem do analizy można ustandaryzować dane pomiarowe taki sposób, aby wartości cech miały podobne zakresy • Typową metodą standaryzacji jest przesunięcie wartości średniej do zera oraz unormowanie wariancji do jedności. Wówczas składowe główna można wyznaczyć na podstawie macierzy korelacji. Statistical Pattern Recognition, Chapter 9 25 PCA – Principal Component Analysis • Zadanie: wyznaczyć składowe główne dla dwuwymiarowego zbioru: X={ (1,2), (3,3), (3,5), (5,4), (5,6), (6,5), (8,7), (9,8) } • Rozwiązanie: 6.25 4.25 Σ= 4.25 3.5 • Macierz kowariancji: • Wartości własne są rozwiązaniami równania charakterystycznego: Σ − λI = 0 ⇒ • 6.25 − λ 4.25 λ = 9.34 4.25 =0 ⇒ 1 λ2 = 0.41 3.5 − λ Wektory własne są rozwiązaniami układu: a11 0.81 6.25 4.25 a11 λ1a11 = ⇒ a = 0.59 4.25 3.5 a λ a 12 1 12 12 a21 − 0.59 6.25 4.25 a21 λ2 a21 4.25 3.5 a = λ a ⇒ a = 0.81 22 2 22 22 Statistical Pattern Recognition, Chapter 9 26 LDA – Linear Discriminant Analysis • Celem transformacji jest podkreślenie informacji pozwalającej odseparować próbki pochodzące z różnych klas x2 • Informacja o przynależności do klas jest brana pod uwagę 2 2 2 22 2 2 2 22 2 22 2 2 1 2 2 2 2 2 11 1 11 11 1 1 1 1 1 1 11 11 1 1 11 x1 Statistical Pattern Recognition, Chapter 9 27 LDA – Linear Discriminant Analysis • Przypadek z dwiema klasami • n1 próbek należy do klasy ω1, n2 próbek należy do klasy ω2 ( n1 + n 2 = n ) {[x i1 xi 2 xip ]} T • Szukamy takiego kierunku a, na który będziemy rzutować dane pomiarowe: y = aT x [ x i = xi1 xi 2 xip ] T wymagając, aby po zrzutowaniu dane pochodzące z różnych klas były od siebie jak najbardziej odseparowane. Statistical Pattern Recognition, Chapter 9 28 LDA – Linear Discriminant Analysis • Przykład w dwuwymiarowej przestrzeni cech x2 x2 µ~ j = 1 nj ∑ yi = y∈ω j ,i 1 nj ∑ω a y∈ T x i = aT μ j j ,i µ~ μ μj = x1 1 nj x ∑ ω x∈ i j ,i x1 Statistical Pattern Recognition, Chapter 9 29 LDA – Linear Discriminant Analysis • Jak mierzyć separowalność klas dla danych rzutowanych na kierunek a ? • Propozycja: mierzyć odległość między średnimi po projekcji: J (a ) = µ~1 − µ~2 = aT (μ1 − μ 2 ) x2 klasy są dobrze odseparowane Problem: nie bierzemy μ1 pod uwagę rozrzutu μ2 danych x1 duża odległość między średnimi Statistical Pattern Recognition, Chapter 9 30 LDA – Linear Discriminant Analysis • • • • x2 Propozycja Fishera: uwzględnić rozrzuty danych w klasach Rozrzut w klasie: ~ s j2 = ∑ (y − µ~ ) y∈ω j ,i i 2 j µ~1 − µ~2 aT S B a Miara separowalności: J (a ) = ~s 2 + ~s 2 = aT S a 1 2 W Szukamy transformacji, po której próbki z jednej klasy leżą w pobliżu siebie i jednocześnie średnie po transformacji leżą daleko μ1 μ2 x1 Statistical Pattern Recognition, Chapter 9 31 LDA – Linear Discriminant Analysis • Aby znaleźć maksimum funkcji J(a), różniczkujemy względem a i przyrównujemy do zera: dJ d aT S B a = =0 da da a T S W a [ ] [ ] [ ] [ ] d a T SW a d aT S B a T a SW a − a S Ba =0 da da T [a S a]2S a − [a S a] 2S T T W B B W a=0 Statistical Pattern Recognition, Chapter 9 32 LDA – Linear Discriminant Analysis • Następnie dzielimy obie strony przez aTSWa: a T SW a aT S B a T S B a − T SW a = 0 a SW a a SW a S B a − J SW a = 0 SW−1S B a − J a = 0 co prowadzi w rezultacie do uogólnionego zagadnienia rozkładu na wektory i wartości własne: • SW−1S B a = J a Rozwiązaniem jest: aT S B a −1 a = arg max T = SW (μ1 − μ 2 ) a a SW a ∗ Statistical Pattern Recognition, Chapter 9 33 LDA – Linear Discriminant Analysis • Zadanie: wyznaczyć kierunek, który najlepiej separuje obserwacje: X1={ (4,1), (2,4), (2,3), (3,6), (4,4) }; X2={ (9,10), (6,8), (9,5), (8,7), (10,8) } • Rozwiązanie: 0.8 − 0.4 1.84 − 0.04 29.16 21.6 ; S2 = ; SB = S1 = 0 . 4 2 . 6 0 . 04 2 . 64 21 . 6 16 − − 2.64 − 0.44 μ1 = [3 3.6]; μ 2 = [8.4 7.6]; SW = 0 . 44 5 . 28 − • Wektory własne są rozwiązaniami układu: S S B a = λa ⇒ S S B − λI = 0 ⇒ −1 W −1 W 11.89 − λ 5.08 8.81 = 0 ⇒ λ = 15.65 3.76 − λ a1 a1 0.91 11.89 8.81 a1 15 . 65 = ⇒ a a = 0.39 5.08 3.76 a 2 2 2 • lub bezpośrednio: a∗ = SW−1 (μ1 − μ 2 ) = [− 0.91 − 0.39] T Statistical Pattern Recognition, Chapter 9 34 LDA – Linear Discriminant Analysis • Uogólnienie na C klas: poszukujemy C-1 wektorów a1, a2,…, aC-1 dających rzuty y1, y2,…, yC-1 : y = AT x x2 Miara separowalności: SW1 μ1 AT S B A J (A ) = T A SW A SB1 SB3 SB2 μ3 SW3 μ2 SW2 x1 Statistical Pattern Recognition, Chapter 9 35 LDA – Linear Discriminant Analysis • Rozwiązaniem jest: AT S B A ∗ A = arg max T = (S B − λ j SW )a j = 0 a A SW A ∗ • Kierunki związane z największą separowalnością to wektory własne odpowiadające największym wartościom własnym macierzy SW−1S B . Statistical Pattern Recognition, Chapter 9 36 MDS – Multidimensional Scaling • Punktem wyjścia MDS jest macierz niepodobieństwa (dissimilarity matrix). Dla p-wymiarowego zbioru N próbek dane są wzajemne odległości dij , i,j=1,…,N. Macierz niepodobieństwa [ ] D = d ij • ma wymiar N x N MDS polega na ulokowaniu próbek w przestrzeni o zadanej liczbie wymiarów w taki sposób, aby wzajemne odległości zostały w możliwie najlepszym stopniu zachowane • • MDS pozwala na zastosowanie nieliniowych transformacji cech Szukane: [ X = x1 x2 x N ] Statistical Pattern Recognition, Chapter 9 37 MDS – Multidimensional Scaling • Przykład 2000 Helsinki Moskwa 1500 Ateny Berlin Dublin Helsinki Ateny 0 1803 2859 2469 Berlin 1803 0 1322 1107 Dublin 2859 1322 0 2031 Helsinki 2469 1107 2031 0 … … 1000 Dublin Londyn 500 Berlin Paryż … 0 … Zurych Lizbona Madryt -500 Istambuł -1000 Rzym Ateny -1500 -2000 -2500 -1500 -500 500 1500 2500 Statistical Pattern Recognition, Chapter 9 38 MDS – Multidimensional Scaling • Kwadrat odległości Euklidesowej między próbkami o numerach s i r jest równy: d = x −x 2 rs r s 2 p ( = ∑ xrj − xsj j =1 ) =∑x p 2 j =1 2 rj p p j =1 j =1 − 2∑ xrj xsj + ∑ xsj2 = brr + bss − 2brs p T b = x x ⇔ B = XX ∑ rs rj sj gdzie (*) j =1 • W celu uzyskania jednoznacznego rozwiązania, umieszczamy średnią z danych pomiarowych w początku układu współrzędnych oraz przyjmujemy założenie: N ∑x n =1 nj , j = 1,2, , p Statistical Pattern Recognition, Chapter 9 39 MDS – Multidimensional Scaling • Sumując równanie (*) po r, s, oraz r i s, a także definiując N p N T = ∑ bnn = ∑∑ xnj2 n =1 otrzymujemy: N ∑d r =1 2 rs = T + Nbss 2 rs = T + Nbrr N ∑d s =1 N • 1 d = N N 1 , d d = ∑ N r =1 2 rs 2 r• N ∑∑ d r =1 s =1 Definiujemy następnie: 2 •s n =1 j =1 N 2 rs = 2 NT 1 , d d = ∑ N2 s =1 2 rs 2 •• N N ∑∑ d r =1 s =1 2 rs Statistical Pattern Recognition, Chapter 9 40 MDS – Multidimensional Scaling • Z równania (*) mamy: brs = • • ( 1 2 d r • + d •2s − d •2• − d rs2 2 ) Wiadomo, że B = XXT , X = CD1/ 2 można użyć jako aproksymacji macierzy X, przy czym C jest macierzą, której kolumny są wektorami własnymi macierzy B a D1/2 jest macierzą diagonalną, której przekątna zawiera pierwiastki wartości własnych. • Selekcji cech dokonujemy – podobnie jak w PCA – na podstawie wartości własnych Statistical Pattern Recognition, Chapter 9 41 MDS – Multidimensional Scaling • Można pokazać, że wartości własne macierzy XXT (N x N) są identyczne jak wartości własne macierzy XTX (p x p), natomiast ich wektory własne powiązane są liniową transformacją. • Powyższy fakt wskazuje na związek między MDS a PCA: PCA wykonane na macierzy korelacji (zamiast kowariancji) jest równoważne MDS przy ustandaryzowanej odległości Euklidesowej, gdzie każda cecha ma jednostkową wariancję. Statistical Pattern Recognition, Chapter 9 42 MDS – Multidimensional Scaling • W ogólności, MDS polega na znalezieniu odwzorowania y = g(x; θ ) z p-wymiarowej przestrzeni cech do d-wymiarowej, gdzie θ jest wektorem parametrów. • Rozważane odwzorowanie może być liniowe i wówczas: y d = g(x; A d ) = A Td x • Zastosowanie nieliniowej transformacji g prowadzi do nieliniowych metod redukcji wymiaru. Statistical Pattern Recognition, Chapter 9 43 MDS – Multidimensional Scaling • Dla typowych zbiorów danych macierz niepodobieństwa D może mieć zbyt duży wymiar z punktu widzenia przetwarzania • MDS nie definiuje w sposób bezpośredni transformacji, która dla danego wektora x zwracałaby jego reprezentację y w transformowanej przestrzeni. Statistical Pattern Recognition, Chapter 9 Przykład zastosowania Ekstrakcja cech w systemie rozpoznawania mowy • Dane: • 150-ciu lektorów wymawiających dwukrotnie litery alfabetu (w sumie 7800 próbek) • • • Liczba cech: 617 Skupiono się na samogłoskach: `A`, `E`, `I`, `O`, `U`, `Y` Redukcja wymiarów do dwóch Michael Aupetit, Visualizing distortions and recovering topology in continuous projection techniques, Neurocomputing70 (2007) pp. 1304–1330 44 45 Rozwiązanie problemu • • • PCA LDA MDS – CCA (Curvilinear Component Analysis) I A U E O Y