Support Vector Machine (SVM) este un algoritm de învățare automată supravegheată, folosit în principal pentru clasificare, care găsește granița optimă (numită „hiperplan”) care separă cel mai bine două sau mai multe categorii de date, maximizând distanța dintre graniță și cele mai apropiate puncte de date din fiecare categorie — puncte numite „vectori suport”, de unde și numele algoritmului.
Principiul de maximizare a marginii (distanța dintre graniță și cele mai apropiate exemple) este esențial pentru capacitatea de generalizare a modelului: o graniță de decizie situată la distanță maximă față de exemplele de antrenament din ambele categorii este mai puțin sensibilă la zgomot și mai probabil să clasifice corect date noi, nevăzute anterior.
Pentru probleme unde datele nu pot fi separate printr-o linie sau un plan drept (probleme neliniare), SVM folosește o tehnică numită „kernel trick”, care proiectează implicit datele într-un spațiu cu mai multe dimensiuni, unde separarea devine posibilă printr-un hiperplan, fără a calcula explicit noua reprezentare — o soluție elegantă din punct de vedere computațional.
SVM a fost, timp de mulți ani, algoritmul de referință pentru clasificare în domenii precum recunoașterea scrisului de mână, clasificarea textelor și bioinformatica (clasificarea probelor genetice), datorită performanței excelente pe seturi de date de dimensiuni moderate, chiar și cu un număr relativ mare de caracteristici. Deși rețelele neuronale profunde au depășit SVM pe multe sarcini complexe precum viziunea computerizată sau procesarea limbajului la scară mare, SVM rămâne o alegere solidă și eficientă pentru probleme de clasificare cu seturi de date de dimensiuni mici sau medii.
