Sunteți pe pagina 1din 15

Lab 11.

Recunoaterea obiectelor din imagini


digitale monobiect, fr extragerea i selecia
trsturilor, folosind clasificatoare masini cu
vectori suport (SVM) binare

Clasificatorul SVM binar


Notatii matematice:
Spatiul trasaturilor: RF => F = dimensiunea spatiului trasaturilor
Date de antrenare: Xtrn={xt,1, xt,2, , xt,Ntrn}; etichetele datelor de antrenare:
Ytrn={y t,1,y t,2,,y t,Ntrn}, yt,i=+1 sau -1.
- SVM = clasificator binar capabil sa separe datele in 2 clase:
a) clasa exemplelor pozitive, etichetate cu +1, pentru o problema de
clasificare data (ex.: clasa imaginilor faciale)
b) clasa exemplelor negative, etichetate cu -1, pentru problema de
clasificare data = orice alt tip de date decat cele pozitive (ex.: orice alta
imagine decat o imagine faciala)
=> SVM clasifica datele in exemple pozitive si exemple negative intr-o
clasa C si o clasa non-C.
Principiul de separare a datelor in cele 2 clase in clasificatorul SVM binar:
separarea datelor de catre un hiperplan separator optimal H, care separa
exemplele din cele doua clase fara eroare si cu margine maxima = cu distanta
maxima de la cel mai apropiat exemplu pozitiv la H si de la cel mai apropiat
2
exemplu negativ la H .

Principiul recunoasterii
obiectelor cu SVM binare
1. Descrierea
obiectelor
intr-un spatiu
al trasaturilor:
Exemple pozitive

Exemple negative

2. Generarea
fisierului de
antrenare al
SVM:

4. Recunoasterea obiectelor
necunoscute:

3. Antrenare
SVM
=>
hiperplanul
separator
optim:

MVS

f(x)

f (x) < 0 = > clasa 2


f ( x) =

i= 1

i y i K ( x, x i ) + b

Etapa de antrenare a SVM


n funcie de gradul de separabilitate al datelor de clasificat n
spaiul trsturilor lor, putem utiliza :
SVM liniare, pt. date liniar
separabile => ecuaia
hiperplanului separator optimal
se deduce n RF.
SVM neliniare, pt. date neseparabile
liniar n RF => nu putem deduce un
hiperplan care s separe datele n RF
=>SVM proiecteaz datele ntr-un
spaiu de dimensiune mai mare, RM,
M>F, n care datele devin liniar
separabile. Hiperplanul separator este
dedus n spaiul nalt dimensional RM.
5

Cazul SVM liniar (1)


Procesul de nvare al SVM = gsirea parametrilor unui
hiperplan H0 in RF care:
s separe perfect exemplele pozitive i exemplele negative din Xtrn in RF
s maximizeze marginea s maximizeze distana celui mai apropiat
exemplu pozitiv i distana celui mai apropiat exemplu negativ la
Vectori-suport din clasa
hiperplanul H0.
exemplelor pozitive

H0 = hiperplanul

separator optimal
= media
hiperplanelor limita
definite de vectorii
suport: H1, H2

margine

Principiul separrii datelor n procesul de clasificare binar n maina cu vectori


suport

Vectori-suport din clasa exemplelor negative

Cazul SVM liniar (2)

Este posibil definirea mai multor hiperplane care s separe perfect datele din
mulimea de antrenare : H0, H'0, H''0.

Doar hiperplanul H0 d distana maxim de la cel mai apropiat exemplu


pozitiv i cel mai apropiat exemplu negativ la hiperplan => H0 = hiperplan
separator optimal
Hiperplanul separator optimal este paralel cu hiperplanele-limit H1 i H2,

fiind situat la mijlocul distanei dintre ele.

Vectori-suport din clasa


exemplelor pozitive

margine

Principiul separrii datelor n procesul de clasificare binar n maina cu vectori


suport

Vectori-suport din clasa exemplelor negative

Cazul SVM liniar (3)

H1, H2 = hiperplanele cu proprietatea c, nici una din datele de antrenare nu


cade ntre ele, dar exist date de antrenare i pe H1, i pe H2.

Datele de antrenare situate pe H1 si H2 = vectorii suport ai SVM.

Vectorii support = singurele date necesare pentru definirea SVM, deoarece


permit definirea univoc a H0:
Vectorii suport formai din exemple de antrenare pozitive definesc complet
ecuaia hiperplanului H1
Vectorii suport formai din exemple de antrenare pozitive definesc complet
ecuaia hiperplanului H2
Odat definite H1 si H2 prin ecuaiile lor matematice => ecuaia matematic a
hiperplanului separator optimal H0 se poate defini prin "media" ecuaiilor
hiperplanelor H1 i H2, respectiv, prin ecuaia acelui hiperplan care este paralel i
cu H1, i cu H2, i este amplasat exact la mijlocul distanei dintre ele.

Pentru exemplul din fig. anterioara, avem cte dou exemple din fiecare clas
aflate pe hiperplanele-limit => numrul de vectori suport = 4 (2 vectori
suport cu eticheta +1; 2 vectori suport cu eticheta 1).
8

Cazul SVM liniar (4)

Ecuaia matematic a hiperplanului H0 n spaiul RF al datelor se exprim ca:

H 0 : w x + b = 0,

unde w = vectorul normal la hiperplan; b = termenul liber al hiperplanului.


Suma distanelor celui mai apropiat exemplu negativ la hiperplanul H0 i a
celui mai apropiat exemplu pozitiv la hiperplanul H0 este dat de expresia 2
w
i se numete margine. w = norma Euclidian a vectorului w.
Problema antrenrii SVM = deducerea parametrilor w i b ai hiperplanului
separator optimal H0 astfel nct marginea s fie maximizat, iar exemplele
pozitive i negative s respecte urmtoarele constrngerile ca nici unul dintre
ele s nu "cad" n interiorul marginii de separare a claselor, adic, s nu fie
amplasate ntre hiperplanele-limit H1 i H2:
w T x i + b 1, pentru y i = + 1
, i = 1,2,...., N trn .
T
w x i + b 1, pentru y i = 1

Cazul SVM liniar (5)

Problema de maximizare a marginii cu constrngeri de tip inecuatie se poate rezolva


cu ajutorul multiplicatorilor Lagrange.
Datele xk din mulimea de antrenare pentru care, n urma procesului de optimizare, se
obin multiplicatori Lagrange k = 0 nu vor interveni n expresia matematic a funciei
de decizie a clasificatorului main cu vectori suport.
Celelalte date, pentru care obinem multiplicatori Lagrange nenuli, sunt importante n
definirea ecuaiei matematice a hiperplanului H0, i deci i a funciei de decizie a
clasificatorului. Aceste date de antrenare sunt exact vectorii suport ai clasificatorului,
adic, datele din mulimea de antrenare care definesc cele dou hiperplane-limit H1 i
H2. Fie NS = nr. vectorilor support, NS>0 i NSNtrn.
Vectorii suport, etichetele lor, valorile multiplicatorilor lor Lagrange asociai i valoarea
termenului liber b al hiperplanului deduse n urma procedurii de optimizare sunt
suficieni pentru a defini complet maina cu vectori support
Ecuaia hiperplanului separator optimal H0 al mainii cu vectori suport definete de
fapt i funcia de decizie a clasificatorului main cu vectori suport, n urmtoarea
form:
NS

f ( x ) = i y i x T x i + b,
i= 1

sau

y = f ' (x) = sign( f (x) ) .

10

Cazul SVM neliniar (1)

Daca datele de antrenare nu sunt separabile fr eroare printr-un hiperplan


n domeniul lor original => SVM proiecteaz datele din spaiul ntr-un spaiu
Hilbert de dimensiune mai nalt RM, cu M>F, folosind pentru proiecie o
transformare neliniar , : F M
n noul spaiu, datele devin mai distanate i vor fi mai uor de separat liniar
=> SVM construiete n faza de antrenare hiperplanul separator optimal n
noul spaiu RM, dat de ecuaia:

H 0 : w (x) + b = 0,
ca orice SVM liniar, dar nu in RF ci in RM.
Similar SVM liniar, in expresia finala a functiei de decizie f(x), datele intervin
prin produsele lor scalare in RM: ( x i ) ( x j ) , i, j = 1,2,..., N trn .
n locul folosirii explicite a acestor produse i transformrii neliniare , SVM
F
F
folosesc funcii-kernel K : , care implementeaza calculul:

( )

K x i , x j = ( x i ) x j , i, j = 1,2,..., N trn .
11

Cazul SVM neliniar (2)


Ilustrare a procesului de proiectie a datelor intr-un spatiu inalt dimensional
si deducere a hiperplanului separator optimal in acest spatiu:

Proiectia hiperplanului separator


optimal in RF; functia f(x)=0.

Hiperplan separator optimal in RM


12

Cazul SVM neliniar (3)

Exemple de funcii-kernel n clasificatoarele SVM:

Funcia-kernel polinomial, de grad d, d ntreg pozitiv nenul:

) (

K xi , x j = m xiT x j + n ,

unde: d = gradul polinomului; valori uzuale: 2,3,5 i 7.


m i n = parametri cu valori reale nenule, care reprezint coeficienii expresiei
polinomiale. Uzual, m=n=1.
6)
Funcia-kernel exponenial (RBF)(=radial basis function):

2
K x i , x j = exp x i x j ,

unde reprezint parametrul cu valori reale pozitive nenule al funciei Gaussiene.

n urma procesului de nvare al mainii cu vectori suport neliniare, se


obine funcia de decizie (cu valori reale) a clasificatorului sub forma:
NS

f ( x ) = i y i K ( x, x i ) + b ,
i= 1

13

Aplicatie practica
1) Se va descarca biblioteca Matlab Support Vector Machine Toolbox
dezvoltata de catre Steve Gunn, Univ. of Southampton, de la adresa:
http://www.isis.ecs.soton.ac.uk/isystems/kernel/svm.zip

Se va dezarhiva aceasta biblioteca in directorul Toolbox din Matlab


Se va adauga (comanda Set Path) directorul acestui toolbox, cu
subdirectoarele sale, la pornirea Matlab-ului
2) La linia de comanda a Matlab-ului, rulati aplicatia uiclass. Incarcati pe
rand cele trei fisiere de date corespunzatoare problemei de clasificare a
florilor de Iris. Care este diferenta intre cele 3 fisiere? Ce problema de
clasificare rezolva fiecare dintre ele?

14

3) Analizati, pentru fiecare din cele 3 seturi de date al problemei de


clasificare a florilor de Iris, performanta de clasificare a unui clasificator
SVM binar liniar si a unor clasificatoare SVM binare neliniare, pentru
diferite forme de functii kernel. Comentati performantele de clasificare.

4) Rulati aplicatia ObjClassifSVM_LargeDatabase.m si notati erorile de


clasificare in setul de antrenare si in setul de test pentru problema de
clasificare data. Comparati performanta de clasificare cu cea a
clasificatorului LDA din lucrarea de laborator precedenta.

5) Modificati parametrii SVM astfel incat sa se minimizeze rata de eroare in


setul de test (atat pentru cazul folosirii numai a luminantei, cat si a culorii)
pentru problema de clasificare data.

15