Macchine a vettori di supporto

Da Wikipedia, l'enciclopedia libera.
Esempio di separazione lineare, usando le SVM.

Le macchine a vettori di supporto (SVM, dall'inglese Support Vector Machines), o macchine kernel, sono delle metodologie di apprendimento supervisionato per la regressione e la classificazione di pattern, sviluppati negli anni '90 da Vladimir Vapnik ed il suo team presso i laboratori Bell della AT&T.

Appartengono alla famiglia dei classificatori lineari generalizzati e sono noti anche come classificatori a massimo margine, poiché allo stesso tempo minimizzano l'errore empirico di classificazione e massimizzano il margine geometrico. Possono essere considerate un caso speciale di regolarizzazione di Tichonov.

Motivazioni[modifica | modifica wikitesto]

Le macchine a vettori di supporto possono essere pensate come una tecnica alternativa per l'apprendimento di classificatori polinomiali, contrapposta alle tecniche classiche di addestramento delle reti neurali.

Le reti neurali ad un solo strato hanno un algoritmo di apprendimento efficiente, ma sono utili soltanto nel caso di dati linearmente separabili. Viceversa, le reti neurali multistrato possono rappresentare funzioni non lineari, ma sono difficili da addestrare a causa dell'alto numero di dimensioni dello spazio dei pesi e poiché le tecniche più diffuse, come la back-propagation, permettono di ottenere i pesi della rete risolvendo un problema di ottimizzazione non convesso e non vincolato che, di conseguenza, presenta un numero indeterminato di minimi locali.

La tecnica di addestramento SVM risolve entrambi i problemi: presenta un algoritmo efficiente ed è in grado di rappresentare funzioni non lineari complesse. I parametri caratteristici della rete sono ottenuti mediante la soluzione di un problema di programmazione quadratica convesso con vincoli di uguaglianza o di tipo box (in cui il valore del parametro deve essere mantenuto all'interno di un intervallo), che prevede un unico minimo globale.

Storia[modifica | modifica wikitesto]

SVM lineare[modifica | modifica wikitesto]

Classificazione non lineare[modifica | modifica wikitesto]

Calcolo del classificatore SVM[modifica | modifica wikitesto]

Minimizzazione del rischio empirico[modifica | modifica wikitesto]

Estensioni[modifica | modifica wikitesto]

  • Support vector clustering (SVC)
  • SVM Multiclasse
  • SVM trasduttiva
  • SVM strutturata
  • Regressione

Utilizzi[modifica | modifica wikitesto]

Alcune applicazioni per cui le SVM sono state utilizzate con successo sono:

Implementazioni[modifica | modifica wikitesto]

Le SVM sono disponibili in:

Bibliografia[modifica | modifica wikitesto]

  • Stuart Russell e Peter Norvig, Intelligenza artificiale: un approccio moderno, Prentice Hall, 2003, ISBN 88-7192-229-8

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Controllo di autorità GND: (DE4505517-8
Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica