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.
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.
Le SVM sono efficaci in molti ambiti, soprattutto per i problemi con dati ad alta dimensionalità.
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.