Le Support Vector Machines sono un potente algoritmo di apprendimento automatico utilizzato per la Classificazione e la Regressione. Lβidea di base delle SVM Γ¨ quella di trovare il miglior iperpiano che separa due classi di dati nello spazio delle caratteristiche.
Immagina di avere un insieme di dati rappresentati da punti nello spazio, dove ogni punto ha alcune caratteristiche o attributi associati ad esso. Lβobiettivo delle SVM Γ¨ quello di trovare un iperpiano (una superficie di dimensione inferiore rispetto allo spazio di origine) che separa al meglio i dati appartenenti a due classi diverse. Questo iperpiano Γ¨ scelto in modo che la distanza tra lβiperpiano e i punti piΓΉ vicini (chiamati vettori di supporto) sia massimizzata.
Ma come funziona questo processo? Immagina di avere un insieme di dati bidimensionali e due classi di punti che devono essere separate. Lβiperpiano che meglio separa queste due classi sarΓ quello che massimizza la distanza tra i punti piΓΉ vicini di ciascuna classe.
Se i dati non sono linearmente separabili nello spazio originale, ovvero non possono essere separati da un singolo iperpiano, le SVM possono utilizzare un trucco matematico chiamato βkernel trickβ. Questo trucco consente alle SVM di trasformare i dati in uno spazio di dimensioni superiori in cui possono essere separati linearmente da un iperpiano. I kernel piΓΉ comuni utilizzati nelle SVM includono il kernel lineare, il kernel polinomiale e il kernel gaussiano (o RBF).
Una volta trovato lβiperpiano ottimale, le SVM possono essere utilizzate per fare previsioni su nuovi dati. Basta calcolare su quale lato dellβiperpiano cada il nuovo punto e assegnargli la classe corrispondente. Se il punto cade a sinistra dellβiperpiano, verrΓ classificato come una classe, se cade a destra verrΓ classificato come lβaltra classe.
Le SVM sono molto potenti perchΓ©, una volta addestrate, sono in grado di generalizzare bene su nuovi dati e sono robuste contro lβoverfitting, specialmente in spazi di alta dimensionalitΓ . Inoltre, grazie al kernel trick, possono gestire con successo dati non linearmente separabili.
Tuttavia, le SVM possono essere computazionalmente costose, specialmente quando si lavora con grandi quantitΓ di dati, e possono richiedere unβaccurata selezione dei parametri come il parametro di regolarizzazione C e la scelta del kernel. Inoltre, sono piΓΉ adatti per dataset di dimensioni medio-grandi e possono non performare bene con dataset molto grandi o con molte caratteristiche.