METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING Maszyna Wektorów Nośnych Suort Vector Machine SVM Adrian Horzyk Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i Inżynierii Biomedycznej, Laboratorium Biocybernetyki 30-059 Kraków, al. Mickiewicza 30, aw. C3/205 horzyk@agh.edu.l, Google: Adrian Horzyk
IDEA I NARODZINY SVM Prof. V. Vanik w 1998 r. stworzył nowe odejście do kształtowania struktury sieci neuronowej oraz definiowania roblemu uczenia róbując wyeliminować znane wady sieci neuronowych tyu MLP i RBF stosujące minimalizację nieliniowych funkcji błędu, tj.: Minimalizowana funkcja jest zwykle wielomodalna względem otymalizowanych arametrów i osiada wiele minimów lokalnych, w których roces uczenia może utknąć w zależności od unktu startowego, których zwykle istnieje nieskończona ilość. Algorytm uczący zwykle nie jest w stanie skutecznie kontrolować złożoności struktury sieci neuronowej, co w istotny sosób wływa na zdolności uogólniające sieci. Istotą zmiany jest rzedstawienie rocesu uczenia jako rocesu dobierania wag, w którym maksymalizowany jest margines searacji oddzielający skrajne (najbliższe) unkty w rzestrzeni danych definiujących różne klasy. Bierzemy więc od uwagę tylko te najtrudniej searowalne unkty rzestrzeni rzy budowie modelu, które określają tzw. wektory nośne (wsierające). Sieci SVM tworzą secyficzną dwuwarstwową strukturę neuroodobną stosującą różne rodzaje funkcji aktywacji (liniowe, wielomianowe, radialne, sigmoidalne) oraz secyficzny sosób uczenia oarty na rogramowaniu kwadratowym, które charakteryzuje się istnieniem tylko jednego minimum globalnego. Sieci SVM dedykowane są głównie do zagadnień klasyfikacji, w których jedną klasę searujemy możliwie dużym marginesem od ozostałych klas.
DYSKRYMINACJA i KLASYFIKACJA knn obszary Voronoi Decision Tree MLP RBF
Najszersza granica dyskryminacji Metoda SVM ma na celu wyznaczyć najszerszą granicę dyskryminacji sośród możliwych, których zwykle istnieje nieskończona ilość:
Jak dyskryminować i searować najleiej? Próbując osiągnąć jak najleszą dyskryminację wzorców oszczególnych klas warto zmaksymalizować margines oddzielający wzorce oszczególnych klas. Ponadto mając do czynienia z wieloma danymi, można ograniczyć analizę tylko do tych najtrudniejszych unktów rzestrzeni, czyli wzorców różnych klas, które leżą najbliżej, gdyż je najtrudniej zdyskryminować (odsearować). Model uwzględniający najtrudniejsze wzorce owinien charakteryzować się dobrą jakością oraz rostotą rerezentacji. Sróbujemy więc wyznaczyć otymalną hierłaszczyznę dyskryminującą wzorce jednej klasy (kwadratów) od ozostałych (tutaj kółeczek). SVM discrimination Suort Vectors
Maszyna Wektorów Nośnych Załóżmy, że mamy zbiór ar uczących: x i, d i dla i = 1, 2,, y gdzie x i wektor danych wejściowych d i 1; +1 rerezentuje dyskryminowane klasy: d i = +1oznacza klasę dyskryminowaną, zaś d i = 1oznacza ozostałe klasy. Przy założeniu liniowej searowalności obu klas możliwe jest określenie równania hierłaszczyzny searującej te wzorce: y x = w T x + b = 0 gdzie w wektor wag, a x wektor danych wejściowych, b olaryzacja Możemy więc zdefiniować równania decyzyjne: Jeżeli w T x + b 0 wtedy d i = +1 Jeżeli w T x + b 0 wtedy d i = 1 Suort Vectors Co możemy zaisać w ostaci nierówności: d i w T x + b 1, której sełnienie rzez ary unktów x i, d i definiuje wektory nośne (suort vectors), które decydują o ołożeniu hierłaszczyzny i szerokości marginesu searacji. Potrzebne jest więc wyznaczenie b oraz w, żeby określić decyzję.
Przekroczenie granic searacji Czasami jednak wystęuje konieczność zmniejszenia marginesu searacji dla roblemów niecałkowicie searowalnych liniowo oraz ewnych unktów x i, d i leżących wewnątrz strefy marginesu searacji, co możemy zaisać za omocą nierówności: d i w T x i + b 1 δ i gdzie δ i 0 i zmniejsza margines searacji, rzy czym jeśli: 0 δ i < 1 wtedy x i, d i leży o właściwej stronie hierłaszczyzny, więc decyzja o rzynależności do klasy będzie orawna, δ i = 1 wtedy x i, d i leży na hierłaszczyźnie, więc decyzja o rzynależności do klasy będzie nieokreślona, 1 < δ i wtedy x i, d i leży o niewłaściwej stronie hierłaszczyzny, więc decyzja o rzynależności do klasy będzie błędna. Określając granicę decyzyjną należy więc możliwie zminimalizować wartość δ i.
Szerokość marginesu searacji Szerokość marginesu searacji możemy wyznaczyć jako iloczyn kartezjański wektora wag oraz różnicy odległości dwóch wektorów nośnych należących do rzeciwnych klas: ρ = x + x w w = 2 w = 2 r x SV gdyż odległość wektorów nośnych od hierłaszczyzny określona jest nastęująco: Suort Vectors 1 dla y x r x SV = y x SV = w SV = 1 w 1 dla y x w SV = 1 Chcąc więc zmaksymalizować margines searacji omiędzy wektorami nośnymi różnych klas ρ = 2 trzeba zminimalizować w, co jest równoważne w minimalizacji wyrażenia 1 w 2 rzy ewnych ograniczeniach liniowych 2 wynikających ze zdefiniowanej nierówności decyzyjnej. W takich rzyadkach stosujemy mnożniki Lagrange a i minimalizujemy funkcję Lagrange a. y
Minimalizacja funkcji Lagrange a Możemy więc teraz określić funkcję Lagrange a dla roblemu maksymalizacji marginesu searacji: min w 1 2 w 2 + θ rzy zdefiniowanych ograniczeniach: d i w T x i + b 1 δ i δ i 0 gdzie θ to waga, z jaką traktowane są błędy testowania w stosunku do marginesu searacji, decydującą o złożoności sieci neuronowej, dobieraną rzez użytkownika w sosób ekserymentalny, n. metodą walidacji krzyżowej. Otrzymujemy więc nastęującą funkcję Lagrange a: L w, b, α, δ, μ = 1 2 wt w + θ δ i δ i α i d i w T x i + b 1 δ i μ i δ i gdzie α i jest wektorem mnożników Lagrange a o wartościach nieujemnych odowiadającym oszczególnym ograniczeniom funkcyjnym, a μ i ograniczeniom nierównościowym nakładanym na zmienne δ i. Rozwiązanie minimalizacji funkcji Lagrange a olega na określeniu unktu siodłowego, czyli wyznaczenia ochodnych cząstkowych względem mnożników.
Minimalizacja funkcji Lagrange a Warunki otymalnego rozwiązania wyznaczone są zależnościami: L w, b, α, δ, μ = 0 w = w L w, b, α, δ, μ = 0 b α i d i x i α i d i = 0 L w, b, α, δ, μ = 0 μ w i = θ α i które odstawimy teraz do funkcji Lagrange a: L w, b, α, δ, μ = 1 2 wt w + θ δ i α i d i w T x i + b 1 δ i μ i δ i = 1 α 2 i d i x i = 1 α 2 i d i x i = 1 2 α i d i x i j=1 j=1 α j d j x j + θ δ i α i d i α j d j x j x i + b 1 δ i μ i δ i j=1 α j d j x j + θ δ i α i d i x i α j d j x j + b α i d i + α i 1 δ i θ α i δ i α j d j x j + θ j=1 δ i + α i δ i = α i 1 α 2 i α j d i d j x i x j j=1 α i d i x i j=1 j=1 α j d j x j + b α i d i + α i α i δ i θ δ i
Problem dualny W unkcie siodłowym iloraz mnożnika Lagrange a d SV i odowiedniego ograniczenia związanego δ SV z wektorem nośnym x SV jest równy zeru (d SV δ SV = 0), gdyż δ SV =0, więc zależność: d i w T x i + b 1 δ i w unkcie wektora nośnego srowadza się do: w T x i + b = ±1 co ozwala wyznaczyć wartość b : b = ±1 w T x i Otrzymaliśmy więc roblem dualny max Q α = α i 1 α α 2 i α j d i d j x i x j j=1 rzy ograniczeniach dla i = 1, 2,, zdefiniowanych nastęująco: 0 α i θ α i d i = 0 Rozwiązanie roblemu dualnego ozwala znaleźć oszukiwaną hierłaszczyznę: y x = α i d i x i T x j + b
Wnioski Zmienna doełniająca δ i ani mnożniki Lagrange a nią związane nie ojawiają się w sformułowaniu roblemu dualnego. Mnożniki muszą sełniać jedynie odstawowy warunek mówiący, iż iloczyn mnożników i wartości funkcji ograniczenia dla każdej ary danych uczących jest równy zeru. Jeśli więc ograniczenie sełnione jest z nadmiarem dla wektorów nienośnych, wtedy mnożniki te muszą być równe zeru. Niezerowe wartości mnożników wystęują zaś dla wektorów nośnych. Niezerowe wartości mnożników określają wektory nośne, których ilość oznaczymy N SV, a więc równanie sieci liniowej SVM o wagach otymalnych wyznacza hierłaszczyznę zależne jest tylko od wektorów nośnych: N SV y x = α i d i x T i x j + b Większość roblemów klasyfikacji nie osiada jednak właściwości liniowej searowalności. Potrzebne jest więc nieliniowe rzutowanie danych oryginalnych w inną rzestrzeń funkcyjną, gdzie wzorce staną się searowalne liniowo i będzie można zastosować hierłaszczyznę semarującą SVM. Warunkiem jest zastosowanie transformacji nieliniowej o odowiednio wysokim wymiarze K rzestrzeni cech K N.
Nieliniowa sieć SVM Dla zadań niesearowalnych liniowo rzutujemy każdy wzorzec z jego N wymiarowej rzestrzeni cech do K wymiarowej rzestrzeni cech φ j x, j = 1, 2,, K. W efekcie tego nieliniowego rzekształcenia równanie hierłaszczyzny określone będzie wzorem: y x = w T φ x + b = K j=1 w i φ j x + b = 0 gdzie w i oznaczają wagi rowadzące od neuronu o nieliniowej funkcji aktywacji φ j na wektorze danych wejściowych x do wyjściowego neuronu liniowego Otrzymujemy więc dwuwarstwową strukturę sieci neuronowej zawierającą jedną warstwę ukrytą: x 1 φ 1 w 1 + y x N φ K w K
Nieliniowa sieć SVM Rozwiązanie roblemu ierwotnego uzyskujemy więc orzez zastąienie zmiennej x i rzez φ i x. Otrzymujemy więc: max Q α = α i 1 α α 2 i α j d i d j K x i, x j j=1 gdzie K nazywamy funkcją jądra (kernel function), zdefiniowaną nastęująco: K x i, x j = φ T x i φ x j Rozwiązanie roblemu srowadza się do wyznaczenia wartości wag sieci: w = α i d i φ x i b = ±1 w T φ x i Otrzymując ostatecznie sygnał wyjściowy dla nieliniowej sieci SVN w ostaci: N SV y x = w T φ x + b = α i d i K x i, x + b = 0 Na kandydatów na funkcje jądra K możemy wybrać funkcje sełniające warunek twierdzenia Mercera, n. funkcje gaussowskie, wielomianowe, sklejane, a nawet sigmoidalne rzy ewnych ograniczeniach.
Nieliniowe funkcje jądra sieci SVM Do najczęściej stosowanych funkcji jądra należą: Funkcje liniowe: K x i, x = x T x i + γ Funkcje wielomianowe: K x i, x = x T x i + γ Funkcje gaussowskie: K x i, x = ex γ x x i 2 Funkcje sigmoidalne: K x i, x = tgh βx T x i + γ Gdzie β, γ to stałe wsółczynniki liczbowe, a to stoień wielomianu. Sieć SVM o radialnych funkcjach bazowych jest bardzo odobna do sieci radialnej RBF, aczkolwiek sosób jej tworzenia i wyznaczania wag różni się. Podobnie stosując funkcje sigmoidalne otrzymujemy dwuwarstwową sieć MLP. Chcąc zastosować sieci SVM do większej ilości klas niż dwie trzeba zbudować kilka sieci SVM, które dyskryminują wzorce każdej z klas od ozostałych lub omiędzy arą każdych dwóch klas, a nastęnie wyniki są sumowane.
Dążenie do orawności SVM Stosuje się często wsółczynnik kary za niesełnienie któregoś z ograniczeń, co wymusza dążenie sieci do otymalności dla rzyjętych stałych. Z warunków otymalności Kuhna-Tuckera roblemu otymalizacyjnego sformułowanego dla SVM wynikają nastęujące zależności: α i d i w T φ x i + b 1 δ i = 0 0 α i θ μ i δ i = 0 α i + μ i = θ δ i 0 W zależności od wyznaczonych wsółczynników Lagrange a mamy więc do czynienia z trzema rzyadkami: α i = 0 co oznacza, że jeśli α i + μ i = θ, to μ i = θ, a więc z zależności μ i δ i = 0 wynika iż δ i = 0, stąd ara ucząca x i, d i sełnia ograniczenie z nadmiarem, a więc bez zmniejszania szerokości marginesu searacji 0 < α i < θ co oznacza, iż μ i = θ α i, a więc również δ i = 0, stąd ara ucząca x i, d i definiuje wektor nośny, który jest ołożony dokładnie na marginesie searacji. α i = θ oznacza, iż μ i = θ α i = 0, a więc δ i 0, co oznacza, iż wzorzec uczący jest wewnątrz marginesu searacji owodując zwężenie marginesu searacji albo nawet o niewłaściwej stronie, jeśli δ i > 1.
ALGORYTMY ROZWIĄZANIA ZADANIA DUALNEGO dla dużych zbiorów danych Niezależnie od zastosowanego jądra i rodzaju zadania główny roblem obliczeniowy w sieciach SVM srowadza się do rozwiązania zadania rogramowania kwadratowego z ograniczeniami liniowymi. Problemem staje się duża ilość danych uczących, co związane jest z nieraz ogromną ilością otymalizowanych zmiennych tutaj mnożników Lagrange a. Pojawiają się roblemy z amięcią i złożonością obliczeniową, co eliminuje możliwość zastosowania klasycznych metod rogramowania kwadratowego, n. MINOS, OSL, LOQO czy Matlab. Stosuje się dekomozycję zbioru uczącego na szereg odzbiorów oraz strategię aktywnych ograniczeń wynikających z równości, zaniedbując te nieaktywne ze znakiem silniej nierówności. Dzięki temu w kolejnych iteracjach nastęuje rzemieszczanie części wzorców ze zbioru ograniczeń aktywnych do nieaktywnych. Wykorzystuje się również różne wersje algorytmu rogramowania sekwencyjnego SMO lub BSVM Platta oraz subotymalną metodę SVM Light Joachimsa.
LITERATURA I BIBLIOGRAFIA Stanisław Osowski, Metody i narzędzia eksloracji danych, BTC, Legionowo, 2013. T. Joachims, Making large scale SVM learning ractical, in Advances in kernel methods suort vector learning, B. Scholkof, C. Burges, A. Smola eds., MIT Press, 41-56, Cambridge 1998. Lin C.J., Chang C.C, LIBSVM: a library for suort vector machines: htt://www.csie.ntu.edu.tw/cjlin/libsvm Oen MIT Lectures about SVM : htts://www.youtube.com/watch?v=_pwhiwxhk8o Caltech Lectures about SVM: htts://www.youtube.com/watch?v=ehserlpjwuu