Una SVM, abbreviazione di support vector machine, è un classificatore che sceglie un confine tra classi con il margine più grande possibile. Se stai cercando di capire cos’è una SVM, questa è l’idea centrale: non basta separare i gruppi, bisogna lasciare tra loro il divario affidabile più ampio possibile.

I punti più vicini a quel confine si chiamano vettori di supporto. Sono i più importanti perché determinano dove può trovarsi il separatore.

Perché Il Margine È Importante

Immagina due gruppi di punti, uno della classe A e uno della classe B. Molte rette potrebbero separarli. Una SVM preferisce la retta che lascia il più grande margine di sicurezza su entrambi i lati.

Un margine più ampio spesso rende il classificatore meno sensibile a piccoli cambiamenti nei dati di addestramento. Non è una garanzia di prestazioni migliori nel mondo reale, ma è l’intuizione principale dietro le SVM.

Che Aspetto Ha Il Confine Decisionale Di Una SVM

In una SVM lineare, il confine decisionale è un iperpiano:

wx+b=0w \cdot x + b = 0

Il classificatore predice una classe quando wx+b>0w \cdot x + b > 0 e l’altra quando wx+b<0w \cdot x + b < 0.

Nella scalatura standard a margine massimo per dati separabili, la SVM sceglie ww e bb in modo che

yi(wxi+b)1y_i(w \cdot x_i + b) \ge 1

per ogni punto di addestramento, rendendo allo stesso tempo il margine il più grande possibile. In questa scalatura, l’ampiezza totale del margine è

2w.\frac{2}{\|w\|}.

L’idea pratica importante è più semplice della formula: in questa configurazione normalizzata, un w\|w\| più piccolo significa un margine più ampio.

Esempio Svolto: Una SVM Monodimensionale

Un esempio in una sola dimensione rende facile vedere l’idea del margine.

Supponiamo che la classe negativa abbia punti in x=0x=0 e x=1x=1, e che la classe positiva abbia punti in x=4x=4 e x=5x=5.

Qualsiasi soglia tra 11 e 44 separa le classi. Per esempio, x=2x=2 funziona e anche x=3x=3 funziona, ma queste scelte non lasciano lo stesso margine su ciascun lato.

In questa configurazione separabile monodimensionale, la SVM sceglie il punto medio tra i punti più vicini di classi opposte, quindi la soglia decisionale è

x=2.5.x = 2.5.

Il punto negativo più vicino è x=1x=1, e il punto positivo più vicino è x=4x=4. Questi sono i vettori di supporto. Ognuno si trova a 1.51.5 unità dal confine, quindi il margine è bilanciato nel modo più ampio possibile.

Qui puoi scrivere il classificatore come "predici positivo quando x>2.5x > 2.5 e negativo quando x<2.5x < 2.5". Questo caso semplice cattura l’idea reale: il confine è determinato dai casi vicini più difficili, non dai punti lontani che sono già facili da classificare.

SVM Hard-Margin Vs Soft-Margin

Una SVM hard-margin funziona solo quando i dati di addestramento sono perfettamente separabili in modo lineare. Se anche un solo punto viola questa condizione, l’impostazione hard-margin non si adatta ai dati.

Per questo molte SVM pratiche usano un margine morbido. Una SVM soft-margin continua a preferire un margine ampio, ma permette ad alcuni punti di cadere dentro il margine o perfino dal lato sbagliato del confine, con una penalizzazione.

Il parametro CC controlla questo compromesso. Un valore più grande di CC penalizza più fortemente le violazioni. Un valore più piccolo di CC consente maggiore flessibilità. Nessuna delle due scelte è automaticamente migliore: dipende dai dati e va verificata sulle prestazioni di validazione.

Quando Sono Utili Le SVM Con Kernel

A volte un confine lineare non basta nello spazio originale delle caratteristiche. Una SVM con kernel gestisce questo problema confrontando i punti tramite una funzione kernel, che può rendere possibile un confine curvo senza scrivere esplicitamente un enorme vettore di caratteristiche trasformate.

La condizione chiave è che questa flessibilità aggiuntiva aiuta solo se il pattern dei dati ne ha davvero bisogno. I kernel possono migliorare un modello, ma possono anche rendere la messa a punto più difficile, quindi vanno validati invece di essere scelti per default.

Errori Comuni Con Le SVM

Pensare Che Ogni Punto Conti Allo Stesso Modo

In una SVM, i punti più vicini contano di più. I punti lontani dal confine spesso hanno poco effetto sul separatore finale.

Dimenticare La Condizione Alla Base Dell’Hard Margin

La perfetta separabilità lineare è una condizione reale, non un’ipotesi predefinita. Se le classi si sovrappongono, serve un margine morbido o un modello diverso.

Ignorare La Scalatura Delle Caratteristiche

Le SVM dipendono da distanze e prodotti scalari. Se una caratteristica è misurata su una scala molto più grande di un’altra, può dominare il confine a meno che tu non ridimensioni prima gli input.

Supporre Che Un Kernel Sia Automaticamente Migliore

Un confine più flessibile può adattarsi meglio ai dati di addestramento, ma questo non significa automaticamente che generalizzerà meglio.

Dove Si Usano Le SVM

Le SVM si usano per problemi di classificazione in cui il confine tra classi può essere piuttosto netto e in cui il ragionamento basato sul margine è utile. Sono particolarmente comuni in problemi tabellari di dimensioni piccole o medie e nella classificazione del testo, dove sono frequenti spazi delle caratteristiche ad alta dimensionalità.

Si usano anche per la regressione in un metodo correlato chiamato support vector regression, ma questa è un’impostazione diversa rispetto al quadro di classificazione binaria spiegato qui.

Prova Un Problema SVM Simile

Prendi i punti monodimensionali dell’esempio e aggiungi un nuovo punto negativo in x=2.2x=2.2. Ora il margine ampio e pulito è scomparso. Chiediti cosa cambia se insisti su un hard margin e cosa cambia se permetti un soft margin. Questo confronto è spesso il modo più rapido per capire davvero le SVM.

Hai bisogno di aiuto con un problema?

Carica la tua domanda e ottieni una soluzione verificata, passo dopo passo, in pochi secondi.

Apri GPAI Solver →