Metody klasyfikacji Danych wielowymiarowych by mgr inz. Marcin Kurdziel and mgr inz. Tomasz Arodz

Podobne dokumenty
UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

7. Maszyny wektorów podpierajacych SVMs

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Klasyfikacja LDA + walidacja

wiedzy Sieci neuronowe

Metody Sztucznej Inteligencji II

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

SVM: Maszyny Wektorów Podpieraja cych

5. Analiza dyskryminacyjna: FLD, LDA, QDA

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Klasyfikatory SVM. Przemysław Klęsk. 1 Wiadomości ogólne 1. 2 Margines separacji Wzór na odległość punktu od płaszczyzny...

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy sztucznej inteligencji

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Uczenie Wielowarstwowych Sieci Neuronów o

A Zadanie

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

wiedzy Sieci neuronowe (c.d.)

Inteligentne systemy przeciw atakom sieciowym

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

Elementy inteligencji obliczeniowej


8. Neuron z ciągłą funkcją aktywacji.

Wprowadzenie do uczenia maszynowego

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

W ostatnim wykładzie doszliśmy do tego, że problem znalezienia klasyfikatora optymalnego pod względem marginesów można wyrazić w następujący sposób:

WYKŁAD: Perceptron Rosenblatta. Maszyny wektorów podpierających (SVM). Empiryczne reguły bayesowskie. Zaawansowane Metody Uczenia Maszynowego

Rozpoznawanie obrazów

Metody klasyfikacji danych - część 1 p.1/24

Konstrukcja biortogonalnych baz dyskryminacyjnych dla problemu klasyfikacji sygnałów. Wit Jakuczun

Entropia Renyi ego, estymacja gęstości i klasyfikacja

Zastosowania sieci neuronowych

1. Logika, funkcje logiczne, preceptron.

Metody systemowe i decyzyjne w informatyce

Uczenie sieci typu MLP

Uczenie sieci neuronowych i bayesowskich

Metody systemowe i decyzyjne w informatyce

Optymalizacja systemów

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Algorytm grupowania danych typu kwantyzacji wektorów

Biometria WYKŁAD 7: ROZPOZNAWANIE I KLASYFIKACJA OBIEKTÓW

Lokalne klasyfikatory jako narzędzie analizy i

Automatyczna predykcja. Materiały/konsultacje. Co to jest uczenie maszynowe? Przykład 6/10/2013. Google Prediction API, maj 2010

Co to jest grupowanie

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Sprawdzian 3 gr1 (22/01/04) Imie i nazwisko:...grupa: Odpowedz na wszystkie pytania, pamietaj o uzasadnieniu odpowiedzi.

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych.

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Uczenie sieci radialnych (RBF)

Iteracyjne rozwiązywanie równań

Popularne klasyfikatory w pakietach komputerowych

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

Widzenie komputerowe

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

KADD Minimalizacja funkcji

Programowanie celowe #1

6. Perceptron Rosenblatta

Optymalizacja ciągła

Wprowadzenie. Metody bayesowskie Drzewa klasyfikacyjne i lasy losowe Sieci neuronowe SVM. Klasyfikacja. Wstęp

Sieć przesyłająca żetony CP (counter propagation)

Zastosowania sieci neuronowych

ŁĄCZENIE RÓWNOLEGŁE MODELI KLASYFIKACJI OTRZYMANYCH METODĄ WEKTORÓW NOŚNYCH

Wyk lad 9 Baza i wymiar przestrzeni liniowej

Wykład 14. Elementy algebry macierzy

1 Formy hermitowskie. GAL (Informatyka) Wykład - formy hermitowskie. Paweł Bechler

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka ADALINE.

SIECI RBF (RADIAL BASIS FUNCTIONS)

Projekt Sieci neuronowe

Teoria systemów uczacych się i wymiar Vapnika-Chervonenkisa

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska

Metody klasyfikacji dla nielicznej próbki wektorów o wielkim wymiarze

TEORETYCZNE PODSTAWY INFORMATYKI

WYKŁAD 3. Klasyfikacja: modele probabilistyczne

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

WYKŁAD 4. Podejmowanie decyzji dla modeli probabilistycznych Modelowanie Gaussowskie. autor: Maciej Zięba. Politechnika Wrocławska

Sztuczne sieci neuronowe (SNN)

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Rozpoznawanie obrazów

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

Diagonalizacja macierzy i jej zastosowania

Oracle Data Mining 10g

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane cd.

Programowanie liniowe

Metody klasyfikacji danych - część 2 p.1/55

Klasyfikacja metodą Bayesa

Agnieszka Nowak Brzezińska Wykład III

Transkrypt:

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