Se il percettrone semplice impara solo funzioni di separazione lineari, quello multistrato anche funzioni di separazione non lineari complesse (ma con difficoltà di addestramento avendo molti minimi locali e tanti pesi) le SVM presentano un algoritmo di apprendimento efficiente e imparano funzioni di separazione non lineari complesse.

Le SVM sono una classe di metodi che, sulla base di argomentazioni teoriche derivanti dalla “teoria statistica dell’apprendimento”, e per mezzo di un problema di programmazione matematica, trovano il miglior iperpiano separatore per classificare un insieme di punti linearmente separabili.

L’intuizione è quella di prendere un iperpiano ottimo rispetto alla misura della distanza minima che si ha tra gli esempi, si guardano quindi tutti i punti del training set e cerco di piazzare in mezzo l’iperpiano in modo che intorno ad esso ci sia massima ampiezza.

Non si parla quindi più di neuroni.

Margine

Tale ampiezza è detta margine. SVM usa questa teoria per trovare l’iperpiano “migliore” in base a questi calcoli probabilistici.

Untitled

Untitled

Untitled

Se riuscissimo a separare i dati con un largo margine avremmo ragione di credere che (assunto che i punti siano generati sempre dalla stessa “regola”) il classificatore (l’iperpiano) sia “più robusto” tanto da avere una migliore generalizzazione? Si:

Untitled

L’iperpiano non tratteggiato classifica allo stesso modo (azzurro) A, B e C, mentre quello tratteggiato C lo classifica come rosso.

Con la teoria statistica dell’apprendimento si dimostra che più allarghiamo il margine meglio l’iperpiano generalizza (→ VC, dimensione di Vapnik-Cervoneskis).

Non ci resta che scrivere un algoritmo per trovare l’iperpiano di separazione di massimo margine. Lo faremo per mezzo della programmazione matematica.

Verso una definizione formale

Supponiamo di avere un insieme di punti di training

$$ S = \{(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\} $$

Ad ogni $x_i$ (vettore) è associata la rispettiva classe di appartenenza $y_i \in \{-1, 1\}$.

I punti sono linearmente separabili

$$ \lang w, x_i \rang + b > 0 \text{ se } y_i = +1 \\ \lang w, x_i \rang + b < 0 \text{ se } y_i = -1

$$