SVM
Wprowadzene Support vector machnes (maszyny wektorów wsperających, maszyny wektorów nośnych) SVM służy do: w wersj podstawowej klasyfkacj bnarnej w wersj z rozszerzenam regresj wyboru najważnejszych cech określana przypadków odstających grupowana Zalety metody SVM budowa prostych skomplkowanych model radz sobe z małą lczbą przykładów uczących radz sobe z dużą lczbą atrybutów Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 2
Założena Przykłady są opsane przez wektory Nech początek wektora będze w początku układu współrzędnych Nech konec wektora będze w punkce wyznaczonym przez wartośc atrybutów dla reprezentowanego przez nego przykładu Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 3
Rachunek wektorowy - przypomnene (1) Dodawane wektorów a = (a 1, a 2,, a n ) b = (b 1, b 2,, b n ) a + b = (a 1 + b 1, a 2 + b 2,, a n + b n ) b Odejmowane wektorów a = (a 1, a 2,, a n ) b = (b 1, b 2,, b n ) a b = (a 1 b 1, a 2 b 2,, a n b n ) -b b Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 4
Rachunek wektorowy - przypomnene (2) Mnożene wektora przez skalar a = (a 1, a 2,, a n ) ca = (ca 1, ca 2,, ca n ) rozcąga wektor ale ne zmena kerunku (zwrot zależy od znaku c) Długość eukldesowa a 2 = a = a 1 2 + a 2 2 + + a n 2 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 5
Rachunek wektorowy - przypomnene (3) Iloczyn skalarny (ang. dot product) a = a 1, a 2,, a n b = (b 1, b 2,, b n ) a b = a 1 b 1 + a 2 b 2 + + a n b n = n =1 a b a b = a b cos θ, gdze θ to kąt pomędzy wektoram a b. Wnosek 1: loczyn skalarny wektorów prostopadłych jest równy 0 Wnosek 2: a a = a 1 a 1 + a 2 a 2 + + a n a n = a 2 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 6
Hperpłaszczyzna Hperpłaszczyzna w 2D to lna, a w 3D to płaszczyzna W ogólnośc do zdefnowana hperpłaszczyzny wystarczy wedza o dowolnym jej punkce P oraz o dowolnym wektorze do nej prostopadłym ω Jeżel P leży na hperpłaszczyźne, na której leży P wówczas zachodz: x = 1.5,1.75 x = 3,1 x x = ( 1.5, 0.75) ω x x = 0 ω x ω x = 0 P P ω x + b = 0 gdze b = ω x Różne b wyznaczają równoległe do sebe hperpłaszczyzny Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 7
SVM ogólna dea pozytywne (+) negatywne (-) neznane Idea: Znajdźmy lnę, która najlepej dzel obserwacje negatywne pozytywne Metoda: znajdźmy najszerszą ulcę, którą można wstawć pomędzy przypadk pozytywne negatywne. Jej środkem jest poszukwana przez nas lna podzału. Problem: jak znaleźć taką ulcę? Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 8
SVM ogólna dea pozytywne (+) negatywne (-) neznane Podstawowe pytane: po której strone środka ulcy jest nowa obserwacja? Odpowedź jest tożsama z podjęcem decyzj o przydzale do klasy pozytywnej lub negatywnej Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 9
SVM - wektory pozytywne (+) negatywne (-) neznane ω - dowolny wektor prostopadły do ulcy (neważna długość) v - wektor do nowej obserwacj Pytane: po której strone środka ulcy jest nowa obserwacja? Pytane: czy projekcja wektora v na wektor ω skutkuje przekroczenem środka ulcy? Projekcja to loczyn skalarny, zatem chcemy sprawdzć, czy ω v jest wększe lub równe jakejś stałej c ω v c Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 10
SVM pozytywne (+) negatywne (-) neznane Dla ułatwena dalszych przekształceń załóżmy, że b = c, wówczas: jeżel ω v + b 0 to przykład (+), jeżel ne to przykład (-) Problem: ne znamy zarówno ω (których może stneć wele), jak równeż b Rozwązane: Trzeba wprowadzć pewne założena/ogranczena Nech x + - dowolny ZNANY przykład (+) x - dowolny ZNANY przykład (-) Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 11
SVM - pozytywne (+) negatywne (-) neznane Załóżmy, że ω x + + b 1 ω x + b 1 nech będze dane y równe +1 dla przykładów pozytywnych 1 dla przykładów negatywnych Pomnóżmy te nerównośc przez y, wówczas dla przykładów pozytywnych: y ω x + b y 1 negatywnych y ω x + b y ( 1) uwaga na zmanę kerunku Podstawając 1 lub -1 po prawej strone, możemy zredukować te dwa równana do jednego: y ω x + b 1 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 12
SVM obserwacje na krawędz pozytywne (+) negatywne (-) neznane y ω x + b 1 y ω x + b 1 0 Pytane: zawsze jest neujemne, ale kedy równe 0? Odpowedz: dla obserwacj znajdujących sę dokładne na krawędz ulcy y ω x + b 1 = 0 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 13
SVM szerokość ulcy pozytywne (+) negatywne (-) neznane Weźmy dwa dowolne wektory dla przykładów pozytywnego negatywnego leżących na krawędz. Na podstawe tych wektorów można wyprowadzć ogólny wzór na szerokość ulcy odejmujemy wektory wektor wynkowy rzutujemy na jednostkowy wektor prostopadły do ulcy szerokość = x + x ω ω 2 jednostkowane Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 14
SVM szerokość ulcy pozytywne (+) negatywne (-) neznane szerokość = x + x ω ω Problem: ne znamy x + an x, ale przypomnjmy, że y ω x + b 1 = 0 Dla x + wartość y = 1, czyl 1 ω x + + b 1 = 0 ω x + = 1 b a dla x wartość y = 1, czyl 1 ω x + b 1 = 0 ω x = 1 + b x + x ω ω Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 15
SVM szerokość ulcy pozytywne (+) negatywne (-) neznane Podstawając otrzymujemy: 1 b + (1 + b) ω szerokość = = 2 ω 2 ω Maksymalzowane szerokośc oznacza zatem mnmalzowane ω Dla ułatwena kolejnych przekształceń (lczena pochodnych) można założyć zatem, że mnmalzujemy wyrażene: 1 2 ω 2 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 16
prmal formulaton SVM sformułowane prymalne Zadane maksymalzacj szerokośc drog można wyrazć w postac problemu programowana kwadratowego, w którym jest d + 1 zmennych (ω 1,, ω d, b) oraz ogranczeń Dla przykładów x 1,, x n R d z etyketam y 1,, y n 1,1 mn ω,b 1 2 ω 2 przy ogranczenach y ω x + b 1, = 1,, n Klasyfkacja nowego elementu v następuje poprzez sprawdzene, czy ω v + b > 0 Problem w postac perwotnej można rozwązać, ale lepsze jest przejśce do sformułowana dualnego Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 17
SVM mnożnk Lagrange a Przypomnene: jak znaleźć ekstremum? Polczyć pochodną sprawdzć dla jakego parametru przyjmuje wartość 0 Mnożnk Lagrange a to metoda oblczana tzw. ekstremum warunkowych funkcj Mając funkcję f zbór A opsany za pomocą pewnego równana można znaleźć ekstrema funkcj f dla zboru A. Przykład: nech będze dana funkcja f x, y = x 2 y 2 warunek x 2 + y 2 1 = 0. Znajdź ekstrema warunkowe funkcj f(x, y) Metoda rozwązana polega na zbudowanu funkcj Lagrange a L x, y = x 2 y 2 + λ x 2 + y 2 1 wylczenu układu równań L x = 0 L y = 0 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 18
SVM mnożnk Lagrange a Wersja dla SVM Mnożnk Lagrange a L ω, b, α = 1 2 ω 2 α y ω x + b 1 To chcemy maksymalzować ogranczena ( ogranczone do wartośc 0) α 0 Uwaga: α > 0 oznacza, że aby ogranczene było równe 0, y ω x + b mus być równe 1. To oznacza natomast, że przykład skojarzony z wektorem x jest wektorem wsperającym. Mnożnk Lagrange a w SVM są zatem równe 0 dla wektorów, które ne leżą na krawężnkach drog Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 19
SVM transformacja do sformułowana dualnego Idea: rozwązując problem dualny (czyl wyznaczając α) otrzymujemy rozwązane problemu perwotnego max α mn ω,b L ω, b, α = 1 2 ω 2 α y ω x + b 1 α 0 L ω = ω α y x L ω = 0 ω = α y x L b = α y L b = 0 α y = 0 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 20
SVM pochodne dokonajmy prostych przekształceń zobaczmy jake są zależnośc L ω, b, α = 1 2 ω 2 α y ω x + b 1 ω = α y x L b, α = 1 2 α y x α j y j x j α y x α j y j x j y b + j j Uwaga na ndeksy L b, α = 1 2 α α j y y j x x j + y b + j =0 poneważ α y = 0 L α = 1 2 α α j y y j x x j j Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 21
dual formulaton SVM sformułowane dualne Dla przykładów x 1,, x n R d z etyketam y 1,, y n 1,1 max α α 1 2 przy ogranczenach j α α j y y j x x j α y = 0 α 0 Jest to równeż problem programowana kwadratowego z n zmennym (α,, α n ) 2n ogranczenam Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 22
SVM obserwacje L α = + 1 2 j α α j y y j x x j Czyl zależy tylko od loczynu skalarnego przykładów Można to rozwązać metodam teracyjnym (ne ma lokalnych ekstremów węc w nch ne utknemy ) Zauważmy, że reguła dla sformułowana perwotnego: jeżel ω v + b 0 to przykład pozytywny może zostać zastąpona (przez podstawene ω = dla sformułowana dualnego na: jeżel α y x v + b 0 to przykład pozytywny Zatem decyzja też zależy od loczynu skalarnego α y x ) Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 23
SVM sformułowane dualne pozytywne (+) negatywne (-) neznane α = 0 α > 0 α = 0 α > 0 Rozwązując problem dualny poznajemy wartośc α Na ch podstawe wylczamy ω, ze wzoru ω = α y x b, ze wzoru b = y k ω x k (dla dowolnego k, dla którego α k > 0) Inaczej mówąc używamy wektorów wsperających dla wyznaczena ω oraz b α = 0 α > 0 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 24
SVM kernel trck wele zborów danych może ne być lnowo separowalna Rozwązane: transformacja danych wejścowych, tak by były separowalne lnowo (najczęścej transformacja do przestrzen o wększej lczbe wymarów) Każdą obserwację x należałoby zatem poddać transformacj φ co zapsujemy jako φ x Zauważmy, że maksymalzacja szerokośc drog zależy tylko od loczynu skalarnego, w docelowej przestrzen maksymalzować trzeba φ x φ x j Klasyfkacja wymaga sprawdzena nerównośc: dla postac prymalnej ω φ v + b > 0 dla postac dualnej α y φ x φ v + b 0 Najważnejsza obserwacja: w wersj dualnej ne musmy znać transformacj, musmy tylko znać funkcję (kernel functon), która dostarcza wynk loczynu skalarnego w pewnej założonej przestrzen K x, x j = φ x φ x j Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 25
SVM rodzaje kernel Lnowy Gausowsk Wykładnczy Welomanowy K x, x j = x x j K x, x j = e γ x 2 x j K x, x j = e γ x x j q K x, x j = p + x x j Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 26
SVM soft margn (1) pozytywne (+) negatywne (-) oprócz transformacj do wększej lczby wymarów można stosować przekształcena przykładów wejścowych (ale ryzyko overfttng) jeżel nadal ne można uzyskać lnowej separowalnośc możemy pozwolć na pewen błąd Trywalne podejśce: polczmy le razy sę mylmy, tj. jesteśmy po złej strone drog Inne podejśce: polczmy jak bardzo sę mylmy Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 27
SVM soft margn (2) pozytywne (+) negatywne (-) Trywalne podejśce: mn ω,b ω 2 + C (lczba pomyłek) C to wsp. tradeoff pomędzy szerokoścą drog a błędnym rozróżnenem klas Problem: ne rozróżnamy delkatnej mocnej pomyłk (ocena bnarna), a dodatkowo ne jest to problem programowana kwadratowego Lepsze rozwązane: mn ω,b ω 2 + C ξ lnowa zależność od welkośc pomyłk przy ogranczenach y ω x + b 1 ξ, = 1,, n gdze ξ to odległość -tego przykładu od hperpłaszczyzny Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 28
SVM soft margn (3) Prmal formulaton mn ω,b ω 2 + C przy ogranczenach y ω x + b 1 ξ, = 1,, n Dual formulaton max α α przy ogranczenach Parametr C 1 2 α y j ξ α α j y y j x x j = 0 0 α C Duża wartość zblża SVM do wersj hard-margn (C = ) Mała wartość dopuszcza wększy błąd Ne ma dobrej, unwersalnej wartośc Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 29
SVM jeszcze o błędach (1) Na przykładze sformułowana prymalnego mn ω,b ω 2 + C przy ogranczenach y ω x + b 1 ξ, = 1,, n zauważmy, że ogranczene y ω x + b 1 ξ można zapsać w postac y f x 1 ξ, a po przekształcenu otrzymujemy ξ 1 y f x Poneważ ξ 0, cały problem można zapsać w postac bez ogranczeń mn ω,b ω 2 + C ξ max 0, 1 y f x Funkcja straty Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 30
SVM jeszcze o błędach (2) max 0, 1 y f x - jak to nterpretować? Gdy punkt jest Po właścwej strone hperpłaszczyzny poza drogą, wówczas y f x > 1. Ne zwększa to straty poneważ max da wynk równy 0. Po właścwej strone hperpłaszczyzny na krawędz drog, wówczas y f x = 1. Ne zwększa to straty poneważ max da wynk równy 0. Po newłaścwej strone hperpłaszczyzny lub na drodze, wówczas y f x < 1. Zawsze zwększa to straty poneważ max da wynk równy wększy od 1 (m wększa odległość, tym wększa wartość straty). Hnge lose functon 0/1 lose functon Strata dla klasy pozytywnej 1 0 1 Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 31
SVM Jak wybrać model? Można zastosować podejśce data-drven, w którym używany jest dodatkowy etap (nested cross-valdaton) dla różnych wartość C oraz transformacj. Innym podejścem może być wykorzystane np. MDL. SVM a wele klas decyzyjnych one vs rest, one vs all dla każdej z M klas tworzony jest klasyfkator, w którym za klasę pozytywną uznaje sę m-tą klasę, a pozostałe przypadk traktowane są jako przykłady klasy negatywnej. Przy klasyfkacj wygrywa klasa, dla której wartość funkcj jest najwększa OVO - one vs one dla M klas tworzonych jest M M 1 /2 klasyfkatorów (każda klasa z każdą). Decyzja jest podejmowana przez głosowane wększoścowe. ECOC error correctng output code (następny slajd) DAGSVM tworzy klasyfkatory jak w OVO, ale naczej wygląda klasyfkacja. Tworzone jest drzewo DAG (drect acyclc graph), które przypomna bnarne drzewo decyzyjne jest używane dla szybszego elmnowana klas Weston-Watkns oraz Crammer-Snger (M-SVM) zmana defncj problemu, jeden klasyfkator Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 32
SVM - ECOC Class Code word f 1 f 2 f 3 f 4 f 5 f 6 f 7 C 0 0 0 0 0 0 0 0 C 1 1 1 1 1 0 0 0 C 2 1 1 0 0 1 1 0 C 3 1 0 1 0 1 0 1 codng matrx MQxS. wersze to klasy, kolumny to klasyfkatory bnarne Wartośc 1/0 oznacza, ze dla q-tej klasy s-tego klasyfkatora przykład jest pozytywny/negatywny Podczas trenowana tworzone są klasyfkatory bnarne Nowy przykład dostaje wektor wynkowy, który porównywany jest z wektoram dla klas (np. odległość Hammnga) Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 33
One-class SVM To ne jest problem klasyfkacyjny ne ma żadnych, z góry znanych klas Idea (ntucja): znajdź regon, który zawera wększość przykładów zbuduj model, który dla przykładów z tego regonu da wynk pozytywny, a dla pozostałych przykładów da wynk negatywny Przykłady negatywne są obserwacjam dotąd nespotykanym lub przypadkam osoblwym Zaleta: ne musmy meć w przykładach uczących pełnych danych o negatywnych przykładach (a często ch ne znamy, np. różne możlwe wady produktów mogą ne być łatwe w przewdzenu) W praktyce dodajemy dodatkowy parametr określający górną grancę na względną lczbę nowych obserwacj/przypadków osoblwych Paweł Bońsk, Instytut Informatyk, Poltechnka Poznańska 34