Metody klasyfikacji Danych wielowymiarowych by mgr inz. and mgr inz. Tomasz Arodz supervised by Professor Dr W.Dzwinel Agenda Klasyfikacja liniowa podstawowe pojecia Algorytm perceptronu Fisher Linear Discriminant Support Vector Classification Optymalna plaszczyzna separujaca Przypadek klas nieseparowalnych Uogólnienie algorytmu SVC separacja nieliniowa Rezultaty 1
Klasyfikacja liniowa podstawowe pojecia { } Zbiór danych trenujacych: xi, i =1,..., n n Kazdy wektor xi R ma scisle przypisana przynaleznosc klasowa: { 0,1} Klasy rozdzielamy hiperplaszczyzna n (plaszczyzna w przestrzeni R ): T Φ : w x + b = n i= 1 w x + b = 0 i i y i Klasyfikacja liniowa podstawowe pojecia (c.d.) Hiperlaszczyzna w przestrzeni n-wymiarowej 2
Algorytm perceptronu Aby uproscic zapis, wygodnie jest rozwazac n+1 hiperplaszczyzne w przestrzeni R : w = z = Φ : [ w1, w2, K, wn, b] T [ x x, K, x,1] 1, w T 2 z = n + 1 i= 1 n w z i i T = 0 Wtedy funkcja decyzyjna przyjmuje postac: φ ( z) T 1 w z > 0 = T 0 w z 0 Algorytm perceptronu (c.d.) Diagram perceptronu Z1 Z2 Z3 1 Zn+1 n+1 3
Algorytm perceptronu (c.d.) Trening perceptronu ma charakter algorytmu iteracyjnego postaci: m=1; do Gdzie wybierz m-ty wektor z zbioru trenujacego (cyklicznie). m+1 m w = w +η y φ z z ( ( )) m m until (wszystkie wektory sa poprawnie klasyfikowane) η > 0 to stala uczenia m Fisher Linear Discriminant Klasyfikacja wieloklasowa: { C C K } - K klas 1, 2, C K Cel znalezc transformacje liniowa która maksymalizuje odleglosc srodków klas a zarazem minimalizuje odleglosc wektorów wewnatrz klas µ x Niech oznacza srodek calego zbioru danych trenujacych, zas µ x,k srodek klasy k. 4
Fisher Linear Discriminant (c.d.) Definiujemy macierze: macierz rozrzutu pomiedzy klasami S ( µ µ )( µ ) T K b = N k x, k x, k x, k µ x, k k = 1 macierz rozrzutu wewnatrz klas S K ( xi µ x, k )( xi x, k ) w = µ k = 1 C x i k Wyznaczamy przeksztalcenie w które optymalizuje kryterium Fishera: T det( w SBw) max T det w S w ( ) w T Fisher Linear Discriminant (c.d.) Sprowadza sie to do znalezienia wektorów 1 wlasnych macierzy: S b S w FLD PCA 5
Support Vector Classification Separacja hiperplaszczyzna Margin Width Margin Width 6
Separacja hiperplaszczyzna cd Class 1 wx + b < 0 m Class 2 wx + b = 1 wx + b > 0 wx + b =1 wx + b = 0 Mozna pokazac ze margines separacji m jest ograniczony przez: m 2 w Optymalna plaszczyzna separujaca Niech { xi, i =1,..., n} oznacza zbiór danych trenujacych. Dalej niech y i { 1,1 } reprezentuje przynaleznosc wektora x i do jednej z klas. Warunek poprawnej klasyfikacji narzuca: ( wx + b) 1, i = 1 n yi i,..., 7
Optymalna plaszczyzna separujaca cd Zadanie budowy optymalnej plaszczyzny separujacej mozna wiec wyrazic jako nastepujacy problem optymalizacyjny: zminimalizuj: (lub inaczej: ) 2 w 1 w 2 1 2 tak aby: y ( wx + b) 1, i = 1 n i i,..., Przypadek klas liniowo nieseparowalnych W przypadku gdy dane wejsciowe formuluja klasy nieseparowalne liniowo zaproponowany problem optymalizacyjny nie bedzie posiadal rozwiazania. Co wiecej, jesli dane wejsciowe zawieraja szum, wymóg 100% poprawnej klasyfikacji moze prowadzic do granic decyzyjnych charakteryzujacych sie slaba generalizacja. Konieczne jest uogólnienie algorytmu. 8
Przypadek klas liniowo nieseparowalnych cd Przypadek klas liniowo nieseparowalnych cd Uogólnienie algorytmu na przypadek klas liniowo nieseparowalnych prowadzi sie poprzez oslabienie ograniczen: ( wx + b) 1 ξ, ξ 0, i = 1 n yi i i i,..., Odpowiednio trzeba tez zmienic funkcje celu: τ n 1, ξ 2 2 ( w?) = w + C i= 1 i 9
Przypadek klas liniowo nieseparowalnych cd ξ i ξ i Postac dualna Stosujac uogólniona metode Mnozników Lagrangea mozna tak postawiony problem przeksztalcic do postaci dualnej latwej do rozwiazania numerycznie. maksymalizuj: n n 1 W( a) = α i α iα jyi yj xix 2 tak aby: 0 α C, i i= 1 i, j= 1 i = 1,..., n ( ) j n i= 1 α y i i = 0 10
Postac dualna cd Jako rozwiazanie dostajemy wektor mnozników: Generuje on plaszczyzna decyzyjna postaci: a n class( x) = sgn α yi i= 1 gdzie: i xi, x + b b = y i αi y n j= 1 j x, x j i, α i 0 Postac dualna cd Wiekszosc mnozników a i rozwiazania jest zerowa. x i Wektory dla których zachodzi a i 0 nazywamy Support Vectors. Tylko takie wektory wnosza przyczynek do rozwiazania. r 11
Idea klasyfikacji opartej na kernelu Przyklady algorytmów opartych na kernelu. Przyklad zaklasyfikuj punkt w przestrzeni cech do klasy której srodek znajduje sie blizej. Rozwiazanie kernelowe? Oblicz znak iloczynu skalarnego wektorów i 12
Przyklady algorytmów opartych na kernelu cd Kolejny przyklad - rozwazmy jednomiany stopnia 2 wspólrzednych danych wejsciowych. Przyklady algorytmów opartych na kernelu cd Ale: Bardziej ogólnie wszystkie jednomiany stopnia d d Co wiecej, dla: ( < x, x' > + 1) otrzymujemy wszystkie jednomiany stopnia nie wiekszego od d 13
Wielomianowy: Czesto stosowane kernele Gaussowski: Sigmoidalny: Nieliniowy klasyfikator SVM Poniewaz klasyfikator SVM wykorzystuje dane wejsciowe jedynie przez iloczyny skalarne mozliwe jest jego delinearyzacja poprzez zastosowanie kernela. Otrzymujemy nastepujaca funkcje decyzyjna: n class( x) = sgn α i= 1 b = y i αi y n j= 1 j K i yi K i, ( x x) + b ( x, x ), α 0 j i i 14
Rezultaty 6 6 5 5 4 4 3 3 2 2 1 1 0 0-1 -1-2 -2-3 -5 0 5 10 15-3 -5 0 5 10 15 Rezultaty cd. 15
Rezultaty cd Rezultaty cd, 16
Rezultaty cd. Rezultaty cd. 17
Rezultaty cd. Metody klasyfikacji danych wielowymiarowych II 18
Agenda Sieci neuronowe Wielowarstwowy perceptron Metody Ensemble Classification Boosting Bagging Random Subspace Method Perceptron wielowarstwowy Perceptron realizuje liniowa granice decyzyjna Niemoznosc rozwiazania pewnych problemów: np. problemu XOR Aby usunac to ograniczenie, wprowadza sie kilka warstw perceptronów W kazdej warstwie znajduje sie pewna liczba perceptronów 19
Uczenie sieci wielowarstwowej Aby mozliwe bylo uczenie sieci wielowarstwowej, funkcja aktywacji neuronu musi byc rózniczkowalna Równoczesnie musi stosunkowo dobrze przyblizac zachowanie funkcji binarnej Przyklad: funkcja sigmoidalna Metoda uczenia: Niech: Uczenie sieci wielowarstwowej (II) w ji oznacza wage polaczenia z neuronu i do j Dopóki blad nie spadnie ponizej E Dla kazdego wektora wejsciowego x o wektorze wyjsciowym t Oblicz wynik o u dla kazdego perceptronu u Dla kazdego neuronu z warstwy wyjsciowej oblicz sygnal bledu Dla kazdego neuronu z warstw ukrytych oblicz sygnal bledu Oblicz zmiane wagi w ji : 20
Uczenie sieci wielowarstwowej (III) Sposób obliczania sygnalu bledu: Dla neuronów z warstwy wyjsciowej: Dla neuronów z warstw ukrytych: Sposób obliczania zmiany wag: Nieliniowosc sieci wielowarstwowych Liczba warstw = 1 decyzja liniowa Liczba warstw = 2 decyzja nieliniowa z ograniczeniami Liczba warstw = 3 dowolna nieliniowa granica decyzyjna 21
Ang. Ensemble methods Klasyfikatory zbiorcze Koncowa decyzja oparta na decyzjach zbioru prostych klasyfikatorów Klasyfikator prosty moze charakteryzowac sie stosunkowo duzym bledem Koncowy klasyfikator zbiorczy konstruowany w ten sposób, by na podstawie niepewnych decyzji zbioru klasyfikatorów prostych podjac decyzje w sposób pewny Klasyfikatory typu Boosting najpopularniejsze klasyfikatory zbiorcze Inne rodzaje to: Bagging, Random Subspace Method Boosting podejmowanie decyzji Zbiór T klasyfikatorów prostych h t, t=1..t h t (x) = {+1,-1} Klasyfikator koncowy h = [-1,1]: Sign(h) jest traktowane jako koncowa decyzja Abs(h) jest traktowane jako jakosc decyzji 22
Boosting uczenie Dziala w turach, w kazdej trenujac jeden klasyfikator prosty h t Klasyfikatory proste w róznych turach maja inny cel uczenia Cel uczenia klasyfikatorów prostych minimalizacja bledu na tym samym zbiorze treningowym przy zmienionych prawdopodobienstwach (wagach) poszczególnych przykladów Boosting algorytm uczenia Inicjalizacja: Przypisanie wszystkim przykladom x i wagi D 0 (i)=d 0 Kolejne tury: Wyuczenie prostego klasyfikator h t by minimalizowal blad na zbiorze {x i } wazonym wagami D t (i) Zmiana wagi D t (i) odpowiednio w zaleznosci od wyniku dzialania h t Obliczenie wagi α t klasyfikatora h t w koncowym klasyfikatorze h 23
Boosting wagi klasyfikatorów Obliczenie bledu wazonego Obliczenie parametru β t Waga α t klasyfikatora prostego h t Wartosc α t jest dobierana tak, by minimalizowac: Boosting wagi przykladów Obliczenie bledu wazonego Obliczenie parametru β t Zmiana wag D t (i) Kazdy przyklad x i jest klasyfikowany nowym klasyfikatorem prostym h t Jesli x i jest sklasyfikowany poprawnie, zmiana wagi: Normalizacja wag, by ich suma byla równa 1 24
Uczenie przyklad Uczenie przyklad II 25
Stosowane klasyfikatory proste Drzewa decyzyjne decision stump klasyfikator liniowy równolegly do wszystkich z wyjatkiem jednej osi przestrzeni cech Klasyfikatory liniowe, np. oparte o PCA, LDA Siecie neuronowe, np. pojedynczy perceptron SVM Boosting jako klasyfikator nieliniowy Nieliniowy klasyfikator prosty: Przy zalozeniu, iz klasyfikator prosty jest liniowy: Boosting wprowadza dodatkowa warstwe Odpowada to sieci neuronowej o dwóch warstwach Pozwala na klasyfikacje nieliniowa, ale z ograniczeniami 26
Problem dwuklasowy na plaszczyznie Nieliniowosc - przyklady Nieliniowosc przyklady (II) Wynik uczenia dla AdaBoost z liniowym klasyfikatorem prostym opartym na PCA i decision stump 27
Nieliniowosc przyklady (III) Wynik uczenia dla AdaBoost z liniowym klasyfikatorem prostym opartym na LDA i decision stump Nieliniowosc przyklady (IV) Problem poprzedni z mniejsza liczba danych treningowych 28
Nieliniowosc przyklady (V) Wynik uczenia dla AdaBoost z liniowym klasyfikatorem prostym opartym na LDA i decision stump Boosting teoretyczne podstawy Warunki nakladane na prosty klasyfikator Blad mniejszy niz 50% Mozliwosc treningu dla przykladów z wagami Niestabilnosc podatnosc na zmiany wag Gwarantowane ograniczenie na blad klasyfikacji na zbiorze treningowym 29
Boosting generalizacja (1) Wymiar Vapnika-Chervonenkisa (VC) Miara zlozonosci klasyfikatora Max. d takie, ze d przykladów mozna sklasyfikowac na 2 d sposobów przez klasyfikatory z danej rodziny Np. dla pojedynczej granicy decyzyjnej w 1D, dla d=2 mozna (+- -+), dla d=3 nie (+-+), wiec VC-dim=2 Wymiar VC dla koncowej hipotezy Blad uogólnienia klasyfikatora Boosting generalizacja (2) Margines na przykladzie Margines na zbiorze przykladów minimum z marginesów na przykladach Blad wzgledem marginesu Blad uogólnienia wzgledem marginesu 30
Bagging Nazwa pochodzi od bootstrap aggregation Trenowanie zbioru klasyfikatorów podstawowych, na róznych podzbiorach zbioru trenujacego Klasyfikator podstawowy powinien samodzielnie dawac dobre wyniki Bagging stabilizuje dzialanie innych klasyfikatorów Bagging pozwala na uzyskanie lepszej zdolnosci do generalizacji Bagging podejmowanie decyzji Zbiór T klasyfikatorów podstawowych h t, t=1..t h t (x) = {+1,-1} Klasyfikator koncowy h = [-1,1]: Sign(h) jest traktowane jako koncowa decyzja Abs(h) jest traktowane jako jakosc decyzji 31
Bagging uczenie Dziala w turach, w kazdej trenujac jeden klasyfikator podstawowy h t Tury moga byc wykonywane równolegle nie sa od siebie zalezne Klasyfikatory podstawowe ucza sie na róznych zbiorach danych, wybranych losowo z powtórzeniami ze zbioru trenujacego Random Subspace Method Metoda podobna w celach do Baggingu Zamiast wybierac podzbiór danych treningowych wybiera sie podzbiór cech Konieczny stosunkowo dobry klasyfikator podstawowy Uczenie zachodzi w podprzestrzeni przestrzeni cech Podobnie jak w przypadku Baggingu, prowadzi to do lepszej zdolnosci uogólniania 32
Boosting - Przyklad zastosowania Wykrywanie twarzy 3000 przykladów Klasyfikator prosty 17000 cech Cechy 33