Documente Academic
Documente Profesional
Documente Cultură
Studenți:
2018 - 2019
Descrierea problemei
Mașinile cu vector suport (”Support Vector Machines”, SVM) definesc o metodă de învățare,
cu fundamente matematice riguroase, în care ideea de bază este de a maximiza ”marginea” ce
separă instanțele din două clase diferite, maximizarea fiind rezolvată într-o manieră analitică
și nu empirică.
Punctele de coordonate aleatorii reprezintă câteva date de intrare, etichetate cu clasa căreia
aparțin. Distribuția punctelor de antrenare, influențează capacitatea de a distinge cele două
clase. Teoria învățării statice încearcă să identifice caracteristicile claselor de ipoteze
învățabile sau ne-învățabile.
Ca și ipoteze de separare a elementelor din cele două clase, s-au analizat numărul de
personaje al operelor, respectiv numărul de capitole.
Rezolvarea problemei de clasificare presupune, găsirea unei drepte ce poate împărți planul în
două suprafețe. În cazul nostru problema de clasificare este una binară, dacă problema
conține mai multe dimensiuni atunci dreapta se transformă într-un hiperplan.
Având mai multe opțiuni la dispoziție, se pune întrebarea care dintre acestea este mai bună,
încercând implementarea unei posibilități de generalizare a modelului pentru clasificarea unor
noi instanțe.
În funcție de modelul folosit ca și date de antrenare putem obține, clasificări cu mici variații
în zonele de conflict. (Locul în care cele două clase se diferențiază mai dificil - Ex : O nuvelă
cu subiect de roman).
Generalizarea cea mai bună este făcută de modelul care asigură marginea cea mai mare de
demarcație între clase.
Fig.1 Problema de clasificare cu clase separabile liniar
În cazul de față, problema de clasificare are 2 atribute (Număr Capitole, Număr Personaje) și
suprafața de separare este o dreaptă care împarte planul în două semiplane. În general,
hiperspațiul nD corespunzător unei probleme cu n atribute este împărțit în două de către un
hiperplan (n-1)D.
Aspecte teoretice privind algoritmul
Pentru a separa datele în clase diferite se folosește hiperplanul.
Un hiperplan este unu subspațiu al spațiului în care se afla datele. Ecuația hiperplanului este 0
= w*x+b, unde w poate avea oricâte dimensiuni.
unde
Pentru a rezolva problema descrisă mai sus se poate apela la metoda multiplicatorilor
Lagrange, care gasește minimul sau maximul unei funcții atunci când există restricții de
egalitate.
Aplicând aceasta metodă pentru a rezolva problema descrisă mai sus, obținem următoarea
problemă Lagrange:
Ducând mai departe calculele și înlocuind în funcția Lagrange variabilele w si b, vom obține
următoarea problemă de optimizare care este mai simplă deoarece trebuie să găsim doar
multiplicatorii Lagrange pentru a rezolva problema:
Condițiile Karush-Kuhn-Tucker
Deoarece metoda multiplicatorilor Lagrange este folosită doar atunci când avem constrângeri
de egalitate, există regulile KKT care atunci când sunt respectate putem fi siguri că găsim o
soluție optimă pentru o funcție cu constrângeri de inegalitate, aplicând metoda
multiplicatorilor Lagrange.
Condițiile Karush-Kuhn-Tucker sunt:
● Condiția staționară
● Condiția primară
● Condiția de fezabilitate
Implementarea problemei
Înainte de a începe executarea algoritmului SMO, setăm ca și date inițiale toți alpha cu
valoarea 0, și astfel forțăm respectarea condiției staționare KKT.
Algoritmul SMO iterează prin toate valorile lui alpha, iar când este găsită o valoare care nu
respectă condițiile KKT atunci încearcă să îi optimizeze valoarea.
Funcția bounds gasește valori pentru alpha(i) si alpha(j) astfel încât aceste valori să respecte
condițiile KKT.
Calculul lui w se face conform formulei prezentate anterior. Această funcție se apelează după
ce algoritmul SMO își termina execuția.
Rezultate obținute și concluzii
Mașinile cu vector suport sunt foarte des utilizate pentru probleme de clasificare, regresie, dar
și pentru alte tipuri de probleme precum selectarea trăsăturilor (engl.”feature selection”) sau
clasificări cu o singură clasă.
Pe de altă parte alegerea zonei de nucleu ( zona în care obiectele nu se pot clasifica foarte
bine și se poate apela la mai multe dimensiuni pentru a clasifica) depinde mult de experiența
utilizatorului și se face de multe ori prin încercare și eroare.
În urma rulării algoritmului cu setul de date prezentat, se determină coeficienții astfel încât
dreapta care separă cele două clase să fie extrem de bine determinată. Simularea a determinat
trei puncte din mulțimea nuvelelor și un punct din mulțimea romanelor ce ajută la trasarea
linii.
În urma alegerii temei Silviu Costin Axinte a fost responsabil pentru crearea structurii de
bază a proiectului și implementarea funcțiilor algoritmului SMO.
Mihai Alexandru Olaru a pregătit setul de date pentru antrenamentul mașinilor cu vector
suport și făcut interfața grafică și funcția de interacțiune cu utilizatorul, ca acestă să poată
adăuga noi instanțe.
Partea de integrare, de testare și de depistare a erorilor a fost făcută prin colaborarea celor doi
membri ai echipei.
Pentru documentație Silviu Costin Axinte a redactat partea de optimizare a problemei SVM și
metoda de rezolvare, în timp ce Mihai Alexandru Olaru a redactat partea de introducere,
seturile de date și rezultatele obținute în urma simulării.
BIBLIOGRAFIE:
● Yuh-Jye Lee (2017), Sequential Minimal Optimization, Data Science and Machine
Intelligence Lab National Chiao Tung University
http://jupiter.math.nctu.edu.tw/~yuhjye/assets/file/teaching/2017_machine_learning/S
MO%20algorithm.pdf
● Alexandre Kowalczyk(2017), Support Vector Machines Succintly, Syncfusion Inc
http://jermmy.xyz/images/2017-12-23/support_vector_machines_succinctly.pdf
● Florin Leon (2014), Inteligență artificială: Mașini cu vector suport, Editura
Tehnopress