SVM

Figura 5.3: Iperpiano di separazione tra due classi ottenuto attraverso SVM. I punti sul margine (tratteggiato) sono i Support Vectors.
Image fig_svm

Sia LDA che la regressione logistica conducono ad una frontiera decisionale lineare. Tuttavia i criteri utilizzati per determinare tale frontiera sono profondamente differenti.

SVM (CV95), come LDA e la regressione logistica, permette di ottenere un classificatore lineare basato su una funzione discriminante della forma mostrata in equazione (5.6). Tuttavia l'approccio seguito è differente. L'obiettivo di SVM consiste infatti nel determinare, tra tutti gli iperpiani che separano correttamente le due classi, quello che massimizza il margine di separazione tra gli esempi di addestramento e la frontiera decisionale (decision boundary). L'idea alla base di questo approccio è che un margine più ampio conduca generalmente ad una migliore capacità di generalizzazione del classificatore e ad una maggiore robustezza rispetto alle variazioni presenti nei dati.

Siano pertanto definite come classi di classificazione quelle tipiche di un problema binario nella forma $y_i \in \{+1,-1\}$ e si faccia riferimento all'iperpiano di formula (5.5). Supponiamo che esistano dei parametri $(\mathbf{w}_0,b_0)$ ottimi tali che soddisfino il vincolo

\begin{displaymath}
\begin{array}{ll}
\mathbf{x}_i \cdot \mathbf{w}_0 + b_0 ...
...bf{w}_0 + b_0 \leq -1 & \text{per } y_i = -1 \\
\end{array}
\end{displaymath} (5.42)

ovvero, in forma più compatta:
\begin{displaymath}
y_i ( \mathbf{x}_i \cdot \mathbf{w}_0 + b_0 ) - 1 \geq 0
\end{displaymath} (5.43)

per ogni campione $(y_i, \mathbf{x}_i)$ fornito durante la fase di addestramento.

Si può supporre che esistano, per ognuna delle categorie, uno o più vettori $\mathbf{x}_i$ per i quali il vincolo (5.43) sia soddisfatto con uguaglianza. Tali elementi prendono il nome di Support Vectors. Essi sono i campioni che determinano il margine di separazione e, come verrà mostrato in seguito attraverso le condizioni KKT, sono gli unici campioni associati a moltiplicatori di Lagrange non nulli.

La distanza $\rho$ punto-piano (cfr. eq.(1.88)) vale

\begin{displaymath}
\rho = \frac{ \Vert \mathbf{w} \cdot \mathbf{x} + b \Vert } { \Vert \mathbf{w} \Vert }
\end{displaymath} (5.44)

Dati due punti di classe opposta che soddisfino l'uguaglianza (5.43), il margine può essere ricavato dall'equazione (5.44), e vale
\begin{displaymath}
\rho = \frac{2}{\Vert \mathbf{w}_0 \Vert}
\end{displaymath} (5.45)

Per massimizzare il margine $\rho$ dell'equazione (5.45) bisogna minimizzare la sua inversa, ovvero

\begin{displaymath}
\min_{\mathbf{w},b} \frac{1}{2} \Vert \mathbf{w} \Vert^2
\end{displaymath} (5.46)

sotto la serie di vincoli espressi dalla diseguaglianza (5.43). Questo è quello che viene definito come problema di ottimizzazione primale in forma standard dell'SVM.

Questa classe di problemi (minimizzazione con vincoli come disuguaglianze o primal optimization problem) si risolvono utilizzando l'approccio di Karush-Kuhn-Tucker che è il metodo dei moltiplicatori di Lagrange generalizzato a disuguaglianze. Attraverso le condizioni KKT si ottiene la funzione lagrangiana:

\begin{displaymath}
\mathcal{L}(\mathbf{w}, b, \boldsymbol\alpha) = \frac{1}{...
... \left( y_i ( \mathbf{x}_i \cdot \mathbf{w} + b ) - 1 \right)
\end{displaymath} (5.47)

da minimizzare in $\mathbf{w}$ e $b$ e massimizzare in $\boldsymbol\alpha$. I pesi $\alpha_i \geq 0$ sono i moltiplicatori di Lagrange. Dall'annullamento delle derivate parziali si ottiene
\begin{displaymath}
\frac{\partial \mathcal{L} }{\partial b} = 0 \rightarrow \sum y_i \alpha_i = 0
\end{displaymath} (5.48)


\begin{displaymath}
\frac{\partial \mathcal{L}}{\partial \mathbf{w}} = 0 \rightarrow \mathbf{w} = \sum \alpha_i y_i \mathbf{x}_i
\end{displaymath} (5.49)

Sostituendo tali risultati (le variabili primali) all'interno della lagrangiana (5.47) questa diventa funzione dei soli moltiplicatori, i dual, da cui la forma duale di Wolfe:
\begin{displaymath}
\Psi (\boldsymbol\alpha) = \sum \alpha_i -\frac{1}{2} \su...
...m_j \alpha_i \alpha_j y_i y_j \mathbf{x}_i \cdot \mathbf{x}_j
\end{displaymath} (5.50)

sotto i vincoli $\alpha_i \ge 0$ e $\sum \alpha_i y_i = 0$. Il massimo della funzione $\Psi$ calcolato su $\boldsymbol\alpha$ sono gli $\alpha_i$ associati a ogni vettore di addestramento $\mathbf{x}_i$. Tale massimo permette di trovare la soluzione del problema originale.

Su questa relazione sono valide le condizioni KKT tra le quali è di notevole importanza il vincolo, detto di Complementary slackness,

\begin{displaymath}
\alpha_i \left( y_i ( \mathbf{x}_i \cdot \mathbf{w} + b ) - 1 \right) = 0
\end{displaymath} (5.51)

La condizione di complementary slackness stabilisce che, all'ottimo, per ogni campione almeno uno tra il moltiplicatore $\alpha_i$ e la violazione del vincolo deve essere nullo. In particolare
\begin{displaymath}
\alpha_i > 0 \quad\Longrightarrow\quad y_i(\mathbf{x}_i\cdot\mathbf{w}+b)=1
\end{displaymath} (5.52)

I campioni associati a moltiplicatori non nulli giacciono quindi esattamente sul margine e prendono il nome di Support Vectors. Tutti gli altri campioni possiedono $\alpha_i=0$ e non contribuiscono direttamente alla soluzione.

Risolvendo il problema quadratico (5.50), sotto il vincolo (5.48) e $\alpha_i \geq 0$, i pesi che presentano $\alpha_i\neq 0$ saranno i Support Vectors. Tali pesi, inseriti nelle equazioni (5.49) e (5.51), porteranno a ricavare l'iperpiano di massimo margine.

Il metodo più usato per risolvere questo problema QP è il Sequential Minimal Optimization (SMO). Per una trattazione approfondita delle tematiche legate a SVM si può fare riferimento a (SS02).



Subsections
Paolo medici
2026-10-06