Suporta mașini vectoriale

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Exemplu de separare liniară, folosind SVM-uri.

Vectorul de suport al mașinilor (SVM, engleză support-vector machines) sunt modele de învățare supravegheată asociate algoritmilor de învățare pentru regresie și clasificare . Având în vedere un set de exemple pentru antrenament , fiecare dintre acestea fiind etichetat cu clasa căreia aparțin cele două clase posibile, un algoritm de formare SVM construiește un model care atribuie noile exemple uneia dintre cele două clase, obținând astfel un clasificator liniar binar non -probabilist. Un model SVM este o reprezentare a exemplelor ca puncte în spațiu, mapate în așa fel încât exemplele care aparțin celor două categorii diferite sunt clar separate printr-un spațiu cât mai mare posibil. Noile exemple sunt apoi mapate în același spațiu și predicția categoriei căreia le aparține se face pe baza laturii în care se încadrează.

În plus față de clasificarea liniară, este posibil să se utilizeze SVM-urile pentru a efectua în mod eficient o clasificare neliniară utilizând metoda nucleului , prin maparea implicită a intrărilor lor într-un spațiu cu caracteristici multidimensionale.

Atunci când exemplele nu sunt etichetate, este imposibil să se antreneze într-un mod supravegheat și este necesară învățarea nesupravegheată: această abordare încearcă să identifice grupurile naturale în care sunt grupate datele, mapând ulterior noile date în grupurile obținute. Algoritmul de grupare a vectorilor de suport, creat de Hava Siegelmann și Vladimir N. Vapnik , aplică statisticile vectorilor de suport, dezvoltate în algoritmii SVM, pentru a clasifica datele neetichetate și este unul dintre cei mai folosiți algoritmi de grupare în aplicațiile industriale.

Motive

Mașinile vectoriale de sprijin pot fi considerate ca o tehnică alternativă pentru învățarea clasificatorilor polinomiali, spre deosebire de tehnicile de antrenament clasice pentru rețelele neuronale artificiale .

Rețelele neuronale cu un singur strat au un algoritm de învățare eficient, dar sunt utile numai în cazul datelor separabile liniar. În schimb, rețelele neuronale multistrat pot reprezenta funcții neliniare, dar sunt dificil de antrenat datorită numărului mare de dimensiuni ale spațiului de greutate și deoarece cele mai răspândite tehnici, cum ar fi propagarea înapoi , permit obținerea greutăților rețelei. . rezolvarea unei probleme de optimizare neconvexe și nelimitate care, în consecință, are un număr nedeterminat de minime locale.

Tehnica de formare SVM rezolvă ambele probleme: are un algoritm eficient și este capabil să reprezinte funcții neliniare complexe. Parametrii caracteristici ai rețelei sunt obținuți prin rezolvarea unei probleme de programare pătratică convexă cu constrângeri de egalitate sau de tip casetă (în care valoarea parametrului trebuie păstrată într-un interval), care prevede un minim global unic.

Definiție

În mod formal, o mașină vectorială de suport construiește un hiperplan sau un set de hiperplane într-un spațiu multidimensional sau infinit-dimensional, care poate fi utilizat pentru clasificare , regresie și alte scopuri, cum ar fi detectarea anomaliilor. Intuitiv, o bună separare poate fi obținută de hiperplanul care are cea mai mare distanță de cel mai apropiat punct (al setului de antrenament ) din fiecare dintre clase; în general, cu cât este mai mare marja dintre aceste puncte, cu atât este mai mică eroarea de generalizare făcută de clasificator.

În timp ce problema inițială poate fi definită într-un spațiu cu dimensiuni finite, se întâmplă adesea ca seturile care trebuie distinse să nu fie separabile liniar în acel spațiu. Din acest motiv, s-a propus ca spațiul original de dimensiuni finite să fie mapat la un spațiu cu un număr mai mare de dimensiuni, ceea ce face probabil mai ușoară găsirea unei separări în acest nou spațiu. Pentru a menține sarcina de calcul acceptabilă, mapările utilizate de SVM sunt realizate în așa fel încât produsele scalare ale vectorilor perechilor de puncte de intrare sunt ușor de calculat în funcție de variabilele spațiului original, prin definiția lor în termeni a unei funcții de nucleu alegere bazată pe problema de rezolvat. Hiperplanele dintr-un spațiu multidimensional sunt definite ca setul de puncte al căror produs scalar cu un vector în acel spațiu este constant, unde acel set de vectori este un set ortogonal (și deci minim) de vectori care definesc un hiperplan. Vectorii care definesc hiperavioanele pot fi alese ca combinații liniare cu parametri prezintă imagini vectoriale . Cu această alegere a hiperplanului, punctele în spațiul caracteristicilor care sunt mapate în hiperplan sunt definite de relație . Rețineți că dacă devine mai mic de la cu privire la , fiecare termen al sumei măsoară gradul de apropiere al punctului de testare până la punctul de bază corespunzător . Observați că setul de puncte cartografiat în orice hiperplan poate produce un rezultat destul de complicat, permițând discriminări mult mai complexe între seturi care nu sunt complet convexe în spațiul original.

Istorie

Algoritmul original SVM a fost inventat de Vladimir Vapnik și Aleksej Červonenkis în 1963.

În 1992 Bernhard Boser, Isabelle Guyon și Vapnik însuși au sugerat o modalitate de a crea un clasificator neliniar prin aplicarea metodei kernelului la hiperplanul cu marjă maximă. Actualul standard care propune utilizarea unei marje ușoare a fost propus în schimb de Corinna Cortes și Vapnik în 1993 și publicat în 1995.

SVM liniar

Clasificare neliniară

Calculul clasificatorului SVM

Minimizarea riscului empiric

Extensii

  • Suport pentru clusterizarea vectorială (SVC)
  • SVM Multiclass
  • SVM transductiv
  • SVM structurat
  • Regresie

Utilizări

Unele aplicații pentru care SVM-urile au fost utilizate cu succes sunt:

Implementări

Următoarele cadre oferă o implementare a SVM:

Notă

Bibliografie

  • Stuart Russell și Peter Norvig, Inteligența artificială: o abordare modernă , Prentice Hall, 2003, ISBN 88-7192-229-8

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității LCCN (EN) sh2008009003 · GND (DE) 4505517-8 · BNF (FR) cb16627142b (data)