La Support Vector Machine (SVM) è un algoritmo di Machine Learning con supervisione in grado di trovare l’iperpiano migliore per separare i punti di dati di una classe da quelli di un’altra classe.
Una Support Vector Machine (SVM) è un algoritmo di Machine Learning supervisionato che individua l’iperpiano in grado di separare al meglio i punti dati appartenenti a classi diverse.
Un iperpiano è il confine decisionale che separa punti dati appartenenti a classi differenti. Può essere rappresentato da una linea in uno spazio bidimensionale o da un piano in uno spazio a n dimensioni.
I vettori di supporto sono i punti dati più vicini all’iperpiano separatore. Definiscono i limiti del margine e determinano la posizione dell’iperpiano.
Le SVM utilizzano funzioni kernel per trasformare i dati in uno spazio a dimensionalità superiore, dove le classi risultano più facilmente separabili. Questo approccio è comunemente noto come kernel trick.
La regressione a vettori di supporto (SVR) adatta le SVM ai problemi di regressione identificando un iperpiano che si adatta al meglio ai dati entro un margine di tolleranza definito, penalizzando gli errori che ricadono al di fuori di tale margine.
Le SVM vengono utilizzate nell’Elaborazione del linguaggio naturale per il rilevamento dello spam e la Sentiment Analysis, in Computer Vision per la classificazione delle immagini e il riconoscimento facciale, nell’elaborazione dei segnali per il riconoscimento vocale, nel rilevamento delle anomalie e in bioinformatica per la classificazione delle proteine.
Le SVM gestiscono efficacemente dati ad alta dimensionalità e non strutturati, risultano meno soggette all’overfitting grazie alla regolarizzazione, forniscono confini decisionali chiari e interpretabili per i classificatori lineari e offrono un’elevata accuratezza con set di dati di dimensioni ridotte.
Le SVM sono meno adatte a set di dati di grandi dimensioni a causa degli elevati costi computazionali e dei requisiti di memoria, a dati particolarmente rumorosi in cui la massimizzazione del margine può risultare problematica, oppure a situazioni in cui l’interpretabilità dei modelli non lineari è un requisito fondamentale.
Una SVM a margine rigido richiede una separazione perfetta senza errori di classificazione per dati linearmente separabili. Una SVM a margine morbido consente invece alcune classificazioni errate per massimizzare il margine quando i dati non sono perfettamente separabili.
È possibile addestrare modelli SVM utilizzando le funzioni fitcsvm e fitrsvm oppure in modo interattivo tramite le applicazioni Classification Learner e Regression Learner, che consentono di eseguire l’intero workflow senza scrivere codice.
Risorse
Amplia le tue conoscenze consultando la documentazione, gli esempi, guardando video e molto altro ancora.