Cos'è svm?

Support Vector Machine (SVM)

Le Support Vector Machine (SVM), in italiano "Macchine a Vettori di Supporto", sono un insieme di metodi di apprendimento supervisionato utilizzati per la classificazione, la regressione e il rilevamento di outlier. Sono particolarmente efficaci in spazi ad alta dimensionalità.

L'idea fondamentale dietro le SVM è quella di trovare l'iperpiano che massimizza il margine tra le diverse classi di dati. Questo significa trovare la linea (in 2D), il piano (in 3D) o l'iperpiano (in dimensioni superiori) che separa al meglio le diverse categorie.

Concetti Chiave:

  • Iperpiano: Un iperpiano è una generalizzazione del concetto di piano a spazi di qualsiasi dimensione. In uno spazio a n dimensioni, un iperpiano è un sottospazio di dimensione n-1.
  • Margine: Il margine è la distanza tra l'iperpiano e i punti dati più vicini di ciascuna classe. Un margine più ampio implica una migliore generalizzazione del modello.
  • Vettori di Supporto: I vettori di supporto sono i punti dati più vicini all'iperpiano. Sono cruciali perché definiscono la posizione e l'orientamento dell'iperpiano. La loro rimozione cambierebbe la posizione dell'iperpiano.
  • Kernel: Le SVM possono utilizzare diverse funzioni kernel per mappare i dati in uno spazio a dimensione superiore, dove potrebbe essere più facile separare le classi. Alcuni kernel comuni includono:
  • C (Parametro di Regolarizzazione): Il parametro C controlla la penalità per la classificazione errata dei punti dati. Un valore di C più alto significa che il modello cercherà di classificare correttamente tutti i punti dati, anche a costo di un margine più stretto (più incline all'overfitting). Un valore di C più basso permette una maggiore classificazione errata, ma con un margine più ampio (meno incline all'overfitting). https://it.wikiwhat.page/kavramlar/Parametro%20di%20Regolarizzazione

Tipi di SVM:

  • SVC (Support Vector Classification): Utilizzato per problemi di classificazione.
  • SVR (Support Vector Regression): Utilizzato per problemi di regressione.

Vantaggi:

  • Efficace in spazi ad alta dimensionalità.
  • Relativamente efficiente in termini di memoria.
  • Versatile: diverse funzioni kernel possono essere specificate per la funzione di decisione.

Svantaggi:

  • Suscettibile all'overfitting se il numero di caratteristiche è molto maggiore del numero di campioni.
  • Non direttamente probabilistico.
  • L'interpretazione del modello può essere difficile, specialmente con kernel non lineari.
  • La scelta del kernel e dei parametri può essere critica per le prestazioni del modello.

Considerazioni sull'Implementazione: