Popularne klasyfikatory w pakietach komputerowych Klasyfikator liniowy Uogólniony klasyfikator liniowy SVM aiwny klasyfikator bayesowski Ocena klasyfikatora ROC Lista popularnych pakietów
Klasyfikator liniowy 2 Działanie binarnego klasyfikatora liniowego: g(x) = w T x + w 0 Jeżeli g(x) > 0 to klasa ω 1 Jeżeli g(x) < 0 to klasa ω 2 Równanie g(x) = 0 definiuje hiperpowierzchnię rozdzielającą
3 Graficzna interpretacja Jeżeli x 1 i x 2 leżą na powierzchni rozdzielającej, to g(x 1 ) = g(x 2 ) x 2 x 1 ω 1 w T x 1 + w 0 = w T x 2 + w 0 w T (x 1 - x 2 ) = 0 ω 2 x 2 Wektor w jest ortogonalny do powierzchni rozdzielającej w x 1
4 Graficzna interpretacja Wektor w w jest unormowany do 1 a kierunek i zwrot ma identyczny x 2 jak w. Można zatem wyrazić dowolny wektor x w postaci x = x p + r, gdzie x p jest rzutem wektora x na powierzchnię rozdzielającą. w w w x p x r x 1
5 Graficzna interpretacja Mnożąc lewostronnie przez w T i dodając obustronnie w 0 dostajemy: w T x = w T x p + r w T w w w T x + w 0 = w T x p + w 0 + r w 2 w x 2 g(x) = g(x p ) + r w, x a ponieważ g(x p ) = 0, to dostajemy w x p g(x) r = w g(x) r = w x 1
6 Graficzna interpretacja W szczególnym przypadku, dla x leżącego w początku układu współrzędnych (x = 0) zachodzi x 2 g(x) = w T x + w 0 = w 0, x i wówczas w 0 r 0 = w w w 0 r 0 = w x p g(x) r = w x 1
7 Graficzna interpretacja w trzech wymiarach Zależność g(x) r = w ( w = const.) oznacza, że funkcję g(x) można traktować jako miarę odległości punktu x od powierzchni g(x) = 0. g(x) < 0 g(x) > 0
8 Klasyfikator dla wielu klas c klas obiektów Można zastosować c 1 klasyfikatorów binarnych (wada: istnienie obszarów o niejednoznacznej klasyfikacji) ω 2 nie ω 2 ω 1 nie ω 1? nie ω 3 ω 3 nie ω 4 ω 4
9 Zdefiniowanie c dyskryminatorów liniowych: g i (x) = w it x + w i0 (i = 1,,c) Jeżeli dla wszystkich j i g i (x) > g j (x), to klasa ω i Powierzchnie rozdzielające są zdefiniowane jako g i (x) = g j (x) a zatem (w i w j ) T x + (w i0 w j0 ) = 0 Obszary decyzyjne klasyfikatora liniowego są wypukłe ω 3 ω 2 ω 1 ω 5 ω 4
10 ieliniowe przekształcenie φ interpretacja geometryczna φ φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) x y
11 Uogólniony klasyfikator liniowy Zdefiniować nieliniową transformację do nowej przestrzeni, w której określony będzie klasyfikator liniowy Funkcja g ma uogólnioną postać g(x) = w T φ(x) lub dokładniej: g(x) = w T y, y = φ(x), φ(x) = [φ 1 (x) φ m (x)] T Geneza: metoda funkcji potencjałowych (1964) Przekształcenie φ odwzorowuje d-wymiarowe punkty x w m-wymiarowe punkty y
12 Typowe postacie funkcji φ i : kwadratowa, wielomian, funkcja Gaussa, logarytmiczna Przekształcenie φ(x) jest nieliniowe, ale klasyfikator g jest liniowy ze względu na y Można zatem stosować algorytmy uczenia dla klasyfikatorów liniowych Model z parametrem swobodnym w 0 uzyskuje się przez rozszerzenie wektora y o składową równą 1: y = [1 x 1 x d ] T = [1 x T ] T oraz odpowiednio w = [w 0 w 1 w d ] T
13 Przykład 1 g(x) = w 1 + w 2 x + w 3 x 2 = w T y, w = [w 1 w 2 w 3 ] T, y = [1 x x 2 ] T ieliniowe przekształcenie φ z przestrzeni 1-wymiarowej do 3-wymiarowej pozwala klasyfikatorowi liniowemu (w rozszerzonej przestrzeni) odseparować klasy nieseparowalne liniowo (w oryginalnej przestrzeni).
14 Przykład 2 g(x) = w 1 x 1 + w 2 x 2 + w 3 x 1 x 2 = w T y, w = [w 1 w 2 w 3 ] T, y = [x 1 x 2 x 1 x 2 ] T Powierzchnie rozdzielające w 3-wymiarowej przestrzeni zmiennych y są liniowe, jednak w 2-wymiarowej przestrzeni zmiennych x przyjmują bardziej skomplikowany kształt.
15 Popularne przykłady uogólnionych klasyfikatorów liniowych Dwuwarstwowa sieć neuronowa (perceptron) z liniową warstwą wyjściową Sieci neuronowe o radialnych funkcjach bazowych (RBF Radial Basis Function) Maszyny wektorów wspierających (SVM Support Vector Machines)
SVM Support Vector Machine 16 Początki: Vapnik 1992 Problem: położenie powierzchni rozdzielającej nie jest jednoznacznie określone (zakładamy liniową separowalność klas) x 2 poprawne powierzchnie rozdzielające x 1
17 Którą z nich wybrać? Co się stanie, jeżeli przeprowadzimy klasyfikację nowych obiektów? H 2 Wybór powierzchni rozdzielającej H 1 x 2 H 1 położonej w pobliżu obiektów ze zbioru uczącego jest ryzykowny : istnieje duża szansa, że nowy obiekt znajdzie się po jej niewłaściwej stronie. x 1
18 Wniosek: im dalej obiekty ze zbioru uczącego znajdują się od powierzchni rozdzielającej, tym lepiej z punktu widzenia zdolności klasyfikatora do uogólniania ależy zatem wybierać taką powierzchnię rozdzielającą, która leży najdalej od najbliższych obiektów ze zbioru uczącego x 2 wektory wspierające x 1 Dokładniej, szukamy powierzchni rozdzielającej, która maksymalizuje tzw. margines między klasami
19 x 2 x 1 Optymalna powierzchnia rozdzielająca prowadzi do modelu o najmniejszym wymiarze VC Do jej określenia wystarczą wektory wspierające, pozostała część zbioru uczącego nie wpływa na wynik
20 Chcemy tak dobrać parametry klasyfikatora, x 2 w x 1 aby dla wektorów wspierających zachodziło g(x) = const. dla jednej klasy i g(x) = - const. dla drugiej klasy. ajprościej przyjąć stałą równą 1. Wówczas margines jest równy 2. w
21 Maksymalizacja marginesu w = w T w 2 w sprowadza się do minimalizacji Zbiór uczący: T = {(x 1,y 1 ),, (x,y )}, gdzie y n ϵ {-1,+1} Ograniczenie: w obrębie marginesu nie może się znaleźć żaden obiekt ze zbioru uczącego: g(x n ) +1 dla y n = +1 g(x n ) -1 dla y n = -1 co można zapisać zwięźle jako y n g(x n ) 1 (równość zachodzi tylko dla wektorów wspierających)
22 Zadanie optymalizacji Zmienne decyzyjne: w, w 0 Funkcja celu: 1 2 w T w Ograniczenia: y n (w T x n +w 0 ) 1 0, n = 1,2,, Szukane: min Rozwiązanie w,w 0 1 2 w T w Funkcja Lagrange a 1 L(w, w 0,λ) = w T w λ n [ y n (w T x n +w 0 ) 1 ] 2 n=1
23 Warunki Kuhna-Tuckera L = w λ n y n x n = 0 d w n=1 L = λ n y n = 0 w 0 n=1 y n (w T x n +w 0 ) - 1 0 λ n [ y n (w T x n +w 0 ) - 1 ] = 0 λ n 0 w = λ n y n x n n=1 λ n y n = 0 n=1 n = 1,2,, (*) Dla ograniczeń nieaktywnych λ n = 0. Dla ograniczeń aktywnych λ n > 0. Ograniczenia są aktywne tylko dla wektorów wspierających. n ϵ SV, gdzie SV oznacza zbiór indeksów wektorów wspierających
24 Gdybyśmy znali wartości mnożników Lagrange a λ n dla wektorów wspierających, można uzyskać rozwiązanie w z wzoru: gdzie SV oznacza zbiór indeksów wektorów wspierających. Rozwiązanie w 0 można uzyskać z dowolnego wektora wspierającego: λ n [ y n (w T x n +w 0 ) - 1] = 0 w = λ n y n x n, n ϵsv y n (w T x n +w 0 ) = 1 (zauważmy, że y n = 1 / y n ) w 0 = y n w T x n W celu uzyskania większej stabilności numerycznej, można uśrednić w 0 po wszystkich wektorach wspierających
25 Jak najprościej wyznaczyć wartości mnożników Lagrange a? Problem dualny Wstawiamy równania (*) do funkcji Lagrange a, otrzymując: L D (w, w 0,λ) = 1 w T w λ n [ y n (w T x n +w 0 ) 1 ] = 2 n=1 = 1 w T λ n y n x n λ n y n w T x n λ n y n w 0 + λ n = 2 n=1 n=1 = 1 λ n y n w T x n λ n y n w T x n w 0 λ n y n + λ n = 2 n=1 n=1 = 1 λ n y n w T x n 0 + λ n = λ n λ n y n ( λ m y m x m ) T x n 2 n=1 n=1 n=1 L D (λ) = λ n λ n λ m y n y m x nt x m n=1 n=1 m=1 n=1 n=1 n=1 n=1 n=1 m=1
26 Problem dualny ma postać Zmienne decyzyjne: λ Funkcja celu: L D (λ) = λ n λ n λ m y n y m x nt x m Ograniczenia: n=1 n=1 m=1 λ n y n = 0, λ n 0 n=1 Wyznaczanie mnożników Lagrange a λ n : pakiety obliczeń numerycznych dostarczają wielu szybkich metod optymalizacji funkcji kwadratowej
27 Klasy nie są liniowo separowalne Przeformułowanie ograniczeń: g(x n ) +1 - ξ n dla y n = +1 x 2 g(x n ) -1 + ξ n dla y n = -1 co można zapisać zwięźle jako y n g(x n ) 1 - ξ n x i Minimalizowana jest funkcja 1 w T w + C ξ n 2 n=1 gdzie C jest tzw. parametrem w x j x 1 regularyzacji
28 Wyrażenia (*) nie ulegają zmianie Prymalna postać funkcji Lagrange a jest inna, ale dualna postać jest identyczna, przy czym pojawia się dodatkowe ograniczenie 0 λ n C Rozwiązanie w nie ulega zmianie Rozwiązanie w 0 wyznaczamy podobnie jak poprzednio z dowolnego wektora wspierającego lub uśredniając po wszystkich wektorach wspierających
29 ieliniowe SVM Klasy nie są liniowo separowalne Można utworzyć SVM w transformowanej przestrzeni, w której klasy dadzą się liniowo odseparować Punkty x oryginalnej przestrzeni przekształcamy nieliniową funkcją φ(x) Dualna postać funkcji Lagrange a: L D (λ) = λ n λ n λ m y n y m φ T (x n ) φ(x m ) n=1 n=1 m=1
30 ieliniowe przekształcenie φ interpretacja geometryczna φ φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) φ( ) x y
31 Funkcja decyzyjna ma postać: g(x) = λ n y n φ T (x n ) φ(x) + w 0 n ϵsv Wygodnie jest wprowadzić funkcję jądrową (kernel function), która zastąpi operację iloczynu skalarnego φ T (x n ) φ(x m ) : K(x n, x m ) = φ T (x n ) φ(x m ) Funkcja jądrowa musi spełniać kryterium Mercera Typowe funkcje jądrowe stosowane w klasyfikatorach SVM wielomianowa: (1+ x nt x m ) d gaussa: exp [ x n x m 2 / σ 2 ] sigmoida: tanh( kx nt x m δ )
32 aiwny klasyfikator bayesowski Zakłada niezależność warunkowych rozkładów klas Probabilistyczny model zadania rozpoznawania x = [ x 1 x 2 x d ] T wynik pomiaru d cech obiektu {ω 1, ω 2,, ω c } zbiór klas, do których może należeć x T = { (x n, ω j ); n = 1,,, j ϵ {1,..,c} } zbiór uczący
33 P(ω i x) prawdopodobieństwo, że obiekt o cechach x należy do klasy ω i P(ω i ) prawdopodobieństwo a priori klasy ω i P(x) prawdopodobieństwo a priori cech x P(x ω i ) prawdopodobieństwo, że obiekt z klasy ω i będzie mieć cechy x rozkłady P(ω i ), P(x) i P(x ω i ) można estymować ze zbioru uczącego rozkład a posteriori P(ω i x) należy wyznaczyć w oparciu o P(ω i ), P(x) i P(x ω i ) Wzór Bayesa: P(ω i x) = P(x ω i) P(ω i ) P(x)
34 Jak działa klasyfikator? Reguła decyzyjna: Obiekt o cechach x jest przyporządkowywany do klasy ω j wtedy i tylko wtedy, gdy P(ω j x) > P(ω i x) dla i = 1,,c; i j a zatem poszukujemy klasy ω j, która maksymalizuje P(ω j x).
35 Wstawiając wzór Bayesa otrzymujemy regułę: P(x ω j ) P(ω j ) P(x) > P(x ω i ) P(ω i ) P(x) Uwzględniając, że P(x) nie zależy od klasy, reguła upraszcza się do: P(x ω j ) P(ω j ) > P(x ω i ) P(ω i ) a zatem poszukujemy klasy ω j, która maksymalizuje iloczyn P(x ω j ) P(ω j ).
36 Jak estymować rozkłady a priori i warunkowe? Rozkład a priori P(ω i ) : k P(ω i ) i gdzie k i jest liczbą obiektów klasy ω i w zbiorze uczącym T Rozkłady warunkowe P(x ω i ): Wektory x mają wymiar d, więc należałoby estymować c d-wymiarowych rozkładów. Aby zmniejszyć złożoność obliczeniową, przyjmuje się naiwne założenie o warunkowej niezależności klas: d P(x ω i ) P(x s ω i ) s = 1
37 Zamiast wyznaczać c d-wymiarowych rozkładów P(x ω i ) wyznaczać będziemy c 1-wymiarowych rozkładów P(x 1 ω i ), P(x 2 ω i ),, P(x d ω i ), (i = 1,,c) Jeżeli cechy x s = γ przyjmują wartości ze skończonego zbioru γ ϵ Γ P(x s ω i ) gdzie q i (γ) jest liczbą obiektów klasy ω i przyjmujących wartość x s = γ (γ ϵ Γ ) q i (x s,γ) k i
38 Jeżeli cechy x s są ciągłe, przyjmuje się rozkłady o parametrach θ: P(x s ω i ) = f i (x s, θ), których parametry estymuje się z danych (w pakietach domyślnie przyjmuje się rozkład Gaussa).
39 Korekta Laplace a Użycie przybliżenia P(x ω i ) Π P(x s ω i ) sprawia problem wtedy, s = 1 gdy istnieje taka wartość γ 0 ϵ Γ, że w zbiorze uczącym T, wśród obiektów klasy ω i, żadna cecha x s nie przyjmuje wartości γ 0. W takim przypadku pewne P(x s ω i ) = 0, co skutkuje P(x ω i ) = 0 nawet, gdy P(x s ω i ) dla innych cech przyjmują duże wartości Rozwiązanie: skorygować estymaty prawdopodobieństw, dodając 1 do każdej q i (γ) (i zwiększając k i o liczbę dodanych jedynek) Jeżeli zbiór uczący jest duży, ta korekta nie zaburzy w istotny sposób pozostałych estymat d
40 Uwagi Pomimo założenia o niezależności warunkowych rozkładów klas, naiwny klasyfikator bayesowski w praktycznych zastosowaniach daje zaskakująco dobre rezultaty (niewiele gorsze od sieci neuronowych) Działa szybko i dokładnie dla dużych zbiorów danych Stanowi dobry punkt odniesienia do oceny innych klasyfikatorów
41 Jakość klasyfikatora Prawdziwa klasa ω + ω - błąd I rodzaju (fałszywy alarm) Odpowiedź klasyfikatora ω + Prawdziwie Dodatni Fałszywie Dodatni + + Liczność PD (czułość): LPD = PD / D True positive rate (sensitivity) False positive rate: LFD = FD / U ω - Fałszywie Ujemny Prawdziwie Ujemny Liczność PU (swoistość): LPU = PU / U True negative rate (specificity) LPU = 1 - LFD błąd II rodzaju = = D = PD + FU U = PU + FD liczba liczba wszystkich ω + wszystkich ω - Dokładność (accuracy): ACC = (PD + PU) / (D + U)
Przestrzeń ROC (Receiver Operating Characteristic) 42 1 Klasyfikator A jest lepszy od B Klasyfikator C jest najgorszy, ale klasyfikator C który daje odpowiedzi przeciwne do C jest lepszy od A LPD lub czułość bezbłędna klasyfikacja C lepsza klasyfikacja A B X 1 X 2 Klasyfikator X 1 losuje obie klasy z C jednakowym prawdopodobieństwem gorsza klasyfikacja Klasyfikator X 2 losuje jedną z klas z prawdopodobieństwem 0.9 0 LFD lub (1 swoistość) 1
próg Krzywa ROC (ROC curve) 43 Metoda rozwijana od II wojny światowej PU FU FD PD (po ataku na Pearl Harbor w 1941 r.): detekcja japońskich samolotów na podstawie sygnałów z radaru liczność prawdziwie dodatnich 1 0 1 liczność fałszywie dodatnich Prawdziwie Dodatni Fałszywie Ujemny Fałszywie Dodatni Prawdziwie Ujemny
44 Inny przykład wielkości progowej: wyjście klasyfikatora neuronowego jest wielkością ciągłą, z przedziału [0,1], decyzja o klasie zależy od przyjętej wartości progu Krzywa ROC jest estymowana z niezależnego zbioru testującego Do wyznaczenia krzywej ROC można użyć walidacji krzyżowej lub metody bootstrap Krzywa ROC nie zależy od rozkładu a priori klas
45 Wybór najlepszego klasyfikatora p(ω + ), p(ω - ) prawdopodobieństwa a priori klas ε + (ε - ) prawdopodobieństwo błędnej klasyfikacji obiektu z klasy ω + (ω - ) λ 10 = λ(α + ω - ) λ 11 = λ 00 = 0 λ 01 = λ(α - ω + ) straty wynikające z błędnej klasyfikacji 1 Średnia strata L = λ 01 p(ω + ) ε + + λ 10 p(ω - ) ε - 1 ε - większa strata 0 ε + 1
46 Pole pod krzywą ROC (AUC Area Under Curve) liczność prawdziwie dodatnich 1 A B Teoretycznie 0 AUC 1 Praktycznie AUC 0,5 Ważna własność statystyczna: 0 1 liczność fałszywie dodatnich AUC jest miarą jakości klasyfikatora AUC jest równe prawdopodobieństwu, że klasyfikator przyporządkuje wyższą rangę (np. aktywację neuronu) losowo wybranemu obiektowi klasy ω + niż niezależną od funkcji strat losowo wybranemu obiektowi klasy ω -
47 Test Mcemara Porównujemy dwa klasyfikatory (A i B) w oparciu o niezależny zbiór testujący Czy wyznaczona różnica jakości jest dziełem przypadku, czy jest istotna statystycznie? n 00 liczba obiektów nieprawidłowo klasyfikowanych przez A i B n 01 liczba obiektów nieprawidłowo klasyfikowanych tylko przez A n 10 liczba obiektów nieprawidłowo klasyfikowanych tylko przez B n 11 liczba obiektów prawidłowo klasyfikowanych przez A i B z = n 01 n10 1 n 01 + n 10 Wielkość z 2 ma w przybliżeniu rozkład χ 2 z jednym stopniem swobody. Hipoteza zerowa (że klasyfikatory A i B mają tę samą jakość) może być odrzucona na poziomie istotności 0.05 jeżeli z > 1.96
Popularne pakiety 48 WEKA Matlab (Statistical Pattern Recognition Toolbox) Statistica R