Glossario

Macchina vettoriale di supporto (SVM)

Scoprite la potenza delle macchine a vettori di supporto (SVM) per la classificazione, la regressione e il rilevamento di anomalie, con applicazioni e approfondimenti reali.

La Support Vector Machine (SVM) è un algoritmo di apprendimento supervisionato potente e versatile, utilizzato per compiti di classificazione e regressione. Nel suo nucleo, una SVM trova un iperpiano ottimale o un confine decisionale che separa al meglio i punti di dati in classi diverse. Ciò che rende SVM particolarmente efficace è il suo obiettivo di massimizzare il margine, ovvero la distanza tra l'iperpiano di separazione e i punti dati più vicini di qualsiasi classe. Questo principio, illustrato nel documento fondamentale di Cortes e Vapnik, contribuisce a migliorare la capacità di generalizzazione del modello, rendendolo meno incline all'overfitting.

Come funzionano gli Svm

L'algoritmo funziona tracciando ogni dato come un punto in uno spazio n-dimensionale (dove n è il numero di caratteristiche). La classificazione viene quindi eseguita trovando l'iperpiano che crea la migliore separazione tra le classi.

  • Iperpiano: È il confine decisionale. In un set di dati con due caratteristiche, è una linea; con tre, è un piano. Con più caratteristiche, diventa un iperpiano.
  • Vettori di supporto: Sono i punti dati che si trovano più vicini all'iperpiano. Sono fondamentali perché definiscono il margine e la loro rimozione altererebbe la posizione dell'iperpiano. Un'eccellente visualizzazione dei vettori di supporto si trova negli appunti della lezione CS229 di Stanford.
  • Margine: Il margine è lo scarto tra i vettori di supporto e l'iperpiano. L'obiettivo di SVM è trovare l'iperpiano che massimizza questo margine, creando la separazione più robusta possibile.
  • Il trucco del kernel: Per i dati che non sono linearmente separabili, le SVM utilizzano una tecnica chiamata trucco del kernel. Questo potente metodo consiste nel trasformare i dati in uno spazio di dimensioni superiori in cui è possibile trovare un separatore lineare senza calcolare esplicitamente le coordinate dei dati in questo nuovo spazio. I kernel più diffusi, come la Radial Basis Function (RBF), possono gestire relazioni non lineari molto complesse. Per maggiori dettagli, è possibile consultare la guida ai kernel SVM.

Applicazioni del mondo reale

Le SVM sono efficaci in molti ambiti, soprattutto per i problemi con dati ad alta dimensionalità.

  • Bioinformatica: In genomica e proteomica, le SVM sono utilizzate per classificare le proteine e analizzare i dati di espressione genica. Ad esempio, possono aiutare a identificare i sottotipi di cancro sulla base di dati microarray, un compito che richiede migliaia di caratteristiche. Questo le rende uno strumento fondamentale dell'IA per la sanità.
  • Classificazione delle immagini: Prima del dominio delle reti neurali profonde, le SVM erano un modello di classificazione delle immagini dalle prestazioni eccellenti. Sono state utilizzate con successo per compiti come il riconoscimento di cifre scritte a mano su set di dati come MNIST e il riconoscimento di oggetti su Caltech-101.
  • Classificazione del testo: Nell'elaborazione del linguaggio naturale (NLP), le SVM sono efficaci per compiti come il rilevamento dello spam e l'analisi del sentiment. Sono in grado di gestire in modo efficiente gli spazi di caratteristiche ad alta dimensione creati dai metodi di vettorizzazione del testo.

Svm rispetto ad altri algoritmi

Rispetto ad algoritmi più semplici come la Regressione Logistica, le SVM mirano a massimizzare il margine piuttosto che a trovare un confine di separazione, il che può portare a una migliore generalizzazione. A differenza dei metodi ad albero, come gli alberi di decisione o le foreste casuali, le SVM costruiscono un singolo iperpiano ottimale (eventualmente in uno spazio ad alta densità). Mentre i moderni modelli di deep learning come Ultralytics YOLO eccellono nell'estrazione automatica di caratteristiche dai dati grezzi (come i pixel nella computer vision), le SVM spesso richiedono un'attenta progettazione delle caratteristiche, ma possono ottenere prestazioni eccezionali su insiemi di dati più piccoli o su tipi specifici di dati strutturati in cui le caratteristiche sono ben definite. È possibile trovare molti di questi set di dati nell'UCI Machine Learning Repository.

Le implementazioni più diffuse includono LibSVM e il modulo SVM di scikit-learn. Sebbene SVM non sia tipicamente il cuore dei moderni framework CV come PyTorch o TensorFlow, può essere integrato in flussi di lavoro più ampi. L'addestramento e la gestione di questi modelli, insieme ad altri, possono essere semplificati utilizzando piattaforme come Ultralytics HUB, che semplifica il ciclo di vita di MLOps, dall'etichettatura dei dati alla regolazione degli iperparametri e alla distribuzione finale del modello.

Unitevi alla comunità di Ultralytics

Entrate a far parte del futuro dell'IA. Connettetevi, collaborate e crescete con gli innovatori globali.

Iscriviti ora
Link copiato negli appunti