Maszyna ektoró nośnych (Suort vector machne) Przygotoał: Dr nż. Wocech Artchocz Katedra Hydrotechnk PG Zma 04/5
Zadane. Dane są da zbory unktó A B (dane tabelach onże). Znadź ektory seraące narysu herłaszczyzny margnesu. A x y 0.5 0.5 -,5 0 B x 3,5 3 y - - 3 Rys... Punkty należące do zboró A B. Rozązane: Przyadek, gdy możle est oddzelene unktó należących do dóch (lub ęce) zboró herłaszczyzną (tu - lną rostą) nazyamy lnoo searoalnym. Wektory seraące to take unkty danych, które należą do rostych będących grancam naszerszego możlego margnesu oddzelaącego zbory unktó. Wektoram seraącym tym zadanu są unkty: ze zboru A: (;0), ze zboru B: (;) (,5;-), oneaż to na nch można zbudoać naszerszy możly margnes oddzelaący zbory A B. Na onższym rysunku zaznaczono e czeronym konturem. Rys... Punkty należące do obu zboró (czeronym konturem zaznaczono ektory nośne). Zauażyć można, że o tym ak nachylone będą grance margnesu rozdzelaącego zbory decyduą unkty (;) (,5;-) ze zboru B.
Rys... Margnes searuący zbory. Aby znaleźć rónana rostych będących grancam margnesu należy rozązać roblem otymalzacyny max Q( α) α d d x x (.) zględem zmenne ektoroe α,,..., }, z ogranczenam { oraz 0. (.) d 0 C, (.3) dla =,,...,, gdze oznacza lczbę unktó (tu =3+4=7), a C est arbtralne yberaną stałą. Zykle, ze zględu na dużą lczbę zmennych (róną lczbe unktó danych) zadane to rozązue sę numeryczne. Jednak dla neelke lczby unktó możle est otrzymane ego rozązana analtycznego. W tym celu należy znaleźć ochodne funkc Q (α) zględem α, rzyrónać e do zera rozązać otrzymany układ rónań. Zadane. Dane są da zbory unktó A B (dane tabelach onże). Znadź ektory seraące herłaszczyzny margnesu. 3
A x y 0,3856 0,53 0,59 0,608 0,900 0,5898 0,0 0,7043 0,488 0,9904 0,374 0,5675 0,8670 0,8306 0,00865 0,4506 0,0489 0,6808 0,404 0,8334 B x y,09778,35,0459,0873,5064,0638,07053,488,70556,7863,0746,998,793,44644,68,85668,3493,08593,37754,95356 Rozązane: Jak można zauażyć na onższym rysunku unkty te są ełn lnoo searoalne (można e oddzelć lną rostą). Rys... Punkty należące do obu zboró nanesone na łaszczyznę. Wartoścom ze zboru A rzyszmy flagę d=, a unktom należącym do zboru B flagę d=-. Zgodne ze sosobem formułoana zadana, unkty oraz ch flag można zasać ako: 4
(0,3856 (0,59 (0,900 (0,0 (0,488 A (0,374 (0,8670 (0,00865 (0,0489 (0,404 0,53) 0,608) 0,5898) 0,7043) 0,9904) 0,5675) 0,8306) 0,4506) 0,6808) 0,833) (,09778 (,0459 (,5064 (,07053 (,70556 B (,0746 (,793 (,68 (,3493 (,37754,35),0873),0638),488),7863),998),44644),85668),08593),95356) gdze symbol oznacza transozycę. Uaga: Zyczaoo lteraturze dotyczące SVM oedynczy unkt danych rzedstaony est ako onoy ektor artośc określaących ego mesce rzestrzen oraz artośc określaące rzynależność tego unktu do danego zboru. Przykładoo dla unktu erszego możemy zasać: 0,3856 x. (0,3856 0,53) 0,53 Jest to stotne, gdyż e zorze funkc Q() ystęue loczyn skalarny sółrzędnych unktó x x. Gdyby zależało nam na tym, aby unkty danych były zasane ostac ektoró ozomych, n.: 0,3856 0,53 x óczas należałoby zasać zór (.) osuący funkcę Q() nastęuąco: max Q( α) α d d x x. W celu utorzena zboru uczącego łączy sę unkty z obu zboró eden. Dale unkty będą zasyane ostac ektoró erszoych: 5
(0,3856 (0,59 (0,900 (0,0 (0,488 (0,374 (0,8670 (0,00865 (0,0489 (0,404 x (,09778 (,0459 (,5064 (,07053 (,70556 (,0746 (,793 (,68 (,3493 (,37754 0,53) 0,608) 0,5898) 0,7043) 0,9904) 0,5675) 0,8306) 0,4506) 0,6808) 0,833),35),0873),0638),488),7863),998),44644),85668),08593),95356) Na odstae tego zboru yznacza sę rónane herłaszczyzny klasyfkuące, tzn. uczy sę maszynę ektoró seraących. Kolenym krokem est rozązane zadana otymalzacynego z ogranczenam max Q( α) α d d x x. (.) oraz 0 (.) d 0 C, (.3) dla =,,...,, gdze oznacza lczbę unktó (tu =0+0=0), a C est arbtralne yberaną stałą. W zązku z tym, że unktó est ele ne ma możlośc rozązana analtycznego tego zagadnena. Naygodne est zatem zarogramoać algorytm oszukana maksmum funkc lub ykorzystać orogramoane umożlaące oszukane 6
maksmum funkc. W dalsze częśc rzykładu ykorzystany zostane arkusz kalkulacyny Mcrosoft Excel. Dane oraz rozązane znaduą sę lku Klasyfkaca.xlsx.. Zasane danych arkuszu kalkulacynym: Orócz sółrzędnych x x x,,, flag klasyfkuących d, tabel umeszczono także artośc odoadaące każdemu unkto. Domyślne artośc te są róne zeru, a tylko nektóre z nch ynku rozązana zadana otymalzacynego (.) osągną artośc różne od zera (należące do rzedzału od 0 do C). Rys... Wdok arkusza z roadzonym danym.. We zorze (.) ystęue odóna suma d d x x. (.4) Sumoane ystęue o dóch ndeksach oraz. W zązku z tym koneczne est utorzene odoedne tabel arkuszu. Nech ndeks oznacza ersz, a ndeks oznacza kolumnę. Naygodne będze skooać tabelę danych kleć ą secalne dokonuąc transozyc (Rys..3). Nastęne rzemanoać nagłóek kleonego ersza na. 7
Rys..3. Arkusz o kleenu danych o transozyc rzemanoanu ersza na (komórka G). Wartośc sółrzędnych unktó (x x ) oraz ch flag d są stałe. Natomast trakce rozązyana zagadnena otymalzacynego zmennym są artośc. W zązku z tym, aby możle było rozązane zadana otymalzacynego arkuszu, ektor mus być zdefnoany tylko raz. Aby tak było, ozomym erszu (zakres H5:AA5) należy roadzć odołana do odoadaących m komórek z kolumny (zakres F7:F6). Czyl dla artośc o ndekse = (komórka H5) odołane będze adresoane do komórk dla ndeksu = (komórka F7), dla = (komórka I5) odołane będze adresoane do komórk dla ndeksu = (komórka F8) td. Sytuacę tę rzedstaono na Rys.4. Rys..4. orzene odołań ektorze erszoym do komórek defnuących artośc kolumne. 3. Utorzene elementó sumoane macerzy Dla każde ary należy oblczyć artośc osane zorem d d x x, (.5) 8
celu zsumoana ch. Wartośc te są ynkem mnożena sółczynnka, flag d oraz loczynu skalarnego sółrzędnych o ndeksach oraz. Iloczyn skalarny dóch doolnych ektoró oblcza sę ako N s v v vn N v, (.6) gdze N oznacza lczbę ymaró (lczbę sółrzędnych, elementó ektora. u N=). Zatem oblczene loczynu skalarnego artośc dóch sółrzędnych x o ndeksach oraz można zrealzoać orzez oblczene sumy loczynó ch elementó sx x, x, x, x, x, N x, N x, k x, k. (.7) x Formuła realzuąca oblczene loczynu skalarnego dla sółrzędnych = oraz = będze yglądać nastęuąco: =SUMA($C7*H$; $D7*H$3) Nastęne otrzymany loczyn skalarny należy rzemnożyć rzez sółczynnk oraz flag d o ndeksach oraz. Odołana do komórek oblczaących artośc dane zorem (.5) należy zablokoać tak, żeby artośc z ndeksem ne rzesuały sę one, a artośc z ndeksem ozome. Komletna formuła arkusza oblczaąca yrazy osane zorem (.5) (komórka H7) rzedstaona została na Rys..5. N k Rys..5. orzene formuły oblczaące yrażene (.5). Nastęne formułę z komórk H7 należy rzecągnąć na zakres H7:AA7 (rys..6). Rys..6. orzene formuły oblczaące yrażene (.5). 9
Otrzymany ersz należy rzecągnąć do ersza 6. Otrzymana macerz (zakres H7:AA6) zaera artośc oblczone na odstae zoru (.5), czyl artośc dla szystkch ar - sółczynnkó, flag d sółrzędnych x. Zsumoane szystkch elementó te macerzy da artość yrażoną zorem (.4). Rys..7. Macerz elementó (zakres H7:AA6) oblczonych na odstae zoru (.5). 4. Oblczene artośc. (.8) d Wartość określona zorem (.8) osłuży do roadzena ogranczena (.) zadana otymalzacynego yznaczena ektora. Nałate oblczyć artość osaną zorem (.8) korzystaąc z formuł tablcoych arkusza Excel. W tym celu należy omnożyć zakres komórek zaeraący artośc flag d (E7:E6) rzez zakres zaeraący artośc sółczynnkó (F7:F6) rzekazać ako argument funkc SUMA(.). Sytuacę tą rzedstaa Rys.8. 0
Rys..8. Oblczene artośc dane zorem (.8). Zaterdzaąc formułę należy ykorzystać kombnacę klaszy Ctrl+Shft+Enter, co soodue utorzene formuły tablcoe (Rys.9). Rys..9. Oblczene artośc dane zorem (.8) formuła tablcoa. 5. Wroadzene zoru funkc Q( α) d d x x. (.9) Wartość funkc Q() oblcza sę bardzo łato sumuąc kolumnę artośc (zakres F7:F6) cześne ( kroku 3) utorzoną macerz (zakres H7:AA6) osaną zorem (.5) rzemnożoną rzez 0,5. Sytuacę taką rzedstaono na Rys.0.
Rys..0. Oblczene artośc funkc Q(). 6. Wroadzene artośc C W doolne komórce należy roadzć artość C. Jest ona ogranczenem na szukane otymalne rozązane. Czyl oszukane otymalne artośc sółczynnkó musza sę zaerać mędzy 0 oraz C. u arbtralne rzyęto artość C=0. (Rys..). Rys... Wroadzene artośc C.
7. Zdefnoane zadana otymalzacynego dla dodatku Solver. Dodatek Solver służy do rozązyana zagadneń otymalzacynych układó rónań nelnoych. Aby móc z nego skorzystać należy łączyć odoedne ustaena ocach rogramu Excel. Polecene uruchomena dodatku Solver znadue sę karce Dane (Rys..). Rys... Przycsk uruchamaący dodatek Solver. Jako cel należy określć odołane do komórk F8. Jest to komórka zaeraąca artość funkc Q(), które maksmum będze oszukane. Aby znaleźć maksmum Q(), należy znaleźć tak zesta artośc, dla którego funkca osągne artość naększą. W zązku z tym to zakres F7:F6 zaeraący artośc sółczynnkó będze zdefnoany ako zakres zmennych. Ustaena te okazano na Rys..3. Rys..3. Defnoane zadana otymalzacynego dodatku Solver: cel zmenne. 3
8. Zdefnoane ogranczeń nałożonych na rozązane dla dodatku Solver. Aby otrzymane rozązane było orane, należy roadzć róneż odoedne ogranczena. Są one dane zoram (.) oraz (.3). Wzór (.) stano, że suma loczynó artośc sółczynnkó oraz odoadaących m flag mus być róna zeru 0. d Ogranczena dodae sę klkaąc rzycsk Doda dodatku Solver (Rys..3). W rezultace oa sę okno dalogoe roadzana ogranczeń. Jako Odołane do komórk należy ustać komórkę, które oblczana est suma artośc (.8), czyl F7. Jako Ogranczene należy ustać artość 0. Relacę należy ustać na znak rónośc. Sytuacę tą rzedstaa Rys..4. Rys..4. Defnoane ogranczena (.). Po klknęcu rzycsku OK okno dodatku Solver yśetl dodane ogranczene (Rys..5). 4
Rys..5. Wdok okna Solver o roadzenu ogranczena (.). Ogranczena dane zorem (.3) 0 C (=,,..., ) oznaczaą, że szukane artośc sółczynnkó muszą być ększe lub róne zeru mnesze lub róne artośc C. Należy e dodać analogczne ak orzedne ogranczene. Jednak tym yadku dla każde komórk zaeraące artość sółczynnka koneczne est dodane dóch ogranczeń: 0 oraz C. Dodane ogranczena (dla =) 0 rzedstaono na Rys..6, natomast dodane ogranczena C okazue Rys..7. Rys..6. Wroadzene ogranczena 0. 5
Rys..7. Wroadzene ogranczena C. Dla każde kolene artośc należy ostąć dentyczne. Rezultat roadzena szystkch ogranczeń rzedstaono na Rys..8. Rys..8. Okno dodatku Solver o roadzenu szystkch ogranczeń. 9. Rozązane zagadnena otymalzacynego max Q( α) α d d x x. (.0) Aby znaleźć maksmum funkc Q() na metodę rozązyana należy ybrać Nelnoą GRG (Rys. 8) csnąć rzycsk Roząż. Po uzyskanu rozązana oa 6
sę okno rzedstaone na Rys..9. Należy zachoać rozązane dodatku Solver nacsnąć rzycsk OK. Rys..9. Okno ynku dodatku Solver. Wdok arkusza o rozązanu zadana otymalzacynego doczny est na Rys..0. Rys..0. Wdok arkusza o rozązanu zagadnena otymalzacynego znalezenu maksmum funkc Q(). Wartość sółczynnka określa ołożene unktu danych zględem margnesu. Dla =0 klasyfkaca -tego unktu est orana. Punkt znadue sę o odoedne strone margnesu; 0 < < C unkt o ndekse est ektorem nośnym; 7
= C unkt znadue sę enątrz margnesu. Zatem unkty o ndeksach rónych 3, 5 są ektoram nośnym. o na tych unktach oeraą sę grance margnesu rozdzelaącego zbory. Brak est unktó leżących enątrz margnesu. 0. Wyznaczene herłaszczyzn margnesu rozdzelaącego zbory. Herłaszczyzna osana est ogólnym zorem x x N N x b 0, (.) którym N oznacza lczbę ymaró. u N= (unkty maą de sółrzędne). Króce rónane herłaszczyzny można zasać ako N x b 0, (.) lub (rzy erszoych ektorach sółrzędnych x kolumnoym ektorze sółczynnkó herłaszczyzny ) korzystaąc z defnc loczynu skalarnego x b 0. (.3) Rónane, na odstae którego oblcza sę sółczynnk herłaszczyzny dane est onższym zorem SV x, (.4) d którym SV oznacza lczbę ektoró nośnych. W rozażanym zadanu znalezono trzy ektory nośne, czyl SV =3. Ze zoru (.4) ynka, że aby oblczyć artość erszego elementu ektora: należy rzemnożyć sółczynnk, flag d ersze sółrzędne unktó x,, a nastęne zsumoać (dla =3, 5, ), czyl SV Oblczene artośc okazano na Rys... d x,. (.5) 8
Rys... Formuła oblczaąca. W celu oblczena artośc ostęue sę tak samo ak orzedno, ale mnożąc flag sółczynnk rzed drug element unktó danych SV d x,. (.6) Oblczene artośc dane zorem (.6) okazano na Rys... 9
Rys... Formuła oblczaąca. Wartość dla sółczynnka olnego b dla margnesó można oblczyć uzględnaąc fakt, że margnesy są oarte o ektory nośne. Zatem dla grancy margnesu od strony zboru A należy ykorzystać doolny ektor nośny z tego zboru. Podobne należy ostąć dla grancy margnesu od strony zboru B. Czyl b b A B SVA x x x, (.7) SVB SVA, SVA, x x x. (.8) SVB, SVB, Formuły oblczaące oyższe artośc rzedstaono na Rys..3.4. 0
Rys..3. Formuła oblczaąca b A. Rys..4. Formuła oblczaąca b B.. Zaznaczene zboró herłaszczyzn na ykrese. Aby nadać oblczenom nterretacę geometryczną arto est zlustroać ch ynk. W tym celu należy utorzyć ykres unktoy składaący sę z dóch ser danych odoadaących zborom A B. Wykres tak znadue sę zakładce Wstaane (Rys..5). Rys..5. Dodaane ykresu unktoego. Po staenu ustego ykresu należy klknąć raym rzycskem myszy ego obszarze ybrać ocę Zaznacz dane..., a nastęne dodać de sere klkaąc rzycsk Doda (Rys..6).
Rys..6. Określane danych do ykresu. Jako artośc X każde z ser należy oznaczyć artośc z kolumny oznaczone x, ako Y artośc z kolumny oznaczone x (Rys..7.8). Rys..7. Dodaane ser danych A. Rys..8. Dodaane ser danych B. Kolenym krokem est narysoane herłaszczyzny rozdzelaące granc margnesu. Otrzymane sółczynnk yznaczaące herłaszczyzny granc margnesu oraz herłasczyznę rozdzelaącą dane są ostac ogólne, czyl x x b 0. (.9) Jeśl chcemy narysoać otrzymane herłaszczyzny (tu lne roste na łaszczyzne), to koneczne est rzekształcene ch rónań do ostac y m x k, (.0) które x odoada zmenne x, a x odoada zmenne y. Natomast m k są arametram roste. Przekształcaąc rónane (.9) do ostac (.0) otrzymue sę
3 b x x. (.) Zatem rónana granc margnesó będą nastęuące A A k x m b x x, (.) B B k x m b x x, (.3) a rónane herłaszczyzny searuące, znaduące sę mędzy grancam AB B A k x m b b x x. (.4) Wsółczynnk kerunkoy każde roste est tak sam, różną sę tylko artośc sółczynnkó k. Oblczone artośc sółczynnkó rzedstaa rysunek Rys..8. Oblczone artośc arametró rostych (granc margnesó herłaszczyzny searuące). Nastęne ybrano da unkty (o artoścach 0 ) dla zmenne x, dla których oblczono artośc x zgodne z rónanam (.), (.3) (.4). Do ykresu zostaną dodane roste oarte na tych unktach. Przebeg oblczeń rzedstaono na Rys..9. Otrzymany ykres rzedstaono na Rys..30. Rys..9. Określene unktó do ykreślena granc margnesu herłaszczyzny searuące.
,5,5 0,5 Margnes A A B Margnes B Herłaszczyzna 0 0 0,5,5,5-0,5 Rys..30. Interretaca geometryczna zadana. W tym unkce ukończono budoane (uczene) modelu. Model ten nauczył sę klasyfkoać unkty, o których ne adomo do akego zboru onny należeć. Wynk oblczeń rzedstaono także ostac grafczne, aby ułatć ch nterretacę.. Klasyfkaca. Klasyfkac dokonue sę na odstae reguły x x x x b b AB AB 0 0 A. (.5) B Reguła ta oznacza, że unkt klasyfkue sę na odstae artośc otrzymane ynku staena ego sółrzędnych do rónana herłaszczyzny. W rzyadku, gdy artość ta est ększa od zera, klasyfkuemy unkt do zboru A. Wynka to z faktu, że zboro temu rzyorządkoalśmy flagę dodatną d=. Jeśl otrzymana artość est mnesza od zera, unkt klasyfkuemy ako należący do zboru B (temu zboro rzyorządkoalśmy flagę uemną d=-). W arkuszu utórzmy rostą tabelkę, do które będze można sać sółrzędne unktu, który ma zostać sklasyfkoany (Rys..3). 4
Rys..3. abelka klasyfkuąca. Aby arkusz dokonał klasyfkac należy oblczyć artość x x ( b A b )/ (.6) B na e odstae sterdzć czy unkt należy do zboru A czy B. Formuła ykonuąca take dzałane może meć onższą ostać: =JEŻELI( F30*C49+F3*D49+(F3+F33)/>0 ;"A" ;"B") Oblcza ona artość daną zorem (.6) eżel est ona ększa od zera to ysue znak A, rzecnym yadku ysue znak B. Warto róneż dodać klasyfkoany unkt do ykresu. Na onższym rysunku (Rys..3) unkt ten est oznaczony ako K. Rys..3. Przykład klasyfkac unktu. 5