Mașină vectorială de suport ( SVM, mașină vectorială de suport ) este un set de algoritmi de învățare supravegheat similari utilizați pentru probleme de clasificare și analiză de regresie . Ea aparține familiei clasificatoarelor liniare și poate fi considerată și ca un caz special de regularizare Tikhonov . O proprietate specială a mașinii vector suport este că eroarea de clasificare empirică scade în mod continuu și decalajul crește, motiv pentru care metoda este cunoscută și ca metoda de clasificare a decalajului maxim .
Ideea principală a metodei este de a traduce vectorii originali într-un spațiu de dimensiuni mai mari și de a căuta un hiperplan de separare cu cel mai mare decalaj din acest spațiu. Două hiperplanuri paralele sunt construite pe ambele părți ale hiperplanului care separă clasele. Hiperplanul de separare va fi hiperplanul care creează cea mai mare distanță până la două hiperplane paralele. Algoritmul se bazează pe presupunerea că, cu cât diferența sau distanța dintre aceste hiperplane paralele este mai mare, cu atât eroarea medie a clasificatorului va fi mai mică.
Adesea, în algoritmii de învățare automată, devine necesară clasificarea datelor. Fiecare obiect de date este reprezentat ca un vector (punct) în spațiul -dimensional (un set ordonat de numere). Fiecare dintre aceste puncte aparține doar uneia dintre cele două clase. Întrebarea este dacă punctele pot fi separate printr-un hiperplan de dimensiune ( -1). Acesta este un caz tipic de separabilitate liniară . Pot exista multe hiperplanuri dorite, așa că se crede că maximizarea decalajului dintre clase contribuie la o clasificare mai sigură. Adică, este posibil să găsim un astfel de hiperplan , astfel încât distanța de la acesta până la cel mai apropiat punct să fie maximă. Acest lucru este echivalent [1] cu faptul că suma distanțelor până la hiperplan de la două puncte cele mai apropiate de acesta, situate pe părțile opuse ale acestuia, este maximă. Dacă un astfel de hiperplan există, se numește hiperplan de separare optim , iar clasificatorul liniar corespunzător se numește clasificator de separare optim .
Credem că punctele arată astfel:
unde ia valoarea 1 sau −1, în funcție de clasa căreia îi aparține punctul . Fiecare este un vector real -dimensional , de obicei normalizat prin sau . Dacă punctele nu sunt normalizate, atunci un punct cu abateri mari de la coordonatele punctului mediu va afecta prea mult clasificatorul. Ne putem gândi la aceasta ca la un eșantion de antrenament în care fiecărui element i se oferă deja o clasă căreia îi aparține. Vrem ca algoritmul mașinii vectorului suport să le clasifice în același mod. Pentru a face acest lucru, construim un hiperplan de separare, care arată astfel:
Vectorul este perpendicular pe hiperplanul de separare. Parametrul este egal în valoare absolută cu distanța de la hiperplan la origine. Dacă parametrul b este zero, hiperplanul trece prin origine, ceea ce limitează soluția.
Deoarece ne interesează separarea optimă, ne interesează vectorii suport și hiperplanele care sunt paralele cu cea optimă și cele mai apropiate de vectorii suport ai celor două clase. Se poate arăta că aceste hiperplane paralele pot fi descrise prin următoarele ecuații (până la normalizare).
Dacă eșantionul de antrenament este separabil liniar , atunci putem alege hiperplanele astfel încât niciun punct al eșantionului de antrenament să nu se afle între ele și apoi să maximizăm distanța dintre hiperplane. Lățimea benzii dintre ele este ușor de găsit din considerente geometrice, este egală cu [2] , deci sarcina noastră este de a minimiza . Pentru a exclude toate punctele din bandă, trebuie să ne asigurăm de toate acestea
Acest lucru poate fi scris și ca:
Problema construirii unui hiperplan de separare optim se reduce la minimizarea , în condiția (1). Aceasta este o problemă de optimizare pătratică care arată astfel:
După teorema Kuhn-Tucker, această problemă este echivalentă cu problema duală a găsirii punctului de șa al funcției Lagrange
unde este vectorul variabilelor duale.
Reducem această problemă la o problemă de programare pătratică echivalentă care conține doar variabile duale:
Să presupunem că am rezolvat această problemă, atunci poate fi găsită prin formulele:
Ca rezultat, algoritmul de clasificare poate fi scris astfel:
În acest caz, însumarea nu are loc pe întregul eșantion, ci doar pe vectorii suport pentru care .
Pentru ca algoritmul să funcționeze dacă clasele sunt liniar inseparabile, să-i permitem să facă greșeli pe setul de antrenament. Să introducem un set de variabile suplimentare care caracterizează magnitudinea erorii asupra obiectelor . Să luăm (2) ca punct de plecare, să reducem constrângerile de inegalitate și să introducem, de asemenea, o penalizare pentru eroarea totală în funcționalitatea minimizată:
Coeficientul este un parametru de setare a metodei care vă permite să ajustați raportul dintre maximizarea lățimii benzii de separare și minimizarea erorii totale.
În mod similar, conform teoremei Kuhn-Tucker , reducem problema la găsirea punctului de șa al funcției Lagrange :
Prin analogie, reducem această problemă la una echivalentă:
În practică, pentru a construi o mașină vectorială suport, această problemă este rezolvată, și nu (3), deoarece în general nu este posibil să se garanteze separabilitatea liniară a punctelor în două clase. Această variantă a algoritmului se numește algoritm SVM soft-margin, în timp ce în cazul separabil liniar se vorbește de margine rigidă (SVM hard-margin).
Pentru algoritmul de clasificare se reține formula (4), cu singura diferență că acum nu numai obiectele de referință, ci și obiectele care încalcă au valori diferite de zero. Într-un anumit sens, acesta este un dezavantaj, deoarece vârfurile de zgomot sunt adesea infractorii, iar regula de decizie construită pe acestea, de fapt, se bazează pe zgomot.
Constanta C este de obicei aleasă după criteriul unui control glisant. Aceasta este o metodă laborioasă, deoarece problema trebuie rezolvată din nou pentru fiecare valoare a lui C.
Dacă există motive să credem că eșantionul este aproape separabil liniar și numai obiectele aberante sunt clasificate incorect, atunci poate fi aplicată filtrarea valorii aberante. În primul rând, problema este rezolvată pentru unele C și o mică parte a obiectelor cu cea mai mare valoare de eroare este eliminată din eșantion . După aceea, problema este rezolvată din nou pe o probă trunchiată. Poate fi necesar să faceți mai multe astfel de iterații până când obiectele rămase sunt separabile liniar.
Algoritmul pentru construirea hiperplanului de separare optim, propus în 1963 de Vladimir Vapnik și Aleksey Chervonenkis , este un algoritm de clasificare liniară. Cu toate acestea, în 1992, Bernhard Boser, Isabelle Guyon și Vapnik au propus o metodă de creare a unui clasificator neliniar bazat pe tranziția de la produse scalare la nuclee arbitrare, așa-numitul truc kernel (propus pentru prima dată de M. A. Aizerman , E. M. Braverman și L. I. Rozonoer pentru metoda funcțiilor potențiale), care permite construirea de separatoare neliniare. Algoritmul rezultat este foarte asemănător cu algoritmul de clasificare liniară, singura diferență fiind că fiecare produs scalar din formulele de mai sus este înlocuit cu o funcție de nucleu neliniară (produs scalar într-un spațiu cu o dimensiune mai mare). Un hiperplan de separare optim poate exista deja în acest spațiu. Deoarece dimensiunea spațiului rezultat poate fi mai mare decât dimensiunea celui inițial, transformarea care se potrivește cu produsele scalare va fi neliniară, ceea ce înseamnă că și funcția corespunzătoare hiperplanului de separare optim din spațiul original va fi neliniară.
Dacă spațiul original are o dimensiune suficient de mare, atunci proba poate fi separabilă liniar.
Cele mai comune nuclee:
Tipuri de rețele neuronale artificiale | |
---|---|
|
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|