Halfspace e Perceptron
In questa pagina 4
I classificatori più semplici sono quelli lineari: separano le classi con un iperpiano. Il modello geometrico è l'halfspace; l'algoritmo storico che lo impara è il Perceptron, che è anche il «mattone» delle reti neurali (Reti neurali - neuroni e funzioni di attivazioneUn neurone calcola $\hat y=g(w_0+w^\top x)$: somma pesata degli ingressi più bias, poi una funzione di attivazione $g$ non lineare (Perceptron a soglia, sigmoide, tanh, ReLU e varianti). Senza non linearità ogni rete è equivalente a un solo modello lineare. Una rete feed-forward impila strati di neuroni: $a^{(k)}=g(W^{(k)}a^{(k-1)}+b^{(k)})$; con uno strato nascosto è già un approssimatore universale, ma più strati rappresentano funzioni complesse con molti meno neuroni e imparano feature gerarchiche (bordi, parti, oggetti). Lo strato di uscita e la loss si scelgono dal compito: lineare+MSE (regressione), sigmoide+cross-entropy binaria, softmax+cross-entropy (multiclasse). Il numero di parametri di uno strato denso è $n_{in}n_{out}+n_{out}$. Nel lab (Keras, MNIST) una rete 784-512-10 ha 407 050 parametri e supera il 98% di accuratezza.Reti neurali - neuroni e funzioni di attivazione →). La nota si appoggia sulla geometria dell'iperpiano e sul prodotto scalare (Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →, Spazi affini, rette e pianiNello spazio affine Aⁿ si distinguono punti e vettori (Q − P è il vettore da P a Q). Un sottospazio affine è L = P + W, un punto più un sottospazio vettoriale (lo spazio direttore): si descrive con equazioni parametriche X = P + t₁w₁ + … oppure cartesiane AX = B. Rette e piani di A³, passaggio tra i due tipi di equazioni, posizione reciproca: incidenti, paralleli, sghembi.Spazi affini, rette e piani →, Distanze e angoli nello spazio affineLa distanza tra due punti è la norma del vettore che li unisce. La distanza di un punto Q da un sottospazio affine L si misura dal piede della perpendicolare H, l'unico punto di L con Q − H ortogonale allo spazio direttore. Per un iperpiano a·x = b vale la formula |a·Q − b|/‖a‖. Rette sghembe: perpendicolare comune. Angoli tra rette e piani dai vettori direttori e normali.Distanze e angoli nello spazio affine →). Gli esercizi sono Esercizio - Perceptron a mano su quattro punti e Esercizio - Halfspace, distanza dal piano e problema XOR. Il Perceptron non ha una lezione dedicata nel corso di Automazione (compare solo come neurone nella lezione 23 sul deep learning): la nota è scritta dal programma ufficiale e dalle conoscenze standard (vedi _fonti).
Il modello halfspace
Si lavora con una classificazione binaria con etichette (invece di : rende più comode le formule) e ingressi .
Definizione (halfspace). La classe di funzioni con per e per (per si sceglie una convenzione, per esempio ). Il vettore dei pesi e il bias sono i parametri.
Esempio. In con e : . Il punto dà ; il punto dà .
Geometria. L'insieme è un iperpiano (una retta se , un piano se ): divide lo spazio in due semispazi (halfspace) in cui il segno è e . Il vettore è perpendicolare al piano: se stanno sul piano, . Un punto è dalla parte di se . La distanza di dal piano è (Dimostrazione: se è la proiezione ortogonale di sul piano, con la distanza con segno; allora .) Nell'esempio, il punto dista dalla retta .
La dimostrazione, passaggio per passaggio.
- è perpendicolare al piano. Due punti qualunque del piano soddisfano e ; sottraendo, . Il vettore è una direzione contenuta nel piano e il suo prodotto scalare con è nullo, quindi è ortogonale a ogni direzione del piano (Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →: equivale a ).
- La distanza è lungo la normale. Il punto del piano più vicino a è la sua proiezione ortogonale (Complemento ortogonale e proiezioni ortogonaliL'ortogonale U⊥ di un sottospazio è un sottospazio di dimensione n − dim U, e R^n = U ⊕ U⊥; ogni vettore si scompone in proiezione su U più componente ortogonale; la proiezione è il punto di U più vicino e si calcola con un sistema o con la matrice di proiezione A(AᵀA)⁻¹Aᵀ.Complemento ortogonale e proiezioni ortogonali →), e il segmento è perpendicolare al piano, cioè parallelo a : , dove è il vettore unitario nella direzione di e la distanza cercata.
- Si calcola il valore della funzione in . , perché . Quindi e la distanza è . Il segno di dice da che parte del piano sta il punto (Distanze e angoli nello spazio affineLa distanza tra due punti è la norma del vettore che li unisce. La distanza di un punto Q da un sottospazio affine L si misura dal piede della perpendicolare H, l'unico punto di L con Q − H ortogonale allo spazio direttore. Per un iperpiano a·x = b vale la formula |a·Q − b|/‖a‖. Rette sghembe: perpendicolare comune. Angoli tra rette e piani dai vettori direttori e normali.Distanze e angoli nello spazio affine →). Controllo sull'esempio: , . Punto : (lato positivo); punto : (lato negativo, dista uguale); punto : ; punto : . Il margine di questo piano sui quattro punti dell'esempio del Perceptron è quindi . Moltiplicare per una costante non cambia né il piano né le classificazioni né la distanza (il fattore si semplifica nel rapporto), per questo la distanza si divide sempre per .
Bias incorporato. Si aggiunge ai dati una componente costante: e . Allora : l'iperpiano passa per l'origine nello spazio aumentato e si può scrivere (è la colonna di uni della Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare →). Nel seguito si scrive intendendo .
Definizione (separabilità lineare). Un insieme di esempi è linearmente separabile se esistono con per ogni , cioè se un halfspace li classifica tutti correttamente. Il margine di un tale piano è la distanza minima dei punti dal piano.
La condizione è comoda: è positivo quando il segno di coincide con (previsione corretta), negativo o nullo se la previsione è sbagliata.
Il Perceptron
Il Perceptron (Rosenblatt, 1958) è il modello di un neurone: calcola la combinazione lineare degli ingressi e la passa a una funzione di attivazione a gradino: uscita se la somma supera la soglia, (o ) altrimenti. È quindi esattamente un halfspace. Sostituendo il gradino con la sigmoide si ha la regressione logistica (Regressione logistica e softmaxLa regressione lineare non è adatta alla classificazione (valori fuori da [0,1], retta tirata dai punti lontani). La regressione logistica passa il predittore lineare dalla sigmoide $\sigma(z)=1/(1+e^{-z})$ e interpreta $\hat y=\sigma(x^T\beta)$ come $P(y=1\mid x)$: si predice la classe 1 se $\hat y\ge0{,}5$, cioè $x^T\beta\ge0$ (bordo lineare). L'errore quadratico dà una funzione non convessa; si usa la log-verosimiglianza negativa $-\sum[y\log\hat y+(1-y)\log(1-\hat y)]$, convessa, con gradiente $X^T(\hat y-y)$ e nessuna formula chiusa (discesa del gradiente). Per più classi: one-vs-one ($C(C-1)/2$ classificatori, voto), one-vs-all ($C$ classificatori, massima probabilità), o la softmax $p_c=e^{z_c}/\sum_ke^{z_k}$ con cross-entropia. Si può regolarizzare (ridge, LASSO, Elastic Net) e la cross-validation si fa stratificata. Approfondimento: non nel programma di Telecomunicazioni.Regressione logistica e softmax →); con altre attivazioni e molti neuroni in strati, una rete neurale (Reti neurali - neuroni e funzioni di attivazioneUn neurone calcola $\hat y=g(w_0+w^\top x)$: somma pesata degli ingressi più bias, poi una funzione di attivazione $g$ non lineare (Perceptron a soglia, sigmoide, tanh, ReLU e varianti). Senza non linearità ogni rete è equivalente a un solo modello lineare. Una rete feed-forward impila strati di neuroni: $a^{(k)}=g(W^{(k)}a^{(k-1)}+b^{(k)})$; con uno strato nascosto è già un approssimatore universale, ma più strati rappresentano funzioni complesse con molti meno neuroni e imparano feature gerarchiche (bordi, parti, oggetti). Lo strato di uscita e la loss si scelgono dal compito: lineare+MSE (regressione), sigmoide+cross-entropy binaria, softmax+cross-entropy (multiclasse). Il numero di parametri di uno strato denso è $n_{in}n_{out}+n_{out}$. Nel lab (Keras, MNIST) una rete 784-512-10 ha 407 050 parametri e supera il 98% di accuratezza.Reti neurali - neuroni e funzioni di attivazione →).
L'algoritmo di apprendimento
Definizione (algoritmo del Perceptron). Dati con e aumentati con la costante :
- si inizializza ;
- si scorrono gli esempi; per un esempio sbagliato, cioè con , si aggiorna
- si ripete finché in un'intera passata non ci sono errori.
Perché l'aggiornamento ha senso. Dopo l'aggiornamento la quantità per lo stesso esempio diventa (perché ): aumenta di , quindi l'esempio viene «avvicinato» alla classificazione corretta. Geometricamente, per un positivo si sposta verso , per un negativo si allontana da . L'aggiornamento può rendere sbagliati altri esempi: per questo si ripassa fino a che non ci sono errori.
Esempio completo (verificato). Dati con , con , con , con ; con la costante e :
| passata | esempio | errore? | nuovo | |
|---|---|---|---|---|
| 1 | sì () | |||
| 1 | no | |||
| 1 | sì | |||
| 1 | sì | |||
| 2 | : ; : | no | ||
| 2 | sì | |||
| 2 | no | |||
| 3 | sì | |||
| 4 | tutti | nessuno |
Totale: errori e un classificatore che separa tutti i punti: .
Grafico interattivo: Esempio del Perceptron: i punti positivi (rossi) e negativi (blu) e l'iperpiano finale x₁ + x₂ = 3, ottenuto con w = (1, 1) e b = −3; il vettore w (freccia) è perpendicolare alla retta e punta verso il semispazio positivo
Come si muove la retta. Ogni riga della tabella dà un vettore e quindi la retta , cioè . I cinque aggiornamenti producono: (1) : retta ; (2) : ; (3) : ; (4) : ; (5) : . Il grafico le mostra in sequenza: dopo ogni errore la retta ruota e si sposta nella direzione che corregge quel punto, finché la quinta separa i quattro punti.
Grafico interattivo: Le cinque rette successive del Perceptron (tratteggiate, numerate secondo l'aggiornamento) e quella finale x₁ + x₂ = 3 (continua) sugli stessi quattro punti: positivi in rosso, negativi in blu
Il teorema di convergenza
Se i dati sono linearmente separabili il Perceptron si ferma sempre, dopo un numero finito di errori che dipende dal margine.
Teorema (convergenza del Perceptron, Novikoff). Siano per ogni , e sia con tale che per ogni (esiste un iperpiano con margine ). Allora il Perceptron commette al più errori (aggiornamenti) prima di classificare correttamente tutti gli esempi.
Dimostrazione. Sia il vettore dopo aggiornamenti ().
L'idea: il vettore deve tenersi sempre più allineato a (passo 1) senza però crescere troppo in lunghezza (passo 2); poiché un allineamento non può superare il 100%, il numero di aggiornamenti è limitato.
- Il prodotto scalare con cresce linearmente. Un aggiornamento con l'esempio dà (linearità del prodotto scalare) , perché per ipotesi . Per induzionePer dimostrare una proprietà per ogni n basta il passo base e il passo induttivo da n a n+1.Principio di induzione →: base ; passo, se allora . Quindi .
- La norma cresce al più come . Si sviluppa il quadrato della norma (Prodotto scalare, norma e angoliIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli →: ): , con . Poiché si aggiorna solo se c'è un errore, (il termine centrale è non positivo e si può togliere), e , quindi . Per induzione, con : , cioè .
- Si combinano con la disuguaglianza di Cauchy-Schwarz: , perché e . Allora . Dividendo per (positivo): , elevando al quadrato . ∎
Il numero di aggiornamenti non può superare : dopo tanti aggiornamenti non possono esserci altri errori, e quindi l'algoritmo si ferma. Il ruolo di : un margine piccolo significa che i punti sono vicini al piano, quindi deve diventare molto più lungo e allineato per superare tutti.
Esempio. Nell'esempio precedente ha margini , quindi ; il vettore aumentato più lungo è con . Il teorema garantisce errori; ne sono occorsi (il limite è largo ma vale per ogni ordine degli esempi).
Il teorema dice anche che più è piccolo il margine, più errori servono; non dipende dalla dimensione né dal numero di esempi .
Limiti
- Solo problemi separabili. Se i dati non sono linearmente separabili l'algoritmo non converge (continua ad aggiornare). Esempio classico, lo XOR: , , , . Se esistessero : (primo punto); (secondo); e (gli altri due). Sommando le ultime due, ; ma dalle prime due si ha : contraddizione. Nessun halfspace risolve lo XOR; serve una rete con più strati.
Grafico interattivo: XOR: i due punti positivi (rossi) sono sulla diagonale opposta a quella dei due negativi (blu); qualunque retta lascia almeno un punto dalla parte sbagliata. Le due rette tratteggiate mostrano due tentativi: ognuna sbaglia un punto
Geometricamente: un halfspace separa i punti con una retta, quindi le due classi dovrebbero avere involucri convessi disgiunti; qui i segmenti che uniscono le coppie della stessa classe (le due diagonali del quadrato) si incontrano nel centro , e un semispazio, che è convesso, non può contenere i due estremi di una diagonale senza contenere anche il centro.
- La soluzione non è unica e dipende dall'ordine degli esempi: tra i tanti iperpiani separatori il Perceptron trova il primo, non il migliore.
- Nessun criterio di margine ottimale. Le SVM cercano il piano di margine massimo (Support vector machines e metodi kernelUna SVM cerca l'iperpiano $w\cdot x+b=0$ che separa due classi con il margine più largo possibile: normalizzando $y_i(w\cdot x_i+b)\ge1$ il margine totale vale $2/|w|$, quindi si risolve $\min\frac12|w|^2$ (problema convesso, nessun minimo locale). Con classi sovrapposte si ammettono errori con le variabili di scarto $\xi_i$ e il parametro $C$ (soft margin, equivalente alla hinge loss più una penalità su $|w|^2$); $C$ piccolo = margine largo e più bias, $C$ grande = margine stretto e più varianza, si sceglie per cross-validation. La soluzione dipende solo dai vettori di supporto ($w=\sum\alpha_iy_ix_i$) e solo tramite prodotti scalari, per questo si può sostituire $x_i\cdot x_j$ con un kernel $K(x_i,x_j)=\langle\phi(x_i),\phi(x_j)\rangle$ (polinomiale, RBF) senza calcolare $\phi$: così si ottengono bordi non lineari. La SVR usa lo stesso schema con un tubo di tolleranza $\varepsilon$. Nell'esame le SVM sono solo nella parte teorica.Support vector machines e metodi kernel →) e con i metodi kernel gestiscono anche il caso non separabile.
- Dati rumorosi. Con classi che si sovrappongono si preferisce la regressione logistica (minimizza una perdita continua) o varianti come il pocket Perceptron (tiene il miglior visto).
| Perceptron | Regressione logistica | SVM | |
|---|---|---|---|
| Uscita | classe () | probabilità | classe (distanza dal piano) |
| Criterio | zero errori (se separabile) | log-verosimiglianza | margine massimo |
| Dati non separabili | non converge | funziona | funziona (margine morbido, kernel) |
Codice
import numpy as np
def perceptron(X, y, max_epochs=100):
Xa = np.hstack([X, np.ones((len(X), 1))]) # bias incorporato
w = np.zeros(Xa.shape[1])
for _ in range(max_epochs):
errors = 0
for xi, yi in zip(Xa, y):
if yi * (w @ xi) <= 0: # esempio sbagliato (o sul piano)
w += yi * xi; errors += 1
if errors == 0: break # tutti corretti: stop
return w # w = (pesi, bias)
predict = lambda w, X: np.sign(np.hstack([X, np.ones((len(X), 1))]) @ w)Con : il confronto <= 0 include il caso (all'inizio, con , tutti gli esempi sono «sul piano» e il primo aggiornamento avviene subito).
Errori tipici
- Usare le etichette nella regola : servono (con un negativo non allontanerebbe ).
- Dimenticare il bias (o la colonna di uni): il piano è costretto a passare per l'origine.
- Confondere (normale al piano) con un punto del piano.
- Aspettarsi la convergenza con dati non separabili.
- Considerare il Perceptron e la regressione logistica equivalenti: cambiano l'uscita e la regola di apprendimento (errori contro gradiente di una perdita).
Versione ripasso
Definizione (halfspace). Con etichette e ingressi , il classificatore è . Il vettore è il peso e il bias. Il confine è un iperpiano, perpendicolare a .
Formula (distanza dal piano). . Passaggi: se è la proiezione ortogonale di sul piano, , quindi (Complemento ortogonale e proiezioni ortogonaliL'ortogonale U⊥ di un sottospazio è un sottospazio di dimensione n − dim U, e R^n = U ⊕ U⊥; ogni vettore si scompone in proiezione su U più componente ortogonale; la proiezione è il punto di U più vicino e si calcola con un sistema o con la matrice di proiezione A(AᵀA)⁻¹Aᵀ.Complemento ortogonale e proiezioni ortogonali →, Distanze e angoli nello spazio affineLa distanza tra due punti è la norma del vettore che li unisce. La distanza di un punto Q da un sottospazio affine L si misura dal piede della perpendicolare H, l'unico punto di L con Q − H ortogonale allo spazio direttore. Per un iperpiano a·x = b vale la formula |a·Q − b|/‖a‖. Rette sghembe: perpendicolare comune. Angoli tra rette e piani dai vettori direttori e normali.Distanze e angoli nello spazio affine →).
Esempio. , : il punto dà , quindi , a distanza ; il punto dà , quindi .
Bias incorporato. Con e si ha : l'iperpiano passa per l'origine nello spazio aumentato (Spazi affini, rette e pianiNello spazio affine Aⁿ si distinguono punti e vettori (Q − P è il vettore da P a Q). Un sottospazio affine è L = P + W, un punto più un sottospazio vettoriale (lo spazio direttore): si descrive con equazioni parametriche X = P + t₁w₁ + … oppure cartesiane AX = B. Rette e piani di A³, passaggio tra i due tipi di equazioni, posizione reciproca: incidenti, paralleli, sghembi.Spazi affini, rette e piani →).
Definizione (separabilità lineare). Gli esempi sono separabili se esistono con per ogni . Il margine è la distanza minima dei punti dal piano.
Il Perceptron
Il Perceptron (Rosenblatt, 1958) è un neurone con attivazione a gradino: è un halfspace. Con la sigmoide al posto del gradino si ottiene la regressione logisticaLa regressione lineare non è adatta alla classificazione (valori fuori da [0,1], retta tirata dai punti lontani). La regressione logistica passa il predittore lineare dalla sigmoide $\sigma(z)=1/(1+e^{-z})$ e interpreta $\hat y=\sigma(x^T\beta)$ come $P(y=1\mid x)$: si predice la classe 1 se $\hat y\ge0{,}5$, cioè $x^T\beta\ge0$ (bordo lineare). L'errore quadratico dà una funzione non convessa; si usa la log-verosimiglianza negativa $-\sum[y\log\hat y+(1-y)\log(1-\hat y)]$, convessa, con gradiente $X^T(\hat y-y)$ e nessuna formula chiusa (discesa del gradiente). Per più classi: one-vs-one ($C(C-1)/2$ classificatori, voto), one-vs-all ($C$ classificatori, massima probabilità), o la softmax $p_c=e^{z_c}/\sum_ke^{z_k}$ con cross-entropia. Si può regolarizzare (ridge, LASSO, Elastic Net) e la cross-validation si fa stratificata. Approfondimento: non nel programma di Telecomunicazioni.Regressione logistica e softmax →; con più neuroni e strati, una rete (Reti neurali - neuroni e funzioni di attivazioneUn neurone calcola $\hat y=g(w_0+w^\top x)$: somma pesata degli ingressi più bias, poi una funzione di attivazione $g$ non lineare (Perceptron a soglia, sigmoide, tanh, ReLU e varianti). Senza non linearità ogni rete è equivalente a un solo modello lineare. Una rete feed-forward impila strati di neuroni: $a^{(k)}=g(W^{(k)}a^{(k-1)}+b^{(k)})$; con uno strato nascosto è già un approssimatore universale, ma più strati rappresentano funzioni complesse con molti meno neuroni e imparano feature gerarchiche (bordi, parti, oggetti). Lo strato di uscita e la loss si scelgono dal compito: lineare+MSE (regressione), sigmoide+cross-entropy binaria, softmax+cross-entropy (multiclasse). Il numero di parametri di uno strato denso è $n_{in}n_{out}+n_{out}$. Nel lab (Keras, MNIST) una rete 784-512-10 ha 407 050 parametri e supera il 98% di accuratezza.Reti neurali - neuroni e funzioni di attivazione →).
Definizione (algoritmo). Con aumentati dalla costante :
- ;
- per ogni esempio sbagliato, cioè con : ;
- ripetere finché una passata intera non dà errori.
Perché funziona. Dopo l'aggiornamento, dello stesso esempio aumenta di , perché . L'esempio si avvicina alla classificazione corretta, ma altri esempi possono sbagliare: per questo si ripassa.
Esempio svolto. , , , , con e :
- : , errore, ;
- : , corretto;
- : , errore, ;
- : , errore, ;
- seconda passata: dà , errore, ; dà , corretto;
- terza passata: dà , errore, ;
- quarta passata: nessun errore.
Totale: aggiornamenti e la retta finale . Le rette intermedie ruotano a ogni errore.
Teorema di convergenza (Novikoff)
Teorema. Siano e con e per ogni . Allora il Perceptron fa al più errori.
Dimostrazione (idea).
- Il prodotto scalare con cresce di almeno a ogni errore: , per induzione.
- La norma cresce poco: , perché il termine centrale è a ogni errore. Quindi .
- Cauchy-Schwarz dà , da cui .
Esempio. Con e il limite è errori; ne occorrono . Un margine piccolo richiede più errori; il bound non dipende da né da .
Limiti
- Solo dati separabili. Con dati non separabili non converge. Esempio, lo XOR: , , , . Le condizioni , , , sono incompatibili: sommando le ultime due e confrontando con le prime si ottiene una contraddizione. Serve una rete con più strati.
- Soluzione non unica: dipende dall'ordine degli esempi, e non è quella con margine massimo.
- Dati rumorosi. Si usa la regressione logistica, che minimizza una perdita continua, oppure il pocket Perceptron, che tiene il miglior visto.
- Margine non ottimale. Le SVMUna SVM cerca l'iperpiano $w\cdot x+b=0$ che separa due classi con il margine più largo possibile: normalizzando $y_i(w\cdot x_i+b)\ge1$ il margine totale vale $2/|w|$, quindi si risolve $\min\frac12|w|^2$ (problema convesso, nessun minimo locale). Con classi sovrapposte si ammettono errori con le variabili di scarto $\xi_i$ e il parametro $C$ (soft margin, equivalente alla hinge loss più una penalità su $|w|^2$); $C$ piccolo = margine largo e più bias, $C$ grande = margine stretto e più varianza, si sceglie per cross-validation. La soluzione dipende solo dai vettori di supporto ($w=\sum\alpha_iy_ix_i$) e solo tramite prodotti scalari, per questo si può sostituire $x_i\cdot x_j$ con un kernel $K(x_i,x_j)=\langle\phi(x_i),\phi(x_j)\rangle$ (polinomiale, RBF) senza calcolare $\phi$: così si ottengono bordi non lineari. La SVR usa lo stesso schema con un tubo di tolleranza $\varepsilon$. Nell'esame le SVM sono solo nella parte teorica.Support vector machines e metodi kernel → cercano il piano di margine massimo.
Errori tipici:
- usare le etichette nella regola : servono ;
- dimenticare il bias, o la colonna di uni: il piano è costretto per l'origine;
- confondere , normale al piano, con un punto del piano;
- aspettarsi la convergenza con dati non separabili;
- considerare il Perceptron equivalente alla regressione logistica: cambiano l'uscita e la regola di apprendimento.