Lokalne klasyfikatory jako narzędzie analizy i klasyfikacji sygnałów 25 listopada 2005
Lokalne klasyfikatory... 2 Część I Hierarchiczne biortogonalne bazy dyskryminacyjne
Lokalne klasyfikatory... 3 Sformułowanie problemu Opracować metodę do wyznaczania cech o następujących własnościach: Lokalność Każda cecha jest wyliczana na podstawie części oryginalnego sygnału. Dyskryminacja Przy wyliczaniu cech brana jest pod uwagę informacja o przynależności do klasy decyzyjnej. Liniowość Własność ta umożliwia rozpisanie analizowanego sygnału w specjalnej bazie zwanej lokalną bazą dyskryminacyjną.
Lokalne klasyfikatory... 4 Lifting Scheme Metoda konstrukcji falek zaproponowana przez Wima Sweldensa. Bardzo prosty i naturalny sposób konstrukcji falek. Nie wymaga znajomości transformaty Fouriera. Cała konstrukcja odbywa się w dziedzinie czasu (przestrzeni). Brak problemu z dziedzinami zwartymi (np. odcinkami) oraz z sygnałami, których długość nie jest potęgą dwójki.
Lokalne klasyfikatory... 5 Lifting Scheme - schemat x split x odd x even predict update c d
Lokalne klasyfikatory... 6 Lifting Scheme - update-first var x split x odd x even update c predict d
Lokalne klasyfikatory... 7 Lifting Scheme - operatory Niech x R T for T = 2 t dla pewnego t Z SPLIT - rozbij sygnał x na dwa podsygnały, składające się odpowiednio z próbek o indeksach nieparzystych (x o )i parzystych (x e ). UPDATE - wylicz zgrubną (ang. coarse) aproksymację c sygnału x c(k) = x e(k) + x o (k) 2, k = 1, 2,..., T/2 PREDICT - wylicz współczynniki falkowe d d(k) = PREDICT k (x e (k), c), k = 1, 2,..., T/2
Lokalne klasyfikatory... 8 Lifting Scheme - przykład
Lokalne klasyfikatory... 9 Liniowa wersja operatora PREDICT w 0 k x(2k) d(k) c(k) w k 1 w 2 k c(k+1) Współczynniki d(k) można wyznaczyć następująco: d(k) = x e (k) (w 1 c(k) + w 2 c(k + 1)) częściowa regularyzacja d(k) = w 0 x e (k) (w 1 c(k) + w 2 c(k + 1)) pełna regularyzacja
Lokalne klasyfikatory... 10 Liniowa wersja operatora PREDICT Zadaniem jest znalezienie takich współczynników d(k), które będą rózne dla przykładów z różnych klas. Pełna regularyzacja d(k) = w 0 x e (k) (w 1 c(k) + w 2 c(k + 1)) Niepełna regularyzacja d(k) = x e (k) (w 1 c(k) + w 2 c(k + 1))
Lokalne klasyfikatory... 11 Proximal Support Vector Machines Autor Olvi Mangasarian (bardzo płodny w dziedzinie SVM). Polecam lekturę jego strony www http://www.cs.wisc.edu/~olvi/ Jedna z wielu wersji powszechnie znanej metody opracowanej przez Vapnika. Łatwa w implementacji (wystarczy umieć rozwiązywać układy równań). Wspaniała jak korzysta się z Matlaba/Octave (kilka linijek kodu). Równie skuteczna co klasyczne SVM.
Lokalne klasyfikatory... 12 PSVM - obrazek poglądowy
Lokalne klasyfikatory... 13 PSVM - wersja liniowa Załóżmy, że dysponujemy zbiorem treningowym postaci X = {(x 1, y 1 ),..., (x l, y l )} gdzie x i R N, y i {+1, 1}. Reguła klasyfikacyjna jest postaci: h(x) = η( w, x + γ) gdzie η(t) = +1 dla t > 0 1 dla t 0
Lokalne klasyfikatory... 14 PSVM - wersja liniowa Optymalny wektor w jest dany poprzez rozwiązanie następującego problemu optymalizacyjnego przy ograniczeniach min w,γ,ξ 1 2 ( w 2 + γ 2 ) + ν 2 ξ 2 Y (Aw eγ) + ξ = e Proste rachunki prowadzą do następujących wzorów: [ 1 ( ) ] 1 u = ν I + Y AA T + ee T Y e w = A T Y u γ = e T Y u
Lokalne klasyfikatory... 15 przy ograniczeniach PSVM - dodatkowe ograniczenia min w,γ,ξ 1 2 ( w 2 + γ 2 ) + ν 2 ξ 2 Y (Aw eγ) + ξ = e Bw = f Proste rachunki prowadzą do następujących wzorów: { 1 [ ( ) ] u = ν I + Y AA T + ee T AB T BB T BA T Y [e ( ) ] Y AB T BB T 1 f } 1 w = A T Y u + B T (BB T ) 1 f B T [( BB T ) BA T Y ] u γ = e T Y u
Lokalne klasyfikatory... 16 Szybki algorytm dla PSVM Do rozwiązywania układów równań postaci ( G + UV T ) x = b można wykorzystać formułę Shermana-Morrisona-Woodbury ego ( G + UV T ) 1 = G 1 G 1 U ( I + V G 1 U ) 1 V T G 1 Rozwiązanie PSVM jest dane tego typu układem (także z dodaktowymi ograniczeniami) Redukcja kosztu obliczeniowego jest znacząca. (Przypominam, że koszt rozwiązywania układu równań jest rzędu O(n 3 )). W przypadku zastosowania funkcji jądrowych, zysk nie będzie duży, chyba, że zastosuje się podejście zwane Reduced Support Vector Machines (pomysł Mangasariana).
Lokalne klasyfikatory... 17 Po co wersja z dodatowymi ograniczeniami? Klasyczny Lifting Scheme narzucał na operator PREDICT taki warunek, aby w przypadku gdy sygnał x jest lokalnie wielomianem, współczynniki falkowe d(k) były równe 0. Konsekwencje są takie, że liczba otrzymanych współczynników jest (w przypadku odpowiednio gładkich sygnałów) jest dużo mniejsza niż liczba próbek (Kompresja) Stosując wersję algorytmu z niepełną regularyzacją oraz PSVM z dodaktowymi ograniczeniami możemy otrzymać bazę, która będzie spełniała dwa warunki: Współczynniki będą równe 0 jeśli sygnał będzie lokalnie wielomianem. Współczynniki będą różne dla różnych przykładów z różnych klas.
Lokalne klasyfikatory... 18 Przykład (dane Waveform) 8 6 4 2 0-2 -4 0 5 10 15 20 25 30 35 10 8 6 4 2 0-2 -4 0 5 10 15 20 25 30 35 Rysunek 1: Zbiór treningowy (dwie klasy z trzech)
Lokalne klasyfikatory... 19 8 7 6 5 4 3 2-1 01-2 -3 8 7 6 5 4 3 2-1 01-2 -3 0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16 0.55 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 2 4 6 8 10 12 14 16 6 5 4 3 2 1 0-1 -2 6 5 4 3 2 1 0-1 -2 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 0.18 0.17 0.16 0.15 0.14 0.13 0.12 0.11 0.1 0.09 1 2 3 4 5 6 7 8-0.5 0-1.5-1 5 4 3 2 1 0-1 -2 3.5 2.5 3 1.5 2 0.5 1 1 1.5 2 2.5 3 3.5 4 1 1.5 2 2.5 3 3.5 4 0.13 0.125 0.12 0.115 0.11 0.105 0.1 0.095 1 1.5 2 2.5 3 3.5 4 Rysunek 2: Zgrubna aproksymacja oraz błąd klasyfikacji dla trzech poziomów dekompozycji (błąd dla danych oryginalnych wynosi 0.10)
Lokalne klasyfikatory... 20 Analysis Synthesis Base vector 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 3132 Time (samples) Base Vector 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 3132 Time (samples) 11000 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 Rysunek 3: Nośniki dyskryminacyjnej bazy biortogonalnej
Lokalne klasyfikatory... 21 10 8 6 4-2 02-4 -10-8 -6 0 5 10 15 20 25 30 35 0.15 0.1 0.05 0-0.05-0.1-0.15 0 5 10 15 20 25 30 35 10000 8000 6000 4000 2000-2000 0-4000 -6000-8000 -10000 40000 30000 20000 10000 0-10000 -20000-30000 -40000 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0.04 0.02 0-0.02-0.04-0.06-0.08-0.1 0.05 0.04 0.03 0.02 0.01-0.01 0-0.02-0.03-0.04-0.05-0.06 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 Rysunek 4: Wektory bazowe: synteza (lewa), analiza (prawa) dla trzech poziomów dekompozycji.
Lokalne klasyfikatory... 22 Część II Zastosowania
Lokalne klasyfikatory... 23 Różne scenariusze Zespół najlepszych Zespół klasyfikatorów składa się z kilku najlepszych współczynników (ocena poprzez walidację krzyżową) Bagging Zespół klasyfikatorów jest konstruowany na pseudo zbiorach treningowych powstałych poprzez losowanie ze zwracaniem ze zbioru oryginalnego. Arcing dla wielu klas Jak bagging z tym, że losowanie odbywa się według odpowiednio zmienianego rozkładu na zbiorze treningowym.
Lokalne klasyfikatory... 24 Różne scenariusze Arcing + stacking Zespół klasyfikatorów jest tworzony jak w arcing ale ostateczna klasyfikacja jest przy pomocy dodatkowego klasyfikatora (PSVM). Las drzew Wersja bardzo ciekawego algorytmu. Modyfikacja polega na tym, że w każdym węźle budowanego drzewa wybierany jest losowy współczynnik falkowy. Wiele klas Bazowe klasyfikatory są binarne, dlatego należy zastosować odpowiednio zmodyfikowane wersje powyższych algorytmów.
Lokalne klasyfikatory... 25 Algorytm został przetestowany na zestawie uzyskanym od Eamonna Koegha Cylinder-Bell-Funel 3 klasy, 128 próbek Waveform 3 klasy, 32 próbki Tracedata 4 klasy, 275 próbek Gunx 2 klasy, 150 próbek Control 6 klas, 60 próbek Auslan 10 klas, 30 próbek, sygnał wielokanałowy dodatkowo zmierzyłem się z następującymi danymi USPS 10 klasy, 256 próbek EEG Dane z konkursu BCI (2003 i 2005)
Lokalne klasyfikatory... 26 Wyniki CBF 0.053 0.029 0.029 0.04 0.019 0.0 Waveform 0.15 0.15 0.156 0.15 0.15 0.14 Trace 0.165 0.15 0.0415 0.415 0.019 0.0 Gunx 0.25 0.105 0.255 0.10 0.03 0.005 Twopattern - 0.15 0.13 - - 0.0256 Control - - 0.02 0.112 0.005 0.0017 Auslan - - - 0.01-0.02 USPS - - - 0.10 0.08 0 EEG(2003) 0.10 - - - - 0.113 EEG(2005) 0.41 - - - - 0.09
Lokalne klasyfikatory... 27 Część III Zakończenie
Lokalne klasyfikatory... 28 Wnioski Algorytm jest kosztowny, ale można z tym walczyć poprzez wykorzystanie wbudowanej równoległości oraz wydajnych bibliotek do algebry liniowej. Uzyskane cechy wyliczane są na podstawie fragmentu sygnału. Można to wykorzystać do identyfikacji potencjalnie ciekawych części sygnału. Podejście takie zostało zastosowane przy analizie danych z Instytutu Nenckiego. Istnieje możliwość stosowania tzw. kernel trick do wyliczania cech. Traci się wtedy własność liniowości.
Lokalne klasyfikatory... 29 Propozycje rozszerzeń Uogólnienie metody na sygnały wielowymiarowe poprzez tzw. nieseparowalne bazy falkowe. Bardzo komplikuje się implementacja. Bardziej stabilny algorytm dla PSVM z dodatkowymi ograniczeniami. Sygnały o różnych długościach. Algorytm uczenia wykorzystujący dane bez etykietek. Warto by było się zastanowić i przebadać dlaczego czasami jakość jest bardzo kiepska! Testy, testy, testy