Il sito che ti spiega l'AI.
News, strumenti e guide in italiano.
Machine learning

Support Vector Machine (SVM): cosa sono, come funzionano e a cosa servono

Cosa sono le Support Vector Machine (SVM), come funzionano tra iperpiano, margine e kernel trick, quali sono i vantaggi e quando conviene usarle.

FA
Franco Artigiano IA Franco Artigiano
Agosto 27, 2026
Lettura: 13 min
Illustrazione astratta con forme geometriche blu che richiama i confini di separazione delle Support Vector Machine

Ogni volta che un filtro antispam sposta un messaggio nella cartella giusta, o che un software riconosce una cifra scritta a mano su un modulo, dietro le quinte lavora un modello che ha imparato a tracciare un confine tra categorie diverse. Le Support Vector Machine, che spesso troverai abbreviate in SVM, sono uno degli algoritmi più eleganti mai ideati per disegnare quel confine nel modo migliore possibile.

Per molti anni sono state lo strumento di riferimento del machine learning, prima che le reti neurali profonde prendessero la scena.

Eppure non sono affatto sparite. In tanti problemi reali, soprattutto quando i dati a disposizione sono pochi, le SVM restano competitive, rapide da addestrare e sorprendentemente solide. In questa guida capirai cosa sono, come funzionano davvero tra iperpiani, margini e il celebre kernel trick, quali sono i loro pregi e i loro limiti, e in quali situazioni conviene ancora sceglierle oggi. Ti parlo con parole semplici, ma senza rinunciare alla sostanza tecnica.

Cosa sono le Support Vector Machine

Una Support Vector Machine è un algoritmo di apprendimento automatico supervisionato. Significa che impara osservando esempi già etichettati, per esempio migliaia di email marcate come spam oppure come messaggi legittimi, e da quegli esempi ricava una regola per classificare i dati che incontrerà in futuro. Rientra quindi nella famiglia dell’apprendimento supervisionato, insieme ad algoritmi come la regressione logistica o gli alberi di decisione.

L’idea di fondo è facile da immaginare. Pensa a due gruppi di punti disegnati su un foglio, i pallini rossi da una parte e quelli blu dall’altra. Classificarli vuol dire tracciare una linea che separi i due gruppi. Le SVM fanno esattamente questo, ma con un’ambizione in più: non tracciano una linea qualsiasi, cercano la migliore linea possibile.

Questa ricerca del confine ottimale è ciò che distingue le SVM da molti altri metodi.

Classificazione e regressione, due facce dello stesso metodo

L’impiego più comune delle SVM è la classificazione, cioè assegnare ogni esempio a una categoria: spam o non spam, immagine di un gatto o di un cane, cliente a rischio o cliente affidabile. In questi casi l’algoritmo impara dove tracciare il confine tra le classi.

Le stesse idee, però, si applicano anche alla regressione, quando l’obiettivo non è scegliere una categoria ma prevedere un valore numerico continuo, come un prezzo o una temperatura. Questa variante si chiama Support Vector Regression e usa lo stesso impianto geometrico con un obiettivo diverso.

Le origini, dalla teoria dell’apprendimento statistico

Le basi teoriche delle SVM nascono dal lavoro del matematico Vladimir Vapnik e dei suoi colleghi, a partire dagli anni Sessanta e Settanta, nel contesto della teoria dell’apprendimento statistico. La formulazione moderna, quella che ancora oggi studiamo e usiamo, arriva però negli anni Novanta.

Nel 1995 Corinna Cortes e Vladimir Vapnik pubblicano il lavoro che introduce le SVM a margine morbido, la versione capace di gestire dati non perfettamente separabili. È il momento in cui l’algoritmo diventa davvero pratico e comincia a diffondersi su larga scala.

Da lì in avanti, per oltre un decennio, le SVM dominano molte competizioni e applicazioni di classificazione, soprattutto nell’analisi del testo e delle immagini.

Come funziona una SVM, l’iperpiano e il margine

Per capire il cuore dell’algoritmo dobbiamo introdurre tre parole chiave: iperpiano, margine e vettori di supporto. Sembrano termini intimidatori, ma le idee che rappresentano sono intuitive.

L’iperpiano di separazione

In un piano a due dimensioni il confine tra due classi è una semplice linea. Se aggiungi una terza dimensione, quel confine diventa una superficie piatta, un piano. Quando le dimensioni sono ancora di più, e nei problemi reali possono essere centinaia o migliaia, quel confine prende il nome di iperpiano.

Un iperpiano non è altro che la generalizzazione della linea retta a spazi con molte dimensioni. Non riusciamo a visualizzarlo nella mente, ma la matematica lo tratta esattamente come tratteremmo una linea disegnata su un foglio.

Il compito della SVM è trovare l’iperpiano che separa le classi nel modo più netto.

Il margine massimo e i vettori di supporto

Qui arriva l’intuizione geniale. Tra due gruppi di punti ben distinti puoi tracciare infinite linee di separazione. Quale scegliere? La SVM sceglie quella che lascia il maggiore spazio possibile ai lati, cioè quella che massimizza il margine.

Il margine è la distanza tra l’iperpiano e i punti più vicini di ciascuna classe. Immaginalo come una corsia, una fascia vuota il più larga possibile attorno al confine. Più la corsia è ampia, più il modello è robusto e più tende a comportarsi bene su dati mai visti.

I punti che si trovano proprio sul bordo di questa corsia, i più vicini all’iperpiano, sono i vettori di supporto. Da loro deriva il nome dell’algoritmo.

C’è un dettaglio importante da cogliere. Solo questi pochi punti critici determinano la posizione del confine. Puoi rimuovere o spostare tutti gli altri punti, quelli lontani dalla corsia, e l’iperpiano non cambia di una virgola. Questa proprietà rende le SVM efficienti in memoria, perché il modello finale dipende soltanto da un piccolo sottoinsieme dei dati, non da tutti gli esempi.

Margine rigido e margine morbido

Nel mondo ideale i due gruppi sono perfettamente separabili e la corsia non contiene nessun punto. Si parla allora di margine rigido. Nella realtà, però, i dati sono rumorosi, si sovrappongono, contengono errori ed eccezioni.

Per questo le SVM moderne usano il margine morbido, che tollera qualche punto dentro la corsia o addirittura dal lato sbagliato del confine, pur di ottenere una separazione complessivamente migliore.

Questo equilibrio è governato da un parametro chiamato C. Un valore di C alto dice al modello di punire severamente ogni errore di classificazione, con il rischio di adattarsi troppo ai dettagli dei dati di addestramento e di cadere nell’overfitting. Un valore basso ammette più errori sugli esempi noti, ma spesso produce un modello che generalizza meglio sui casi futuri.

Trovare il giusto valore di C è una delle decisioni più delicate quando si allena una SVM.

Il kernel trick, quando i dati non sono separabili con una retta

Fin qui abbiamo immaginato dati che si possono dividere con una linea o un piano. Ma cosa succede quando i due gruppi sono intrecciati, per esempio quando i punti di una classe formano un cerchio circondato dai punti dell’altra classe? Nessuna linea retta può separarli.

È qui che entra in gioco l’idea più potente delle SVM, il kernel trick.

Il concetto è affascinante. Se in due dimensioni i dati non sono separabili, forse lo diventano proiettandoli in uno spazio con più dimensioni. Immagina di sollevare i punti centrali del cerchio verso l’alto, in una terza dimensione: a quel punto un piano orizzontale riesce a separare con facilità i due gruppi che prima sembravano inseparabili.

Il kernel trick permette di fare esattamente questo, ma con un’astuzia matematica che evita di calcolare davvero le nuove coordinate. Una funzione kernel misura la somiglianza tra due punti come se fossero già stati proiettati nello spazio a più dimensioni, senza pagare il costo di quella proiezione. È un risparmio di calcolo enorme, e rende praticabili trasformazioni che altrimenti sarebbero troppo costose da gestire.

I kernel più usati

Nella pratica ti troverai a scegliere tra alcune funzioni kernel ben collaudate, ognuna adatta a situazioni diverse:

  • Il kernel lineare, il più semplice, adatto quando i dati sono già quasi separabili con una retta e quando le caratteristiche sono moltissime, come nella classificazione dei testi.
  • Il kernel polinomiale, che considera combinazioni delle caratteristiche e riesce a catturare relazioni curve.
  • Il kernel RBF, detto anche gaussiano, il più diffuso, capace di modellare confini molto flessibili e non lineari.
  • Il kernel sigmoide, ispirato alle funzioni usate nelle reti neurali, impiegato in casi più specifici.

Nella maggior parte dei progetti il kernel RBF è un ottimo punto di partenza, perché si adatta bene a una grande varietà di problemi senza troppe complicazioni.

Un esempio intuitivo, come una SVM impara a riconoscere lo spam

Immagina di voler costruire un filtro che distingua le email indesiderate da quelle legittime. Ogni email viene trasformata in un elenco di numeri, per esempio la frequenza di certe parole, la presenza di link, l’uso eccessivo di maiuscole. Ognuno di questi numeri diventa una dimensione, e ogni email diventa un punto in uno spazio con tante dimensioni quante sono le caratteristiche.

A questo punto la SVM osserva le email già classificate in passato e cerca l’iperpiano che separa lo spazio in due regioni, quella dei messaggi buoni e quella dello spam, lasciando il margine più ampio possibile tra le due.

Quando arriva un’email nuova, l’algoritmo la posiziona nello spazio e guarda da che parte del confine si trova. Semplice, veloce, efficace.

Il bello è che se alcune email ambigue si trovano proprio a cavallo del confine, sono loro, i vettori di supporto, a definire la regola. Le migliaia di email chiaramente buone o chiaramente spam non spostano nulla. È questa concentrazione sui casi difficili a rendere le SVM così precise.

Iperparametri e messa a punto

Una SVM non si limita a imparare dai dati, va anche configurata con alcune scelte fatte prima dell’addestramento, gli iperparametri. I due più importanti sono C e gamma.

Di C abbiamo già parlato: regola quanto il modello è disposto a tollerare errori pur di mantenere un margine ampio.

Il parametro gamma riguarda invece il kernel RBF e stabilisce quanto lontano arriva l’influenza di un singolo punto. Un gamma alto rende il confine molto sensibile ai punti vicini, con curve strette che rischiano di inseguire il rumore anziché il segnale. Un gamma basso produce confini più morbidi e generali.

La combinazione di C e gamma determina in larga misura il comportamento del modello. Per trovare i valori giusti si usa di solito una ricerca sistematica accompagnata dalla convalida incrociata, una tecnica che valuta il modello su porzioni diverse dei dati per stimarne le prestazioni reali e non solo la memoria degli esempi visti.

Un passaggio che non va mai dimenticato è la normalizzazione delle caratteristiche. Le SVM sono sensibili alla scala dei dati, e portare tutte le variabili su intervalli confrontabili spesso fa la differenza tra un modello mediocre e uno eccellente.

Vantaggi e limiti delle Support Vector Machine

Come ogni strumento, le SVM brillano in certi contesti e faticano in altri. Conoscere entrambi i lati ti aiuta a decidere quando sceglierle.

Tra i punti di forza, le SVM funzionano molto bene con dati ad alta dimensionalità, cioè con moltissime caratteristiche, una situazione in cui altri metodi vanno in difficoltà. Sono efficaci anche quando gli esempi disponibili sono relativamente pochi, e grazie alla massimizzazione del margine tendono a resistere bene all’eccessivo adattamento ai dati.

C’è poi l’eleganza matematica: il problema che risolvono ha una soluzione unica e ben definita, senza i minimi locali che possono intrappolare altri algoritmi durante l’addestramento.

I limiti, però, esistono e vanno presi sul serio. Su insiemi di dati molto grandi, con centinaia di migliaia o milioni di esempi, l’addestramento diventa lento e costoso. La scelta del kernel e la messa a punto degli iperparametri richiedono esperienza e tempo. Inoltre le SVM non forniscono in modo naturale una probabilità associata alle previsioni, e i loro risultati sono meno immediati da interpretare rispetto, per esempio, a un albero di decisione.

Infine, quando le classi si sovrappongono pesantemente e i dati sono molto rumorosi, le prestazioni possono calare.

SVM a confronto con altri algoritmi

Per collocare le SVM nel panorama del machine learning conviene confrontarle con le alternative più comuni.

Rispetto agli alberi decisionali e alle random forest, le SVM offrono spesso confini più precisi su dati numerici e ben scalati, mentre gli alberi vincono in interpretabilità e nella gestione naturale delle variabili categoriche. Se devi spiegare a un cliente perché il modello ha preso una certa decisione, un albero è più trasparente.

Rispetto alla regressione logistica, le SVM gestiscono meglio le relazioni non lineari grazie ai kernel, ma la regressione resta più semplice, veloce e facile da interpretare quando il confine è sostanzialmente lineare.

Rispetto alle reti neurali profonde il confronto dipende soprattutto dalla quantità di dati. Con pochi esempi le SVM sono spesso più affidabili e rapide. Con enormi quantità di dati, e con problemi come le immagini ad alta risoluzione o il linguaggio naturale, le reti neurali profonde hanno ormai preso il sopravvento.

Non esiste quindi un algoritmo migliore in assoluto, esiste quello più adatto al problema che hai davanti.

Dove si usano le SVM, applicazioni concrete

Nonostante l’ascesa del deep learning, le SVM continuano a lavorare in moltissimi sistemi, spesso in modo silenzioso.

Nella classificazione dei testi sono state per anni la scelta principale, dal riconoscimento dello spam alla categorizzazione automatica di documenti e articoli, fino all’analisi del sentiment nei commenti e nelle recensioni. La loro forza con i dati ad alta dimensionalità le rende naturali per questo compito, dove ogni parola può diventare una caratteristica a sé.

Nella bioinformatica le SVM aiutano a classificare geni, proteine e campioni, per esempio distinguendo tessuti sani da tessuti malati sulla base dei dati di espressione genica.

Nel riconoscimento delle immagini hanno avuto un ruolo storico nella classificazione delle cifre scritte a mano e dei volti, e ancora oggi compaiono in applicazioni dove i dati non sono enormi.

Le ritrovi inoltre nel rilevamento delle anomalie, per individuare transazioni sospette o comportamenti fuori norma, e in ambito medico come supporto alla diagnosi a partire da dati clinici strutturati.

Domande frequenti sulle Support Vector Machine

Le SVM sono ancora attuali oggi?

Sì, anche se non fanno più notizia come un tempo. Nei problemi con pochi dati, molte caratteristiche e la necessità di un modello solido e rapido da addestrare, restano una scelta eccellente. Il deep learning le ha sostituite dove i dati abbondano, ma non ovunque.

Qual è la differenza principale tra una SVM e una rete neurale?

Una SVM cerca un unico confine ottimale basato sulla geometria del margine, con una soluzione matematica ben definita. Una rete neurale impara invece rappresentazioni sempre più astratte attraverso molti strati e ha bisogno di grandi quantità di dati per esprimere il suo potenziale. In sintesi, la SVM è più semplice e prevedibile, la rete neurale più flessibile e affamata di dati.

Serve tanta matematica per usarle?

Per usarle nella pratica no. Librerie come scikit-learn ti permettono di addestrare una SVM con poche righe di codice. Capire la matematica del margine e dei kernel, però, ti aiuta a scegliere gli iperparametri giusti e a interpretare i risultati con consapevolezza.

Come iniziare a usare una SVM nella pratica

Se vuoi passare dalla teoria all’azione, la buona notizia è che oggi usare una SVM è alla portata di chiunque sappia programmare un po’. La libreria scikit-learn, in Python, mette a disposizione le Support Vector Machine con poche righe di codice, attraverso classi dedicate alla classificazione e alla regressione.

Il flusso di lavoro tipico segue pochi passi chiari. Prima raccogli e pulisci i dati, poi normalizzi le caratteristiche perché siano su scale confrontabili. Quindi scegli un kernel di partenza, di solito RBF, e cerchi i valori migliori di C e gamma con la convalida incrociata. Infine valuti il modello su dati che non ha mai visto, per capire quanto generalizza davvero.

Il consiglio più prezioso è di non trascurare la preparazione dei dati. Con le SVM una buona normalizzazione e una scelta ragionata delle caratteristiche contano spesso più di qualsiasi trucco sofisticato.

Conclusioni

Le Support Vector Machine sono un esempio perfetto di come un’idea geometrica semplice, tracciare il confine con il margine più ampio possibile, possa diventare uno strumento potente e duraturo. Hanno attraversato decenni di ricerca, hanno dominato un’epoca del machine learning e continuano a essere rilevanti dove i dati sono pochi, le dimensioni sono tante e la solidità conta più della moda del momento.

Capirle a fondo ti dà anche una chiave per comprendere meglio concetti che ritroverai ovunque nell’intelligenza artificiale, dal margine alla generalizzazione, dal kernel alla messa a punto degli iperparametri.

Se questa guida ti è stata utile, continua a esplorare il nostro blog per approfondire gli altri algoritmi e le tecniche che rendono possibile il machine learning. Il modo migliore per imparare è collegare ogni concetto agli altri, un passo alla volta.

FA

Franco Artigiano IA

Autore IA di IntelligenzaArtificiale.net, sotto la supervisione di Daniele Della Corte (MarketingSeoAgency.com).

← Torna alla home