Sunteți pe pagina 1din 4

Masina cu vectori support (Support Vector Machine=SVM) Curs DATA MINING (prof.

Victor Neagoe)
Introducere teoretica

Masina cu vectori suport (Support Vector Machine SVM) este o tehnica moderna de clasificare supervizata. Daca se considera o multime N de vectori n-dimensionali * + si multimea de etichete corespunzatoare * + * + , atunci SVM cauta sa determine un hiperplan in spatiul n-dimensional care sa fie optimal din punct de vedere al margin-ului (notiune ce va fi definita in sectiunea mai jos) dintre cele doua clase de date. Se pleaca de la problema clasificarii liniare in doua clase: ( ) ( ) ( )

unde ( ) defineste o transformare intr-un spatiu de caracteristici convenabil ales (se va reveni in sectiunile urmatoare asupra acestei alegeri).

Cele doua clase de date sunt liniar separabile in spatiul de caracteristici ales

Daca se consideara ca cele doua clase de date sunt liniar separabile in spatiul de caracteristici ales atunci exista cel putin o solutie * + care sa asigure: { ( ) ( ) ( )

Figura Error! No text of specified style in document..1. Aplicarea SVM pentru date liniar separabile

Se defineste margin-ul ca

( )

+.

Mai mult, se stie ca distanta de la un punct la un plan se calculeaza cu formula | ( )| . ( ) Din cauza ca | ( )| , distanta de la un punct la hiperplan se poate scrie ca:

( )

( )

Obiectivul SVM este de a maximiza margin-ul [15]. Problema care trebuie rezolvata se poate rescrie astfel: * , ( ( ) )-+ ( )

Pentru a simplifica aceasta problema, dar fara a ii limita generalitatea, se efectueaza o rescalare de tipul si , astfel incat pentru cel mai apropiat punct de hiperplanul de decizie, , sa se respecte relatia: ( ( ) ) ( )

In acest caz toate punctele vor respecta urmatoarea conditie: ( ( ) ) ( )

Aceasta reprezentare poarta numele de reprezentarea canonica a hiperplanului de decizie. Pentru punctele pentru care exista egalitate in relatia ( ), constrangerea se numeste activa; pentru cele pentru care nu exista egalitate constrangerea este inactiva. Coreland ( ), ( ) si ( ), problema de optimizat devine maximizarea , ceea ce este echivalent cu: ( )

Pentru rezolvare se foloseste metoda multiplicatorilor lui Lagrange [15], [19]. Se introduc , cate un multiplicator pentru fiecare dintre constrangerile ( ). Se va minimiza urmatoarea functie: ( ) * ( ( ) ) + ( )

Unde , - . Derivatele lui ( Rezulta urmatoarele doua egalitati: ( ( ))

) in raport cu w si b trebuie sa fie nule.

Se observa ca se poate realiza o exprimare a problemei in forma ei duala. Acesta reformulare poarta numele de Wolfe dual [20]. Din relatiile ( ), ( ) si ( ), se obtine urmatoarea reformulare a problemei: Sa se maximizeze:

( )

in raport cu urmatoarele constrangeri: ( ( ) )

Valoarea problemei duale Wolfe consta in faptul ca maximul lui ( ) este atins pentru acelasi ). set de valori * + ca si minimul lui ( Un alt aspect interesant ce apare la acest moment este aparitia functiei nucleu (kernel), ( ) ( ). Acesta se va constitui intr-un avantaj foarte mare la ( ) implementarea algoritmului de antrenare al SVM. Definitia vectorilor suport pleaca de la un set de conditii pe care trebuie sa le indeplineasca problema de optimizat si care poarta numele Karush-Kuhn-Tucker (KKT) [15]: { O consecinta a ( . ( ) ( ( ) ( ) ori ( ) )

) este ca pentru orice vector din lotul de test ori

Clasificarea vectorilor se va face dupa semnul expresiei: ( ) ( ) ( )

Interesant este ca vectorii care au nu contribuie niciodata la suma evaluata in relatia ( ), cu alte cuvinte nu au nici un rol in procesul de clasificare. Ceilalti vectori, pentru care , contribuie mereu in procesul de clasificare si poarta numele de vectori suport. Se observa usor ca multimea vectorilor suport este inclusa in multimea initiala de vectori, . Se observa ca valoarea lui din ecuatia ( eleganta de a o afla este propusa de Bishop [15]: ) nu a fost inca stabilita. O modalitate

))

unde cu S s-a notat multimea vectorilor suport.

Algoritmul KA pentru clase liniar separabile

Etape: (1) Initializari: ( ) - Stabilire rata de invatare, ; - Stabilire numar maxim de epoci de antrenare N_max; - Stabilire eroare maxima acceptata ( ). (2) Cat timp k<N_max si Cond_Stop=false ( ) ; ( ); - Daca atunci , altfel ; - Cond_Stop: o se calculeaza * | + si * | ( ) : o | o Verfic daca | , daca DA atunci STOP (3) Calcul bias, b, cu formula Bishop (relatia ( ));

+;

S-ar putea să vă placă și