metodi di decomposizione€¦ · delle support vector machines formulato come problema di...

45
Metodi di decomposizione Marco Sciandrone Dipartimento di Ingegneria dell’Informazione Universit`a di Firenze E-mail: marco.sciandrone@unifi.it

Upload: others

Post on 10-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Metodi di decomposizione

Marco Sciandrone

Dipartimento di Ingegneria dell’Informazione

Universita di Firenze

E-mail: [email protected]

Page 2: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Sommario

In queste note vengono analizzati i principali metodi di decomposizione per l’ottimizzazionenon vincolata. Inoltre, per quanto riguarda l’ottimizzazione vincolata, si porra l’attenzionesui metodi di decomposizione per l’addestramento di Support Vector Machines. Nell’AppendiceA1 sono riportati alcuni concetti che riguardano le tecniche di ricerca unidimensionale. Inmaggiore dettaglio viene analizzato in Appendice A2 il metodo di Armijo, le cui proprietasono utilizzate per dimostrare la convergenza del metodo di decomposizione di Gauss-Southwell (si veda la dimostrazione della Proposizione 4 nel paragrafo 4). Nell’appendiceB vengono riportati alcuni risultati tecnici che riguardano il problema di addestramentodelle Support Vector Machines formulato come problema di ottimizzazione vincolata.

1 Generalita

Consideriamo il problema di minimizzare una funzione f : Rn → R continuamentedifferenziabile. La principale motivazione per l’impiego di tecniche di decomposizionenell’ottimizzazione non vincolata e che, quando alcune variabili sono fissate, si ottengonosottoproblemi di dimensioni minori e spesso di struttura particolare, tale da consentirel’impiego di tecniche specializzate. Alcuni esempi significativi sono i seguenti.

(a) Se n e molto elevato, puo essere difficile e, al limite, impossibile, risolvere il problemacon gli algoritmi standard, per le limitazioni della “memoria di lavoro” del mezzo dicalcolo disponibile; in tal caso il problema assegnato deve essere risolto necessaria-mente attraverso la soluzione di sottoproblemi di dimensioni inferiori, estraendo divolta in volta i dati occorrenti da una “memoria di massa”.

(b) Fissando un gruppo di variabili, si possono talvolta ottenere sottoproblemi separabilinelle variabili rimanenti, risolubili anche attraverso tecniche di calcolo parallelo.

(c) In alcuni casi i sottoproblemi ottenuti dalla decomposizione possono essere risoltiefficientemente dal punto di vista locale o globale, talora anche per via analitica.In particolare, in alcuni problemi non convessi i sottoproblemi possono risultareconvessi rispetto al blocco di variabili ad essi associato e si possono determinare (oapprossimare) facilmente gli ottimi globali dei sottoproblemi. Cio puo tradursi insoluzioni complessivamente migliori di quelle ottenibili applicando metodi locali alproblema non decomposto.

(d) Introducendo opportune variabili ausiliarie e tecniche di penalizzazione, la minimiz-zazione con metodi incrementali di funzioni obiettivo composite puo essere affrontatacon metodi di decomposizione rispetto alle variabili.

Notiamo tuttavia che la decomposizione puo portare sia a difficolta di stabilire la con-vergenza globale, sia a far deteriorare la rapidita di convergenza complessiva, rispetto

2

Page 3: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

a quella ottenibile con i metodi standard. La convenienza di adottare tecniche di de-composizione va quindi valutata caso per caso, spesso anche attraverso sperimentazioninumeriche. In generale possiamo aspettarci che un metodo di decomposizione, proprioperche opera su blocchi di variabili, richieda un numero di iterazioni maggiore rispettoa quello di un metodo standard. Tuttavia, il tempo di calcolo di ogni singola iterazionedel metodo di decomposizione, grazie alla particolare struttura dei sottoproblemi e allatecnica di soluzione adottata, potrebbe essere notevolmente piu basso, per cui il tempocomplessivo di calcolo richiesto dal metodo di decomposizione potrebbe essere inferiore.

Alcuni esempi che motivano l’impiego di tecniche di decomposizione sono i seguenti.

Example 1 Si consideri il problema di minimizzare una funzione obiettivo f della forma

f(x) = ψ1(x1) +n∑

i=2

ψi(x1)φi(xi)

in cui f : Rn → R, ψi : R → R, per i = 1, . . . , n, φi : R → R, per i = 2, . . . , n. Osservi-amo che, fissata la variabile x1, si ottiene una funzione separabile nelle restanti variabili,che quindi puo essere minimizzata in parallelo. Un modello concettuale di decomposizione,in questo caso, ad ogni iterazione k avrebbe la struttura seguente:

1. dato il punto corrente xk, determinata una soluzione x⋆1 del sottoproblema unidi-mensionale

minx1 ψ1(x1) +n∑

i=2

ψi(x1)φi(xki ),

poni xk+11 = x⋆1;

2. per i = 2, . . . , n, determina in parallelo le soluzioni x⋆i dei sottoproblemi unidimen-sionali

minxiψi(x

k+11 )φi(xi),

poni xk+1i = x⋆i , k = k + 1 e vai al Passo 1.

I vantaggi che l’applicazione di un algoritmo di decomposizione fornirebbe, rispetto all’impiegodi un metodo di ottimizzazione standard, sono legati essenzialmente al fatto che ad ogniiterazione vengono risolti n problemi unidimensionali dei quali n−1 possono essere risoltiin parallelo.

Example 2 Si consideri il problema di minimi quadrati non lineari

minx,yf(x, y) =1

2‖Φ(y)x− b‖2, (1)

in cui Φ ∈ Rm×n e una matrice dipendente da un vettore di variabili y ∈ Rp, b ∈ Rm. Ilvettore “complessivo” delle variabili e quindi

(

xy

)

∈ Rn+p.

3

Page 4: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Si noti che, fissato il vettore y, il sottoproblema nel vettore x e un problema di minimiquadrati lineari che, per quanto visto in capitoli precedenti, puo essere risolto efficiente-mente sia con metodi diretti che iterativi. In questo caso, appare naturale applicare unoschema di decomposizione a due blocchi:

1. dato il punto corrente (xk, yk), determinata una soluzione x⋆ del sottoproblema diminimi quadrati lineari

minxf(x, yk) =

1

2‖Φ(yk)x− b‖2,

poni xk+1 = x⋆;

2. determina una soluzione y⋆ del sottoproblema di minimi quadrati non lineari

minyf(xk+1, y) =

1

2‖Φ(y)xk+1 − b‖2,

poni yk+1 = y⋆, k = k + 1 e vai al Passo 1.

Il vantaggio della decomposizione in questo caso deriva dal fatto che ad ogni iterazioneoccorre risolvere due sottoproblemi, uno dei quali particolarmente “semplice”.

Example 3 Si consideri il problema

minf(x) =n∑

i=1

(xi − 1)2 + 4n∏

i=1

xi +n∏

i=1

x2i . (2)

La funzione obiettivo f : Rn → R non e convessa, ma e strettamente convessa per com-ponenti, ossia, fissando n− 1 componenti di x, la funzione della restante variabile e stret-tamente convessa. In particolare, la soluzione del generico sottoproblema e determinabileper via analitica essendo il vertice di una parabola. Uno schema di decomposizione parti-colarmente semplice e il seguente:

1. dato il punto corrente xk, per i = 1, . . . , n determina analiticamente la soluzione x⋆idel sottoproblema quadratico

minxi

f(xk+11 , xk+1

2 , . . . , xk+1i−1 , xi, x

ki+1, . . . , x

kn)

poni xk+1i = x⋆i .

2. Poni k = k + 1 e vai al Passo 1.

Lo schema concettuale descritto e in effetti un metodo delle coordinate con ricerca di lineaesatta. Puo essere vantaggioso, oltre che per il fatto che i sottoproblemi sono risolvibili informa chiusa, anche in termini di ottimizzazione globale, nel senso che le minimizzazioniesatte lungo gli assi coordinati potrebbero aiutare ad uscire da minimi locali non globali.

4

Page 5: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

2 Notazioni e tipi di decomposizione

Supponiamo che il vettore x ∈ Rn sia partizionato in m ≤ n vettori componenti xi ∈ Rni

in modo tale che si abbiam∑

i=1

ni = n

e poniamo x = (x1, . . . , xi, . . . , xm). Quando opportuno il valore f(x) viene anche indicatoda f(x1, . . . , xi, . . . , xm). Indichiamo poi con ∇if ∈ Rni il gradiente parziale di f rispettoal vettore xi. Ne segue che x∗ e punto stazionario di f , ossia soddisfa ∇f(x∗) = 0 se esolo se ∇if(x

∗) = 0, i = 1, . . . ,m.Gli algoritmi che prenderemo in considerazione generano una successione {xk}, at-

traverso iterazioni principali (indicizzate da k) all’interno delle quali vengono effettuatiopportuni passi elementari (indicizzati da i) che aggiornano le componenti di x. Faremoriferemento nel seguito a due schemi di base sulla interconnessione della sequenza di mini-mizzazioni parziali: decomposizione di tipo sequenziale e decomposizione di tipo parallelo.

Negli algoritmi sequenziali, a partire dal punto

xk = (xk1, . . . , xki , . . . , x

km)

in ogni iterazione principale vengono effettuati, in sequenza, m passi, in ciascuno dei qualiviene aggiornato un singolo blocco componente xi, ottenendo il vettore xk+1

i . Si generanocosı i punti:

(xk+11 , . . . , xk+1

i , . . . , xkm), i = 1, . . . ,m,

e al termine del passo m si avra quindi

xk+1 = (xk+11 , . . . , xk+1

i , . . . , xk+1m ).

In corrispondenza all’iterazione k, per i = 1, . . . ,m+ 1 definiamo i vettori z(k, i) tali chesia z(k, 1) ≡ xk e che per i > 1 il punto z(k, i) rappresenti il vettore in cui sono stateaggiornate le componenti 1, . . . , i − 1, mentre la componenti i, i + 1, . . . ,m sono rimasteinvariate, ossia:

z(k, i) = (xk+11 , . . . , xk+1

i−1 , xki , x

ki+1, . . . , x

km).

A partire da z(k, i) supponiamo sia aggiornata la componente i−ma, ottenendo xk+1i , per

cui si puo costruire il vettore

z(k, i+ 1) = (xk+11 , . . . , xk+1

i−1 , xk+1i , xki+1, . . . , x

km).

Al termine della k−ma iterazione si ha quindi

xk+1 = z(k,m+ 1) = z(k + 1, 1).

La Figura 1 si riferisce a una decomposizione sequenziale in m = 3 blocchi.

5

Page 6: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

xk(xk+1

1 , xk2 , xk

3) (xk+1

1 , xk+1

2 , xk3)

xk+1

z(k, 1) z(k, 2) z(k, 3) z(k, 4)

Figure 1: Decomposizione sequenziale con m = 3 blocchi.

Nella decomposizione di tipo parallelo, a partire dal punto xk vengono aggiornaticontemporaneamente e indipendentemente per i = 1, . . . ,m, i singoli blocchi, ottenendo ivettori componenti di tentativo uk+1

i e generando quindi i punti

(xk1, . . . , uk+1i , . . . , xkm), i = 1, . . . ,m.

Successivamente il punto xk+1 viene costruito per mezzo di qualche regola opportuna apartire da tali punti, ad esempio identificandolo con quello che fornisce il valore miglioredella funzione obiettivo. La Figura 2 illustra un caso di decomposizione parallela in m = 3blocchi.

Nei due schemi, l’aggiornamento del blocco i-mo puo consistere in

- determinazione del punto di minimo globale della funzione obiettivo f rispetto alblocco componente i−mo.

- determinazione (eventualmente approssimata) di un punto stazionario rispetto algradiente parziale ∇if ;

- ricerca unidimensionale lungo una direzione di ricerca dki opportuna;

- effettuazione di un passo “nullo” che lascia il blocco invariato.

Le condizioni di convergenza globale dipendono, in ciascuno schema di calcolo, dalleipotesi sulla funzione obiettivo f e dalle ipotesi sulla dipendenza di f dai vari blocchi divariabili. Nel seguito analizzeremo alcune delle strutture piu significative. In particolare,come algoritmi di decomposizione sequenziale considereremo:

6

Page 7: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

xk

(uk1 , xk

2 , xk3)

(xk1 , uk

2 , xk3)

(xk1 , xk

3 , uk3)

xk+1

Figure 2: Decomposizione parallela con m = 3 blocchi.

- algoritmi di tipo Gauss-Seidel;

- algoritmi di tipo Gauss-Southwell.

Per quanto riguarda gli algoritmi di decomposizione parallela, analizzeremo algoritmi ditipo Jacobi.

3 Metodo di Gauss-Seidel a blocchi ed estensioni

3.1 Lo schema

Uno degli schemi piu noti di decomposizione sequenziale, che puo essere interpretato comeestensione del metodo di Gauss-Seidel per la soluzione di sistemi di equazioni lineari,consiste in una sequenza di minimizzazioni globali rispetto ai singoli blocchi. Nell’ipotesiche i problemi di ottimo considerati ammettano soluzione, possiamo definire l’algoritmoseguente.

7

Page 8: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Metodo di Gauss-Seidel a blocchi (GS)

Dati: punto iniziale x0 = (x01, . . . , x0m) ∈ Rn.

For k = 0, 1, . . .

For i = 1, . . . ,m calcola

xk+1i ∈ Arg min

ξ∈Rni

f(xk+11 , . . . , ξ, . . . , xkm). (3)

End For

Poni xk+1 = (xk+11 , . . . , xk+1

m )

End For

Si osservi che il metodo e ben definito solo se i sottoproblemi (3) ammettono soluzione. Pergarantire che i sottoproblemi (3) ammettono soluzione e sufficiente assumere che l’insiemedi livello L0 sia compatto.

Lo schema del metodo di Gauss-Seidel e concettualmente molto semplice, richiedetuttavia di determinare punti di ottimo globale dei sottoproblemi che sequenzialmentevengono considerati. Per ovviare a questa difficolta sono stati proposti algoritmi di discesaa blocchi.

C’e da osservare inoltre che le proprieta di convergenza globale del metodo di Gauss-Seidel non sono ovvie. Esistono infatti alcuni controesempi di problemi differenziabili coni quali si mette in evidenza che il metodo puo generare una sequenza che ammette puntilimite, nessuno dei quali e un punto stazionario.

Vedremo che proprieta di convergenza globale del metodo di Gauss-Seidel possonoessere stabilite:

- sotto ipotesi di convessita della funzione obiettivo;

- sotto ipotesi di funzione obiettivo strettamente convessa per componenti;

- senza alcuna ipotesi di convessita nel caso particolare di m = 2 blocchi.

8

Page 9: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Si osservi che la funzione obiettivo del problema (2) nell’esempio 2 e una funzione non con-vessa, ma strettamente convessa per componenti, per cui soddisfa le ipotesi di convergenzadell’algoritmo di Gauss-Seidel.

Nel caso generale di m > 2 blocchi, sono state proposte delle versioni del metodo diGauss-Seidel con modifiche di tipo “proximal point” per le quali e possibile garantire laconvergenza globale senza alcuna ipotesi di convessita sulla funzione obiettivo. Riportiamoper maggiore chiarezza lo schema dell’Algoritmo di Gauss-Seidel in due blocchi.

Metodo di Gauss-Seidel a due blocchi (GS2)

Dati: punto iniziale x0 = (x01, x02) ∈ Rn.

For k = 0, 1, . . .

Calcola

xk+11 ∈ Arg min

ξ∈Rn1f(ξ, xk2).

Calcola

xk+12 ∈ Arg min

ξ∈Rn2f(xk+1

1 , ξ).

Poni xk+1 = (xk+11 , xk+1

2 ).

End For

Proposizione 1 (Convergenza del metodo GS in 2 blocchi)Sia f : Rn → R continuamente differenziabile su Rn e supponiamo che l’insieme di livelloL0 sia compatto. Sia {xk} la successione generata utilizzando il metodo GS2. Allora ognipunto di accumulazione di {xk} e un punto stazionario di f .

9

Page 10: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

I dettagli tecnici delle dimostrazioni di convergenza non verranno analizzati. Tuttavia einteressante fornire un’idea sull’importanza dell’ipotesi di stretta convessita per compo-nenti.

In uno schema di decomposizione di tipo Gauss-Seidel, ad ogni iterazione k, la con-dizione di ottimalita rispetto a blocchi differenti viene soddisfatta in punti differenti. Inparticolare abbiamo

∇1f(xk+11 , xk2, . . . , x

km) = 0

∇2f(xk+11 , xk+1

2 , . . . , xkm) = 0

...

∇mf(xk+11 , xk+1

2 , . . . , xk+1m ) = 0.

Quindi, per ottenere un risultato asintotico di convergenza globale occorre assicurare chegli m punti

z(k, 2) = (xk+11 , xk2, . . . , x

km)

z(k, 3) = (xk+11 , xk+1

2 , . . . , xkm)

...

z(k, i+ 1) = (xk+11 , xk+1

2 , . . . , xk+1i , xki , . . . , x

km)

z(k,m+ 1) = (xk+11 , xk+1

2 , . . . , xk+1m )

convergano allo stesso punto di accumulazione. Questo e assicurato se

limk→∞

‖xk+1i − xki ‖ = 0. (4)

L’ipotesi di stretta convessita per componenti consente di soddisfare la condizione (4).

3.2 Modifiche del metodo di Gauss-Seidel

Vediamo in questo paragrafo due modifiche dello schema di decomposizione di Gauss-Seidel che introduciamo con differenti motivazioni. La prima modifica riguarda il casoparticolare di due blocchi. Osserviamo che l’Algoritmo GS2 richiede, ad ogni iterazione, lasoluzione globale di due sottoproblemi. In assenza di ipotesi di convessita questo potrebbeessere in pratica proibitivo. Una variante dell’Algoritmo GS2 che tiene conto di questoaspetto e la seguente.

10

Page 11: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Modifica del metodo di Gauss-Seidel a due blocchi (MGS2)

Dati: punto iniziale x0 = (x01, x02) ∈ Rn.

For k = 0, 1, . . .

Calcola

xk+11 ∈ Arg min

ξ∈Rn1f(ξ, xk2).

Determina un vettore xk+12 tale che

f(xk+11 , xk+1

2 ) ≤ f(xk1, xk+12 ), ‖∇2f(x

k+11 , xk+1

2 )‖ = 0.

Poni xk+1 = (xk+11 , xk+1

2 ).

End For

Si noti che ad ogni iterazione occorre risolvere un problema di ottimizzazione globalerispetto al primo blocco. Per quanto riguarda il secondo blocco di variabili, e sufficientedeterminare un punto stazionario in cui il valore della funzione obiettivo non sia aumen-tato. Quindi, nell’aggiornamento del secondo blocco di variabili possiamo applicare, inlinea di principio, uno qualsiasi dei metodi globalmente convergenti. Vale il risultato diconvergenza riportato nella proposizione seguente.

Proposizione 2 (Convergenza del metodo a due blocchi MGS2)Sia f : Rn → R continuamente differenziabile su Rn e supponiamo che l’insieme di livelloL0 sia compatto. Sia {xk} la successione generata utilizzando il metodo MGS2. Alloraogni punto di accumulazione di {xk} e un punto stazionario di f .

Si osservi che lo schema a due blocchi MGS2 si presta ad essere adottato per la soluzione

11

Page 12: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

del problema di minimi quadrati non lineari (1). Tale problema si presenta, ad esempio,nell’ambito dell’apprendimento automatico per l’addestramento di reti neurali.

La seconda modifica che introduciamo e finalizzata ad ottenere proprieta di conver-genza nel caso generale, ossia:

- numero di blocchi superiore a due,

- f non convessa ne strettamente convessa rispetto alle componenti.

Una possibilita e quella di modificare il problema di ottimo rispetto alle componenti conl’aggiunta di un termine tipo proximal point che penalizza la grandezza degli scostamentitra le stime consecutive di uno stesso blocco. Consideriamo l’algoritmo seguente, che eben definito se i problemi di minimizzazione considerati ammettono soluzione.

Metodo GS con modifica proximal point (GSP)

Dati: punto iniziale x0 = (x01, . . . , x0m) ∈ Rn, τi > 0, i = 1, . . . ,m.

For k = 0, 1, . . .

For i = 1, . . . ,m calcola

xk+1i ∈ Arg min

ξ∈Rni

{

f(xk+11 , . . . , ξ, . . . , xkm) +

1

2τi‖ξ − xki ‖

2}

.

End For

Poni xk+1 = (xk+11 , . . . , xk+1

m ).

End For

Diamo una giustificazione dell’introduzione del termine tipo proximal point:

1

2τi‖ξ − xki ‖

2.

Come detto in precedenza, la condizione (4) e un requisito che consente di dimostrare laconvergenza del metodo di Gauss-Seidel nel caso di m > 2 blocchi.

12

Page 13: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

L’introduzione del termine tipo proximal point permette di soddisfare la (4). Infatti,per definizione di xk+1

i , abbiamo

f(xk+11 , . . . , xk+1

i , . . . , xkm) +1

2τi‖x

k+1i − xki ‖

2 ≤ f(xk+11 , . . . , xki , . . . , x

km) +

1

2τi‖x

ki − xki ‖

2,

da cui segue

f(xk+11 , . . . , xk+1

i , . . . , xkm) ≤ f(xk+11 , . . . , xki , . . . , x

km)−

1

2τi‖x

k+1i − xki ‖

2. (5)

Abbiamo inoltre

f(xk+1) ≤ f(xk+11 , . . . , xk+1

i , . . . , xkm) ≤ f(xk+11 , . . . , xki , . . . , x

km) ≤ f(xk), (6)

per cui, dalla convergenza della sequenza dei valori {f(xk)}, dalla (6) e dalla (5) si ottienela (4).

Nella proposizione successiva si riporta un risultato di convergenza.

Proposizione 3 (Convergenza del metodo “proximal point” GSP)Sia f : Rn → R continuamente differenziabile su Rn. Supponiamo che l’Algoritmo GSPsia ben definito e che la successione {xk} generata dall’algoritmo abbia punti di accumu-lazione. Allora ogni punto di accumulazione di {xk} e punto stazionario di f .

4 Metodo di Gauss-Southwell

Nel metodo di Gauss-Southwell, analogamente al metodo di Gauss-Seidel, il vettore dellevariabili x e partizionato in m blocchi prefissati

x = (x1, . . . , xi, . . . , xm),

dove xi ∈ Rni , per i = 1, . . . , n. Tuttavia, a differenza del metodo di Gauss-Seidel, ilmetodo di Gauss-Southwell prevede ad ogni iterazione l’aggiornamento di un solo bloccodi variabili. Occorre quindi definire la regola di selezione del blocco di variabili che vieneaggiornato alla generica iterazione k. L’idea alla base del metodo di Gauss-Southwell edi selezionare, come blocco di variabili da aggiornare, quello che viola maggiormente lecondizioni di ottimalita. In modo formale, all’iterazione k, l’indice i(k) ∈ {1, . . . ,m} cheindividua il blocco di variabili da aggiornare e quello per cui risulta

‖∇i(k)f(xk)‖ ≥ ‖∇jf(xk)‖ j = 1, . . . ,m. (7)

Individuato l’indice i(k), si risolve il corrispondente sottoproblema

xk+1i(k) ∈ Arg min

ξ∈Rni(k)

f(xk1, . . . , ξ, . . . , xkm).

13

Page 14: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Metodo di Gauss-Southwell (GSW)

Dati: punto iniziale x0 = (x01, . . . , x0m) ∈ Rn.

For k = 0, 1, . . .

Definito i(k) ∈ {1, . . . ,m} l’indice per cui vale la (7), calcola

xk+1i(k) ∈ Arg min

ξ∈Rni(k)

f(xk1, . . . , ξ, . . . , xkm).

Poni xk+1 = (xk1, . . . , xk+1i(k) , . . . , x

km).

End For

L’Algoritmo GSW ha proprieta di convergenza globale anche in assenza di ipotesi diconvessita. In particolare, vale il risultato che segue.

Proposizione 4 (Convergenza del metodo GSW)Sia f : Rn → R continuamente differenziabile su Rn e supponiamo che l’insieme di livelloL0 sia compatto. Allora ogni punto di accumulazione della successione {xk} generatadall’Algoritmo GSW e punto stazionario di f .

Dim. Le istruzioni dell’algoritmo implicano f(xk+1) ≤ f(xk), per cui la sequenza {xk}appartiene all’insieme compatto L0 e quindi ammette punti di accumulazione. Abbiamoinoltre che la sequenza dei valori di funzione {f(xk)} converge.

Dimostriamo la tesi ragionando per assurdo. Supponiamo quindi che esista un sot-toinsieme K ⊆ {0, 1, . . . , } tale che

limk∈K,k→∞

xk = x,

‖∇f(x)‖ > 0. (8)

Esistono quindi un indice h ∈ {1, . . . ,m} e uno scalare η > 0 tali che

‖∇hf(x)‖ ≥ 2η > 0. (9)

14

Page 15: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Dalla (7) e dalla (9) segue per ogni k ∈ K

‖∇i(k)f(xk)‖ ≥ ‖∇hf(xk)‖ ≥ η > 0. (10)

Poiche i(k) appartiene a un insieme finito, esiste un sottoinsieme di K (che rinominiamoK) tale che

i(k) = i⋆ k ∈ K.

Per ogni k ∈ K, dalla (10) segue

‖∇i⋆f(xk)‖ ≥ ‖∇hf(xk)‖ ≥ η > 0. (11)

Si ponga dki⋆ = −∇i⋆f(xk) e si definisca la direzione dk in Rn tale che

dk = (0, . . . dki⋆ , . . . , 0).

Per ogni k ∈ K risulta∇f(xk)Tdk = −‖∇i⋆f(xk)‖

2 < 0,

per cui dk e una direzione di discesa per f in xk. Sia αk il passo lungo dk determinato conil metodo di Armijo, per cui risulta

f(xk + αkdk) < f(xk). (12)

Le istruzioni dell’algoritmo implicano

xk+1i⋆ ∈ argmin

xi⋆

f(xk1, . . . , xi⋆ , . . . , xkm),

da cui segue che, comunque si scelga un passo β ∈ R e un sottovettore di⋆ ∈ Rni⋆ , risulta

f(xk+1) = f(xk1, . . . , xk+1i⋆ , . . . , xkm) ≤ f(xk1, . . . , x

ki⋆ + βdi⋆ , . . . , x

km).

Di conseguenza, utilizzando la definizione della direzione dk e la (12), possiamo scrivere

f(xk+1) ≤ f(xk1, . . . , xki⋆ + αkdki⋆ , . . . , x

km) = f(xk + αkdk) < f(xk),

da cui si ottiene, tenendo conto della convergenza di {f(xk)},

limk∈K,k→∞

f(xk)− f(xk + αkdk) = 0.

Dalle proprieta del metodo di Armijo (si veda la Proposizione 11 in Appendice A2) segue

limk∈K,k→∞

∇f(xk)Tdk

‖dk‖= lim

k∈K,k→∞‖∇i⋆f(x

k)‖ = ‖∇i⋆f(x)‖ = 0.

Dalla (11) otteniamo quindi ‖∇hf(x)‖ = 0, che contraddice la (9). ✷

15

Page 16: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

5 Decomposizione con sovrapposizione dei blocchi

In tutti gli schemi visti finora i blocchi di variabili sono predefiniti e ogni variabile ap-partiene a uno e un solo blocco. Per maggiore generalita si puo pensare a schemi didecomposizione in cui:

- la decomposizione in blocchi puo variare da una iterazione all’altra;

- ci possono essere stesse variabili che, in iterazioni successive, appartengono a blocchidifferenti, avendo in tal modo sovrapposizione dei blocchi.

Per tenere conto delle possibilita sopra citate, adotteremo un formalismo diverso rispettoa quello finora considerato e definiremo uno schema generale di decomposizione.

In una strategia di decomposizione, ad ogni iterazione k, il vettore delle variabili xk epartizionato in due sottovettori (xk

W k , xkW

k), dove W k ⊂ {1, . . . , n} identifica le variabili

che vengono aggiornate ed e denominato working set, e Wk= {1, . . . , n} \W k identifica

le restanti componenti del vettore delle variabili che non vengono modificate.A partire dalla soluzione corrente xk = (xk

W k , xkW

k), il sottovettore xk+1W k e determinato

calcolando la soluzione del sottoproblema

minxWk

f(xW k , xkW

k) (13)

Il sottovettore xk+1

Wk non viene modificato, cioe xk+1

Wk = xk

Wk , e la soluzione corrente viene

aggiornata ponendo xk+1 = (xk+1W k , x

k+1

Wk ).

Esempio. Si consideri un problema con n = 6 variabili. Sia all’iterazione k

W k = {2, 5} Wk= {1, 3, 4, 6}.

Il sottoproblema (13) e nel caso specifico

minx2,x5f(xk1, x2, x

k3, x

k4, x5, x

k6) ✷

Passiamo ora a definire in modo formale uno schema generale di decomposizione.

16

Page 17: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Metodo generale di decomposizione (DEC).

Data. Punto iniziale x0 ∈ Rn.

Inizializzazione. Poni k = 0.

While ( il criterio d’arresto non e soddisfatto)

1. seleziona il working set W k;

2. Determina una soluzione x⋆W k del problema (21);

3. poni xk+1i =

x⋆i se i ∈ W k

xki altrimenti;

4. poni k = k + 1.

end while

Le proprieta di convergenza dello schema presentato dipendono dalla regola di selezionedel working set. Possiamo in particolare fornire delle regole che danno luogo a estensionidegli algoritmi di Gauss-Seidel e di Gauss-Southwell precedentemente analizzati.

La prima regola richiede essenzialmente che entro un numero massimo di iterazionisuccessive ogni variabile xj, con j ∈ {1, . . . , n}, sia una delle variabili del sottoproblema(13). In modo formale definiamo la regola nel modo seguente.

Regola di selezione WS1. Esiste un intero M > 0 tale che, per ogni k ≥ 0 e per ognij ∈ {1, . . . , n}, esiste un indice j(k), con 0 ≤ j(k) ≤M , tale che

j ∈ W k+j(k).

E immediato verificare che la regola WS1 definisce, come caso particolare, l’Algoritmo diGauss-Seidel. Ai fini della convegenza occorre garantire che ‖xk+1−xk‖ → 0 per k → ∞.Questo puo essere assicurato, ad esempio, sotto ipotesi di stretta convessita per com-ponenti della funzione obiettivo (oppure introducendo delle modifiche di tipo “proximalpoint”).

Proposizione 5 Sia f : Rn → R continuamente differenziabile su Rn e assumiamo chesia strettamente convessa rispetto a un qualsiasi sottoinsieme di componenti di x quandole altre componenti sono fissate. Supponiamo che l’insieme di livello L0 sia compatto.Sia {xk} la successione generata utilizzando il metodo DEC con regola di selezione delworking set WS1. Allora ogni punto di accumulazione di {xk} e punto stazionario di f .

17

Page 18: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

La seconda regola di selezione del working set impone che ad ogni iterazione k sia inseritonel working set l’indice corrispondente alla variabile che viola maggiormente le condizionidi ottimalita, ossia l’indice cui corrisponde la componente del gradiente in valore assolutopiu grande.

Regola di selezione WS2. Per ogni k ≥ 0, denotato con i(k) ∈ {1, . . . , n} l’indice taleche

|∇i(k)f(xk)| ≥ |∇jf(x

k)| j = 1, . . . , n,

deve risultarei(k) ∈ W k.

Si puo facilmente verificare che la regola WS2 definisce, come caso particolare, l’Algoritmodi Gauss-Southwell. La convergenza puo essere garantita anche senza ipotesi di convessitadella funzione obiettivo.

Proposizione 6 Sia f : Rn → R continuamente differenziabile su Rn e supponiamo chel’insieme di livello L0 sia compatto. Sia {xk} la successione generata utilizzando il metodoDEC con regola di selezione del working set WS2. Allora ogni punto di accumulazione di{xk} e punto stazionario di f .

6 Metodo di Jacobi

In questo paragrafo analizzeremo un metodo di decomposizione di tipo parallelo, in cui ilvettore delle variabili x e partizionato in m blocchi prefissati

x = (x1, . . . , xi, . . . , xm),

dove xi ∈ Rni , per i = 1, . . . , n.Uno schema di decomposizione di tipo parallelo si puo definire supponendo che, a

partire dal punto xk, vengano aggiornati contemporaneamente e indipendentemente peri = 1, . . . ,m, i singoli blocchi, ottenendo i vettori componenti di tentativo uk+1

i , egenerando cosı i punti w(k, i) definiti ponendo

w(k, i) = (xk1, . . . , uk+1i , . . . , xkm), i = 1, . . . ,m.

I punti w(k, i) possono essere determinanti con un qualsiasi algoritmo non vincolato (min-imizzando globalmente rispetto a ciascuna componente). Il punto xk+1 deve essere quindicostruito per mezzo di qualche regola opportuna a partire da tali punti, in modo da garan-tire il soddisfacimento di qualche condizione di convergenza globale. Si puo, ad esempio,scegliere xk+1 coincidente con il punto w(k, i∗) tale che

f(w(k, i∗)) = min1≤i≤m

{f(w(k, i))}.

18

Page 19: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

In particolare, si puo costruire un algoritmo di globalizzazione relativo a una versione nonlineare del metodo di Jacobi.

Metodo modificato di Jacobi

Dati: punto iniziale x0 = (x01, . . . , x0m) ∈ Rn.

For k = 0, 1, . . .

For i = 1, . . . ,m

1. Calcolaui ∈ Arg min

ξ∈Rni

f(xk1, . . . , ξ, . . . , xkm).

2. Poniw(k, i) = (xk1, . . . , ui, . . . , x

km).

End For

Determina i∗ tale che

f(w(k, i∗)) = min1≤i≤m

{f(w(k, i))}.

Poni xk+1 = w(k, i∗).

End For

Possiamo enunciare e dimostrare un risultato di convergenza globale senza richiedereipotesi di convessita della funzione obiettivo.

Proposizione 7 Sia f : Rn → R continuamente differenziabile su Rn e supponiamo chel’insieme di livello L0 sia compatto. Sia {xk} la successione generata utilizzando il metodomodificato di Jacobi. Allora ogni punto di accumulazione di {xk} e punto stazionario dif .

19

Page 20: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

7 Cenni su metodi di decomposizione per problemi

con vincoli di box

Si consideri il problemaminx∈Rn f(x)

l ≤ x ≤ u,(14)

dove f : Rn → R e una funzione continuamente differenziabile, l, u ∈ Rn.Il metodo di Gauss-Seidel a blocchi si estende facilmente al caso di problema del tipo

(14), in cui l’insieme ammissibile e definito come il prodotto cartesiano di insiemi convessie chiusi. Per semplicita di esposizione consideriamo una decomposizione in n blocchi,dove n e il numero di variabili, ossia poniamo

x = (x1, . . . , xi, . . . , xn) ,

con xi ∈ R, per i = 1, . . . , n, la k−esima iterazione del metodo di Gauss-Seidel assume laforma seguente

For i = 1, . . . ,m calcola

xk+1i ∈ Arg min

li≤ξi≤ui

f(xk+11 , . . . , ξi, . . . , x

kn). (15)

End For

I risultati di convergenza del metodo sono analoghi a quelli del caso non vincolato.Alcune differenze emergono nell’estensione del metodo di Gauss-Southwell. Queste

differenze sono dovute al fatto che il metodo di Gauss-Southwell si basa sulle condizioni diottimalita per la selezione della variabile da aggiornare ad ogni iterazione. In particolare,viene selezionata la variabile che viola maggiormente le condizioni di ottimalita.

Si osservi che per il problema (14) possono essere utilizzate in linea di principio duecondizioni generali di ottimalita dell’ottimizzazione convessa, ossia la condizione

∇f(x)T (x− x) ≥ 0 ∀x : l ≤ x ≤ u, (16)

e la condizionex = P [x− s∇f(x)], (17)

dove P e l’operatore di proiezione e s uno scalare > 0. Tuttavia, potrebbe anche essereutilizzata la condizione di ottimalita specifica dei problemi con vincoli di box, ossia lacondizione

∂f(x)

∂xi

≥ 0 se xi = li= 0 se li < xi < ui≤ 0 se xi = ui

(18)

20

Page 21: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

In relazione alla condizione (18), si introduce il gradiente ridotto ∇redf(x) la cui i−esimacomponente e

∇redi f(x) =

min{0,∇if(x)} se xi = li∇if(x) se li < xi < uimax{0,∇if(x)} se xi = ui

da cui segue che x e un punto critico se e solo se

∇redf(x) = 0. (19)

In linea di principio possono qundi essere definite tre versioni differenti del metododi Gauss-Southwell, corrispondenti alle differenti condizioni di ottimalita. Queste con-dizioni di ottimalita sono tra loro equivalenti, tuttavia possono dare luogo a selezionidifferenti di variabili da aggiornare nelle varie iterazioni. In particolare, denotati con xk

il punto corrente, e con i(k) l’indice corrispondente alla variabile che viola maggiormentela condizione di ottimalita, abbiamo tre possibilita:

(i) se si utilizza la condizione (16), si calcola il punto di “Frank-Wolfe”

xk ∈ arg minl≤x≤u

∇f(xk)Tx,

e si seleziona l’indice i(k) come segue

i(k) ∈ arg min1≤i≤n

{∇if(xk)(xki − xki )};

(ii) se si utilizza la condizione (17), si seleziona l’indice i(k) come segue

i(k) ∈ arg max1≤i≤n

{|xki − P [xki −∇if(xk)]|};

(iii) se si utilizza la condizione (19), introdotto il gradiente ridotto ∇redf(xk), si selezional’indice i(k) come segue

i(k) ∈ arg max1≤i≤n

{|∇redi f(xk)|}.

La k−esima iterazione del metodo di Gauss-Southwell assume la forma seguente

Definito l’indice i(k) (con una delle 3 regole (i)-(iii)), calcola

xk+1i(k) ∈ Arg min

li≤ξi≤ui

f(xk+11 , . . . , ξi, . . . , x

km). (20)

21

Page 22: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

8 Il problema di addestramento di Support Vector

Machines

Le Support Vector Machines (SVM) costituiscono una classe di “macchine di apprendi-mento” che traggono origine da concetti riguardanti la teoria statistica dell’apprendimento.Nel caso di insiemi linearmente separabili, l’idea alla base delle SVM e di costruire uniperpiano di separazione (denominato iperpiano ottimo) che massimizzi il margine di sepa-razione dagli elementi delle due classi. Questa tecnica di separazione e motivata da alcunirisultati della teoria statistica dell’apprendimento, in base ai quali, l’errore sui dati di test(cioe l’errore di generalizzazione) di una macchina di apprendimento e limitato superi-ormente dalla somma dell’errore sui dati di training e di un termine che dipende dallaVapnik-Chervonenkis (VC) dimension, che e una misura della capacita di classificazionedella famiglia di funzioni realizzata dalla macchina di apprendimento. Nel caso di in-siemi linearmente separabili, l’iperpiano ottimo definisce una superficie di separazione chefornisce un errore di training nullo e minimizza il secondo termine dipendente dalla VC di-mension. Di conseguenza, le SVM possono presentare buone proprieta di generalizzazionein problemi di classificazione. La tecnica di apprendimento delle SVM si puo estendere alcaso di insiemi non linearmente separabili, e al caso di problemi di approssimazione.

Approfondimenti sulle SVM possono essere trovati nella dispensa ad esse dedicata.Nelle brevi note della dispensa, gli aspetti riguardanti la teoria statistica dell’apprendi-mento non vengono analizzati. Viene invece mostrato che il problema di addestramentodi SVM e riconducibile, mediante la teoria della dualita, ad un problema di program-mazione quadratica convessa con vincoli lineari (l’insieme dei vincoli e costituito da unvincolo lineare e da vincoli di box). Poiche tale problema e denso e, in molte applicazioni,di dimensione elevata, gli algoritmi di addestramento proposti i letteratura si basanosull’impiego di tecniche di decomposizione, che analizzeremo nel seguito.

La formulazione del problema di addestramento (nel caso di classificazione) di unaSVM e la seguente

min f(x) = 12xTQx− eTx

t.c. aTx = 0

0 ≤ x ≤ C,

(21)

dove x ∈ Rn (n e il numero di dati di addestramento), Q e una matrice n× n simmetricae semidefinita positiva, e ∈ Rn e il vettore i cui elementi sono pari a uno, a ∈ {−1, 1}n (ilvettore a contiene le etichette dei dati che individuano la classe di appartenenza) e C e unoscalare positivo. Il generico elemento qij della matrice Q e aiajk(x

i, xj), dove k(x, z) =φ(x)Tφ(z) e la funzione kernel associata all’applicazione φ dallo spazio di ingresso alfeature space.

La matrice Hessiana Q e una matrice densa e la sua memorizzazione diventa proibitiva

22

Page 23: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

per problemi di dimensione elevata, cioe per problemi in cui il numero l di dati di adde-stramento e elevato. Gli algoritmi che prenderemo in considerazione per la soluzione delproblema (21) sono algoritmi di decomposizione, che non richiedono la memorizzazionedella matrice Hessiana Q.

In uno schema generale di decomposizione, ad ogni iterazione k, il vettore delle variabilixk e partizionato in due sottovettori (xkW , x

kW), dove W ⊂ {1, . . . , n} identifica le variabili

del sottoproblema che deve essere risolto ed e denominato working set, eW = {1, . . . , n}\W (per non appesantire la notazione la dipendenza di W e W dal contatore di iterazionik e omessa).

A partire dalla soluzione corrente xk = (xkW , xkW), che e un punto ammissibile, il

sottovettore xk+1W e determinato calcolando la soluzione del sottoproblema

minxW

f(xW , xkW)

aTWxW = −aTWxkW

0 ≤ xW ≤ C.

(22)

Il sottovettore xk+1W

non viene modificato, cioe xk+1W

= xkW, e la soluzione corrente viene

aggiornata ponendo xk+1 = (xk+1W , xk+1

W).

Osservazione. La cardinalita q del working set, cioe la dimensione del sottoproblema,deve essere necessariamente maggiore o uguale a 2, perche altrimenti, per la presenza delvincolo lineare di uguaglianza, si avrebbe xk+1 = xk. Infatti, con q = 1 e W = {i}, se xk

e un punto ammissibile abbiamo

aixki = −aT

WxkW

e affinche anche xk+1 sia ammissibile deve risultare

aixk+1i = −aT

WxkW

e quindi xk+1 = xk. ✷

La regola di selezione del working set e importante per assicurare proprieta di convergenzadella sequenza {xk}.

Riportiamo di seguito uno schema generale di algoritmo di decomposizione.

23

Page 24: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Schema di decomposizione

Dati. Un punto ammissibile x0 (in genere x0 = 0).

Inizializzazione. Poni k = 0.

While ( il criterio d’arresto non e soddisfatto)

1. seleziona il working set W k secondo una regola di Working Set Selection(WSS);

2. poni W = W k e determina una soluzione x∗W del problema (21);

3. poni xk+1i =

x∗i se i ∈ W

xki altrimenti;

4. poni k = k + 1.

end while

Return x∗ = xk

9 Algoritmi di decomposizione di tipo SMO

Gli algoritmi di decomposizione usualmente utilizzati sono quelli in cui il working setha cardinalita pari a 2. Questi algoritmi sono detti di tipo “Sequential Minimal Opti-mization” (SMO), perche effettuano sequenzialmente l’ottimizzazione “minimale”, ossiarispetto a 2 variabili.

Ad ogni iterazione in un algoritmo di tipo SMO occorre risolvere un sottoproblema indue variabili quadratico e convesso:

min q(xi, xj) =1

2

(

xi xj)T

qii qij

qji qjj

(

xixj

)

− xi − xj

t.c. aixi + ajxj = 0

0 ≤ xh ≤ C h = i, j

(23)

E importante osservare che la soluzione di un sottoproblema a due variabili del tipo (23)puo essere ottenuta con una regola molto semplice (verra mostrato in appendice), e ciomotiva l’interesse nella definizione di metodi di decomposizione basati sull’aggiornamento,ad ogni iterazione, di due variabili.

24

Page 25: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Dobbiamo ora analizzare la strategia di selezione ad ogni iterazione k delle due variabilidel sottoproblema 23. La strategia di selezione deve essere tale che, con la soluzione delcorrispondente sottoproblema in due variabili, si ottenga un punto xk+1 in cui il valoredella funzione obiettivo sia strettamente diminuito rispetto a quello nel punto correntexk. Il nuovo punto xk+1 e ottenuto con l’aggiornamento di due sole variabili, indicate conxi e xj, per cui abbiamo

xk+1 =(

xk1, . . . , xk+1i , . . . , xk+1

j , . . . , xkn)

. (24)

Si osservi che:

(i) il nuovo punto xk+1 deve essere ammissibile;

(ii) se xk non e soluzione, si vuole che nel nuovo punto risulti

f(xk+1) < f(xk).

Le osservazioni (i) e (ii) e la (24) portano a porre l’attenzione su direzioni ammissibili(oss. (i)) e di discesa (oss. (ii)) con solo 2 componenti diverse da zero (si veda la (24)).Nel seguito quindi analizzeremo direzioni di questo tipo che sono alla base delle strategiedi decomposizione per il problema considerato.

Si consideri l’insieme ammissibile del problema (21) denotato con F , cioe

F = {x ∈ Rl : aTx = 0, 0 ≤ x ≤ C}.

Per ogni punto ammissibile x, denotiamo gli insiemi degli indici (lower e upper) dei vincolidi box attivi

L(x) = {i : xi = 0}, U(x) = {i : xi = C}.

L’insieme delle direzioni ammissibili in un punto x ∈ F e il seguente cono

D(x) = {d ∈ Rl : aTd = 0, di ≥ 0, ∀ i ∈ L(x), e di ≤ 0, ∀ i ∈ U(x)}.

Infatti, se d e una direzione ammissibile in x ∈ F , allora per t sufficientemente piccolodeve risultare

aT (x+ td) = 0,

da cui segueaTd = 0.

Inoltre,x+ td ≥ 0, x+ td ≤ C,

da cui seguedi ≥ 0 se xi = 0,

edi ≤ 0 se xi = C.

25

Page 26: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Dato un punto x ∈ F , vogliamo definire direzioni ammissibili in x con solo due componentidi e dj diverse da zero. Dovendo risultare

aidi + ajdj = 0,

poniamo

di =1

aidj = −

1

aj.

Inoltre:

- se i ∈ L(x), ossia xi = 0, deve risultare di ≥ 0, ossia deve essere ai > 0;

- se i ∈ U(x), ossia xi = C, deve risultare di ≤ 0, ossia deve essere ai < 0;

- se j ∈ L(x), ossia xj = 0, deve risultare dj ≥ 0, ossia deve essere aj < 0;

- se j ∈ U(x), ossia xj = C, deve risultare djle0, ossia deve essere aj > 0.

Si osservi che se 0 < xi < C, non ci sono vincoli sul segno di di (e quindi sul segno di ai).Analogamente, se 0 < xj < C, non ci sono vincoli sul segno di dj (e quindi sul segno diaj).

Le considerazioni precedenti portano a partizionare gli insiemi L e U nei sottoinsiemiL−, L+, e U−, U+ rispettivamente, dove

L+(x) = {i ∈ L(x) : ai > 0}, L−(x) = {i ∈ L(x) : ai < 0}

U+(x) = {i ∈ U(x) : ai > 0}, U−(x) = {i ∈ U(x) : ai < 0}.

Si noti che se:

- i appartiene a L+ oppure a U−, e

- j appartiene a L− oppure a U+,

allora la corrispondente direzione di,j e ammissibile in x.Al fine di caratterizzare le direzioni ammissibili (a due componenti diverse da zero)

nel punto x, definiamo i seguenti insiemi di indici

R(x) = L+(x) ∪ U−(x) ∪ {i : 0 < xi < C}

S(x) = L−(x) ∪ U+(x) ∪ {i : 0 < xi < C}.(25)

Si osservi che

R(x) ∩ S(x) = {i : 0 < xi < C} R(x) ∪ S(x) = {1, . . . , n}.

I due insiemi di indici R e S consentono di definire tutte e sole le direzioni ammissibili adue componenti diverse da zero, come mostrato nella proposizione successiva.

26

Page 27: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Proposizione 8 Sia x un punto ammissibile e sia (i, j) ∈ {1, . . . , n}, i 6= j, una coppiadi indici. Allora la direzione di,j ∈ Rn tale che

di,jh =

1/ai se h = i−1/aj se h = j0 altrimenti

(i) e una direzione ammissibile nel punto x se e solo se i ∈ R(x) e j ∈ S(x);

(ii) la direzione di,j e una direzione di discesa per f in x se e solo se

(∇f(x))iai

−(∇f(x))j

aj< 0. (26)

Dim. (ia) Assumiamo che di,j sia ammissibile. Mostreremo che necessariamente i ∈ R(x)e j ∈ S(x). Supponiamo per assurdo che i ∈ R(x) e j /∈ S(x), cioe j ∈ L+(x) ∪ U−(x).

Se j ∈ L+(x) allora xj = 0 e aj = 1, per cui dj < 0 e quindi di,j non e una direzioneammissibile, perche risulta

xj + tdj < 0 ∀t > 0.

Analogamente, se j ∈ U−(x) allora xj = C e aj = −1, per cui dj > 0 e quindi di,j e unadirezione ammissibile.

(ib) Assumiamo che i ∈ R(x) e j ∈ S(x). Occorre dimostrare che la direzione di,j e taleche

aTdi,j = 0 e di,jh ≥ 0 ∀h ∈ L(x) e di,jh ≤ 0 ∀h ∈ U(x).

Dalla definizione di di,j segue immediatamente aTd = aidi,ji + ajd

i,jj = 0. Inoltre, abbiamo

i ∈ R(x), e quindi se i ∈ L(x), allora la (25) implica i ∈ L+(x), ossia di = 1/ai > 0.Analogamente, abbiamo j ∈ S(x), e quindi se j ∈ U(x), allora j ∈ U+(x), ossia

dj = −1/aj < 0.Le stesse conclusioni possono essere tratte nel caso in cui i ∈ U(x) e j ∈ L(x).

(ii) Poiche la funzione f e convessa e continuamente differenziabile la condizione

∇f(x)Tdi,j =(∇f(x))i

ai−

(∇f(x))jaj

< 0

e condizione necessaria e sufficiente affinche di,j sia una direzione di discesa per f in x. ✷

Se la coppia di indici (i, j) definisce una direzione di,j ammissibile e di discesa nel puntocorrente xk, allora la minimizzazione rispetto alla coppia di variabili xi e xj produrrauno stretto decremento della funzione obiettivo. Sulla base di questa osservazione e dellaProposizione 8 definiamo lo schema formale di un algoritmo di tipo SMO.

27

Page 28: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Algoritmo SMO

Dati. Il punto iniziale x0 = 0 e il gradiente ∇f(x0) = e.

Inizializzazione. Poni k = 0.

While ( il criterio d’arresto non e soddisfatto)

1. seleziona i ∈ R(xk), j ∈ S(xk), tali che

∇f(xk)Tdi,j < 0,

e poni W = {i, j};

2. determina una soluzione x∗ =(

x⋆i x⋆j)T

del problema (23);

3. poni xk+1h =

x∗i per h = i

x∗j per h = j

xkk altrimenti;

4. poni ∇f(xk+1) = ∇f(xk) + (xk+1i − xki )Qi + (xk+1

j − xkj )Qj;

5. poni k = k + 1.

end while

Return x∗ = xk

Si noti che lo schema descritto genera una sequenza {xk} tale che

f(xk+1) < f(xk). (27)

Inoltre, non richiede la memorizzazione di matrici nella dimensione del problema, e questae la motivazione che giustifica l’impiego di tecniche di decomposizione. Lo schema richiedela memorizzazione di un vettore di dimensione n (il gradiente ∇f(xk)) e l’estrazione didue colonne, Qi e Qj, della matrice Q. La regola di aggiornamento del gradiente derivadal fatto che la funzione obiettivo e quadratica per cui risulta

∇f(xk+1) = Qxk +Q(

xk+1 − xk)

− e = ∇f(xk) +Q(

xk+1 − xk)

.

La scelta del punto inziale x0 = 0 deriva dal fatto che questo punto, oltre ad essereammissibile, e tale che il calcolo del gradiente ∇f(x0) non richiede alcun elemento della

28

Page 29: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

matrice Q, essendo∇f(0) = −e.

Osserviamo che la condizione (27) non e sufficiente per garantire la convergenza delloschema di algoritmo SMO. Per assicurare proprieta di convergenza occorre introdurre ul-teriori regole di selezione del working set. Ad esempio, regole di tipo “Gauss-Southwell”basate sulla violazione delle condizioni di ottimalita, come descritto nel paragrafo succes-sivo.

9.1 L’Algoritmo SVMlight

L’Algoritmo SVMlight e l’algoritmo di decomposizione di tipo SMO che presenta pro-prieta di convergenza e che usualmente viene utilizzato per la soluzione di problemi diaddestramento di SVM di dimensione elevata

In corrispondenza di un punto ammissibile x, abbiamo gia introdotto i due insiemi

R(x) = L+(x) ∪ U−(x) ∪ {i : 0 < xi < C}

S(x) = L−(x) ∪ U+(x) ∪ {i : 0 < xi < C}.(28)

Gli insiemi di indici R e S consentono di definire condizioni di ottimalita per il problema(21) definite nella proposizione seguente, la cui dimostrazione completa e rigorosa e ripor-tata in Appendice B2. Qui ci limitiamo a riportare l’idea della dimostrazione che si basasulle condizioni di ottimalita di Karush-Kuhn-Tucker (KKT).

Proposizione 9 Un punto ammissibile x∗ tale che R(x⋆) e S(x⋆) sono entrambi nonvuoti e soluzione del problema (21) se e solo se

maxi∈R(x⋆)

{

−(∇f(x⋆))i

ai

}

≤ minj∈S(x⋆)

{

−(∇f(x⋆))j

aj

}

. (29)

Sketch di dimostrazione.

Il problema considerato ha funzione obiettivo convessa e vincoli lineari, per cui le con-dizioni KKT sono necessarie e sufficienti. Si consideri la funzione Lagrangiana

L(x, λ, ξ, ξ) = f(x) + λaTx− ξTa+ ξT (x− C).

Le condizioni KKT sono le seguenti

∇if(x⋆) + λ⋆ai − ξ⋆i + ξ⋆i = 0

ξ⋆i x⋆i = 0

ξ⋆i (x⋆i − C) = 0

ξ⋆i , ξ⋆i ≥ 0.

29

Page 30: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Dalle precedenti condizioni segue immediatamente

(∇f(x∗))i + λ∗ai

≥ 0 if i ∈ L(x∗)≤ 0 if i ∈ U(x∗)= 0 if i /∈ L(x∗) ∪ U(x∗),

da cui otteniamo, tenendo conto del segno di ai,

(∇f(x∗))iai

+ λ∗

≥ 0 if i ∈ L+(x∗)≥ 0 if i ∈ U−(x∗)≤ 0 if i ∈ L−(x⋆)≤ 0 if i ∈ U+(x∗)= 0 if i /∈ L(x∗) ∪ U(x∗),

Possiamo quindi scrivere

−(∇f(x∗))i

ai≤ λ⋆ ∀i ∈ L+(x⋆) ∪ U−(x⋆)

λ⋆ ≤ −(∇f(x∗))i

ai∀i ∈ L−(x⋆) ∪ U+(x⋆)

λ⋆ =(∇f(x∗))i

ai∀i /∈ L(x⋆) ∪ U(x⋆).

Dalle precedenti relazioni e dalle definizioni degli insiemi di indici R e S segue la condizione(29). ✷

Descriviamo di seguito la versione dell’Algoritmo SVMlight in cui la dimensione q del work-ing set e pari a 2. Come anticipato, questo algoritmo utilizza una regola di selezione delworking set di tipo “Gauss-Southwell”, ossia una regola basata sulla “massima violazione”delle condizioni di ottimalita della Proposizione 9.

Preliminarmente introduciamo, in corrispondenza di un generico punto ammissibile x,i due insiemi di indici

I(x) =

{

i : i = argmaxh∈R(x)

−(∇f(x))h

ah

}

, J(x) =

{

j : j = argminh∈S(x)

−(∇f(x))h

ah

}

. (30)

Osserviamo che:

• gli insiemi di indici I(x) e J(x) sono ben definiti se entrambi gli insiemi R(x) e S(x)sono non vuoti;

• se uno dei due insiemi R(x), S(x) e vuoto allora dalla Proposizione 15 (si vedal’Appendice B2) segue che x e soluzione ottima;

30

Page 31: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

• se x non e soluzione ottima allora dalla Proposizione 9 segue che

maxh∈R(x)

{

−(∇f(x))h

ah

}

>

{

minh∈S(x)

−(∇f(x))h

ah

}

;

• se x non e soluzione allora

- una direzione di,j ∈ Rn, con i ∈ I(x) e j ∈ J(x), e una direzione ammissibilee di discesa per f in x (segue dalla proposizione 8); infatti, si ha i ∈ R(x),j ∈ S(x),

−(∇f(x))i

ai+

(∇f(x))jaj

> 0;

- tra tutte le direzioni ammissibili e di discesa aventi due componenti diverse dazero e uguali a +1 e/o -1 e quella (eventualmente non l’unica) con derivatadirezionale minore. Infatti, per ogni s ∈ R(x) e t ∈ S(x) abbiamo

−(∇f(x))i

ai≥ −

(∇f(x))sas

−(∇f(x))j

aj≤ −

(∇f(x))tat

,

da cui segue∇f(x)Tdi,j ≤ ∇f(x)Tds,t.

Quindi la coppia di indici (i, j) con i ∈ I(x) e j ∈ J(x) individua, tra tuttele direzioni ammissibili e di discesa aventi due componenti diverse da zero euguali a +1 e/o -1, quella di “massima discesa”.

• la coppia di indici (i, j) con i ∈ I(x) e j ∈ J(x) definisce la coppia di variabili cheviola maggiormente le condizioni di ottimalita, ed e quindi denominata ”maximumviolating pair“.

Sulla base di queste osservazioni possiamo introdurre l’Algoritmo SVMlight.

31

Page 32: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Algoritmo SVMlight

Dati. Il punto iniziale x0 = 0 e il gradiente ∇f(x0) = e.

Inizializzazione. Poni k = 0.

While ( il criterio d’arresto non e soddisfatto)

1. seleziona i ∈ I(xk), j ∈ J(xk), e poni W = {i, j};

2. determina una soluzione x∗ =(

x⋆i x⋆j)T

del problema (23);

3. poni xk+1h =

x∗i per h = i

x∗j per h = j

xkk altrimenti;

4. poni ∇f(xk+1) = ∇f(xk) + (xk+1i − xki )Qi + (xk+1

j − xkj )Qj;

5. poni k = k + 1.

end while

Return x∗ = xk

Si osservi che l’algoritmo puo essere definito di tipo ”Gauss-Seidel“, in quanto la regoladi selezione del working set individua la coppia di variabili che viola maggiormente lecondizioni di ottimalita della Proposizione 9.

Per quanto riguarda le proprieta di convergenza dell’algoritmo, vale il seguente risul-tato la cui dimostrazione e molto tecnica ed e stata omessa.

Proposizione 10 Si assuma che la matrice Q sia simmetrica e semidefinita positiva esia {xk} la sequenza generata dall’ Algoritmo SVMlight. Ogni punto limite della sequenza{xk} e soluzione del Problema (21).

Criterio d’arresto

Si introducano le funzioni m(x), M(x) : F → R:

m(x) =

maxh∈R(x)

−(∇f(x))h

ahif R(x) 6= ∅

−∞ altrimenti

32

Page 33: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

M(x) =

minh∈S(x)

−(∇f(x))h

ahif S(x) 6= ∅

+∞ altrimenti

dove R(x) e S(x) sono gli insiemi di indici precedentemente definiti. Dalla definizione dim(x) e M(x), e dalla Proposizione 9, segue che x e soluzione del problema (21) se e solose m(x) ≤M(x).

Si consideri una sequenza di punti ammissibili {xk} convergente ad una soluzione x.Ad ogni iterazione k, se xk non e soluzione, segue (nuovamente dalla Proposizione 9) chem(xk) > M(xk).

Uno dei criteri proposti em(xk) ≤M(xk) + ǫ, (31)

con ǫ > 0.Si osservi che le funzioni m(x) e M(x) non sono continue. Infatti, anche assumendo

xk → x per k → ∞, puo accadere che R(xk) 6= R(x) oppure S(xk) 6= S(x) per ksufficientemente grande, di conseguenza almeno uno dei limiti

limk→∞

m(xk) = m(x)

limk→∞

M(xk) =M(x)

potrebbe non essere verificato.In generale puo accadere che un punto limite x sia soluzione del problema (21), ma il

criterio (31) non e mai soddisfatto.Sotto opportune ipotesi sulla matrice Q e stato dimostrato che l’Algoritmo SVMlight

genera una sequenza {xk} tale che m(xk)−M(xk) → 0 per k → ∞. Di conseguenza, perqualsiasi valore di ǫ, l’Algoritmo SVMlight soddisfa il criterio d’arresto (31) in un numerofinito di iterazioni.

33

Page 34: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

10 Appendice A1: Ricerca unidimensionale

10.1 Generalita

I metodi di ricerca unidimensionale hanno essenzialmente l’obiettivo di globalizzare inmodo costruttivo gli algoritmi di ottimizzazione, ossia di garantire che venga raggiuntoasintoticamente un punto stazionario, a partire da un punto iniziale scelto arbitrariamente.

Nel seguito ci riferiamo al caso in cui, per ogni punto assegnato xk ∈ Rn, si supponenota una direzione dk ∈ Rn e la ricerca unidimensionale consiste nella determinazione delpasso αk ∈ R lungo dk e quindi del punto xk+αkdk. Si parla in tal caso di ricerca di linea(line search), ossia di ricerca lungo la retta passante per xk e parallela a dk. Supponiamoquindi, salvo esplicito avviso, che la successione {xk} generata dall’algoritmo preso inconsiderazione sia definita assumendo

xk+1 = xk + αkdk, k = 0, 1, . . . . (32)

Il passo αk viene determinato con riferimento alla funzione di una sola variabile reale,φ : R → R definita (per un k fissato) da

φ(α) = f(xk + αdk),

che caratterizza l’andamento di f lungo la direzione di ricerca dk. Si ha, ovviamente, inparticolare, φ(0) = f(xk).

Essendo f differenziabile, esiste la derivata di φ(α) rispetto ad α, indicata con φ(α).Utilizzando le regole di derivazione delle funzioni composte di piu variabili, si verificafacilmente che

φ(α) = ∇f(xk + αdk)Tdk, (33)

e coincide quindi con la derivata direzionale di f lungo la direzione dk nel punto xk+αdk.In particolare abbiamo

φ(0) = ∇f(xk)Tdk,

e quindi φ(0) e la derivata direzionale di f in xk lungo dk. Se f e due volte differenziabileesiste anche la derivata seconda φ(α) di φ rispetto ad α e si ha

φ(α) = dTk∇2f(xk + αdk)dk. (34)

10.2 Ricerca di linea esatta

Uno dei primi criteri proposti per la determinazione del passo consiste nello scegliere unvalore di α che minimizzi la funzione obiettivo lungo la direzione di ricerca, ossia un valoreαk per cui si abbia:

f(xk + αkdk) ≤ f(xk + αdk), per ogni α ∈ R. (35)

Se si assume che xk ∈ L0 e che L0 sia compatto, allora, per ogni k fissato, esiste un valoredi α che risolve il problema (35). Essendo f differenziabile, dovra risultare

φ(αk) = ∇f(xk + αkdk)Tdk = 0. (36)

34

Page 35: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

α⋆

k

φ(α) = f(xk + αdk)

α

φ′

(α⋆

k) = 0

Figure 3: Passo ottimo.

Si parla, in tal caso, di ricerca esatta1 e il punto αk che risolve il problema (35) vienedenominato passo ottimo. Il passo ottimo e indicato in Fig. 1, con riferimento al caso diuna funzione strettamente convessa.

Dal punto di vista geometrico, la (36) esprime il fatto che se αk minimizza φ(α), ilgradiente di f nel punto xk + αkdk deve essere ortogonale alla direzione di ricerca dk. Sef e convessa la (36) assicura che αk sia un punto di minimo globale di f lungo dk.

Un’espressione analitica del passo ottimo si puo ottenere solo in casi molto particolari.Ad esempio, se f e quadratica, ossia e del tipo

f(x) =1

2xTQx+ cTx,

con Q definita positiva, dalla (36), esplicitando l’espressione di ∇f(xk+αkdk) e risolvendorispetto ad αk, si ottiene

αk = −(Qxk + c)Tdk

dTkQdk= −

∇f(xk)Tdk

dTkQdk. (37)

Nel caso generale, la ricerca esatta non da luogo, anche quando f e convessa, a un al-goritmo realizzabile basato sull’iterazione (32). Infatti, la determinazione di un punto diminimo o di un punto stazionario di φ potrebbe richiedere a sua volta un metodo iterativoconvergente asintoticamente, per cui il metodo definito dall’iterazione (32), che prevedeuna sequenza di ricerche unidimensionali, potrebbe non essere ben definito.

1Nella letteratura sull’argomento si parla talvolta di “ricerca esatta” con riferimento al calcolo di unpunto αk che soddisfi la (36), ossia a un punto stazionario di φ.

35

Page 36: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

11 Appendice A2: Metodo di Armijo

11.1 Definizione del metodo e convergenza

Il metodo di Armijo e uno dei primi metodi di tipo inesatto proposti per il caso in cui,per ogni xk con ∇f(xk) 6= 0, si suppone disponibile una direzione di discesa dk tale che

∇f(xk)Tdk < 0.

E una tipica procedura di backtracking, in cui si effettuano successive riduzioni del passo,a partire da un valore iniziale assegnato ∆k > 0, fino a a determinare un valore αk chesoddisfi una condizione di sufficiente riduzione della funzione obiettivo, espressa da

f(xk + αkdk) ≤ f(xk) + γαk∇f(xk)Tdk, (38)

dove γ ∈ (0, 1). Ricordando la definizione di φ, la (38) si puo porre equivalentementenella forma

φ(αk) ≤ φ(0) + γφ(0)αk.

Dal punto di vista geometrico, la condizione precedente impone che φ(αk) sia al di sottodella retta passante per (0, φ(0)) e avente pendenza γφ(0), definita da

y = φ(0) + γφ(0)α.

Poiche φ(0) < 0, tale retta ha pendenza negativa, ed essendo γ < 1, risulta meno inclinata(in genere molto meno inclinata) rispetto alla tangente nell’origine.

Il criterio di sufficiente riduzione utilizzato nel metodo di Armijo e illustrato nella Fig.4, dove A1 ∪ A2 e l’insieme dei valori di α che soddisfano la (38).

Una condizione di sufficiente spostamento viene imposta, nel metodo di Armijo, richiedendoinnanzitutto che il passo iniziale sia “sufficientemente grande” (nel senso che sara chiar-ito piu precismente nel seguito) e assicurando poi che le eventuali riduzioni dei passi ditentativo siano effettuate utilizzando un coefficiente moltiplicativo δ ∈ (0, 1) costante (oche almeno rimane all’interno di un intervallo costante), al variare di k e delle eventualiiterazioni interne.

Supponendo, per semplicita, che il coefficiente di riduzione sia costante, il passo de-terminato dal metodo di Armijo si puo esprimere nella forma:

αk = max{

α : α = ∆kδj, φ(α) ≤ φ(0) + γφ(0)α, j = 0, 1, . . .

}

.

Perche αk sia ben definito occorre ovviamente mostrare, come sara fatto fra breve, cheesiste un valore finito di j per cui risulta soddisfatta la condizione di sufficiente riduzione.

Possiamo schematizzare il metodo di Armijo con il modello concettuale seguente, incui l’indice j e un contatore delle iterazioni interne.

36

Page 37: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

φ(α)

αA1 A2

Figure 4: Criterio di sufficiente riduzione nel metodo di Armijo.

Metodo di Armijo (modello concettuale)

Dati: ∆k > 0, γ ∈ (0, 1), δ ∈ (0, 1).

Poni α = ∆k e j = 0.

While f(xk + αdk) > f(xk) + γα∇f(xk)Tdk

assumi α = δα e poni j = j + 1.

End While

Poni αk = α ed esci.

Si puo dimostrare che il metodo e ben definito, ossia che termina in un numero finito dipassi assumendo che la direzione dk sia tale che ∇f(xk)

Tdk < 0.Le proprieta di convergenza del metodo di Armijo sono riportate nella proposizione

successiva, in cui imponiamo la condizione che il passo iniziale ∆k sia “sufficientementegrande”.

37

Page 38: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

∆kααk = δ∆k

φ(α)

φ(0) = f(xk)

φ′

(0)

Figure 5: Metodo di Armijo.

Proposizione 11 (Convergenza del metodo di Armijo)

Sia f : Rn → R continuamente differenziabile su Rn. Supponiamo che l’insieme dilivello L0 sia compatto e che valga la condizione ∇f(xk)

Tdk < 0 per ogni k. Supponi-amo inoltre che il passo iniziale ∆k ∈ R+ sia tale da soddisfare la condizione:

∆k ≥1

‖dk‖σ

∣∇f(xk)Tdk

‖dk‖

, (39)

dove σ : R+ → R+ e una funzione di forzamento. Allora il metodo di Armijo deter-mina in un numero finito di passi un valore αk > 0 tale che

1 f(xk + αkdk) < f(xk);

2 se xk+1 e tale chef(xk+1) ≤ f(xk + αkdk),

allora

limk→∞

∇f(xk)Tdk

‖dk‖= 0.

38

Page 39: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

12 Appendice B:Support Vector Machines

12.1 Appendice B1: Calcolo della soluzione analitica per prob-lemi a due variabili

Si consideri il problema

min f(x) = 12xTQx− eTx

t.c. a1x1 + a2x2 = 0

0 ≤ xi ≤ C i = 1, 2,

(40)

dove Q e una matrice 2× 2 simmetrica semidefinita positiva, a1, a2 ∈ {−1, 1}.L’insieme delle direzioni ammissibili in un punto ammissibile x e il seguente cono

D(x) = {d ∈ Rl : aTd = 0, di ≥ 0, ∀ i ∈ L(x), e di ≤ 0, ∀ i ∈ U(x)},

doveL(x) = {i : xi = 0} U(x) = {i : xi = 0}.

Dato un punto ammissibile x e una direzione d ∈ D(x), indichiamo con β il massimopasso ammissibile lungo d a partire da x, ossia

- se d1 > 0 e d2 > 0, β = min{C − x1, C − x2};

- se d1 < 0 e d2 < 0, β = min{x1, x2};

- se d1 > 0 e d2 < 0, β = min{C − x1, x2};

- se d1 < 0 e d2 > 0, β = min{x1, C − x2}.

Sia d+ =

(

1/a1−1/a2

)

. Riportiamo di seguito uno schema di calcolo di una soluzione

ottima del problema (40).

39

Page 40: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Procedura di calcolo della soluzione analitica (PSA)

1. Se ∇f(x)Td+ = 0 poni x⋆ = x e stop;

2. Se ∇f(x)Td+ < 0 poni d⋆ = d+;

3. Se ∇f(x)Td+ > 0 poni d⋆ = −d+;

4. Calcola il massimo passo ammissibile β lungo d⋆:

4a. se β = 0 poni x⋆ = x e stop;

4b. se (d⋆)TQd⋆ = 0 poni β⋆ = β, altrimenti

calcola βnv =−∇f(x)Td⋆

(d⋆)TQd⋆e poni β⋆ = min{β, βnv};

4c. poni x⋆ = x+ β⋆d⋆ e stop.

Proposizione 12 La procedura PSA fornisce un vettore x⋆ che e soluzione ottima delproblema (40).

Dim. Osserviamo preliminarmente che

(i) lo spazio lineare Γ = {d ∈ R2 : aTd = 0} ha dimensione 1;

(ii) il vettore d+ =

(

1/a1−1/a2

)

appartiene a Γ e quindi e una base di Γ;

(iii) per ogni d ∈ D(x) esiste un t > 0 tale che

d = td+ e d+ ∈ D(x), oppure d = td− e d− ∈ D(x)

(infatti, d ∈ D(x) implica aTd = 0, cioe d ∈ Γ, e quindi d = ud+, con u 6= 0, essendod+ una base di Γ);

(iv) se entrambi i vettori d+ e d− non appartengono a D(x) allora D(x) e vuoto e x euna soluzione di (40).

Si noti che la Procedura PSA termina al passo 1, oppure ai passi 4a e 4c. Analizziamo ivari casi di terminazione della procedura.

(1.) In questo caso, dalla (iii) segue ∇f(x)Td = 0 per ogni d ∈ D(x) e quindi dallaconvessita di f segue che x e soluzione di (40).

Supponiamo quindi che una delle seguenti condizioni sia soddisfatta

(I) ∇f(x)Td+ < 0;

(II) ∇f(x)Td− < 0.

40

Page 41: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Si ponga d⋆ = d+ se vale la (I) e d⋆ = d− altrimenti.(4a.) In questo caso, cioe quando il massimo passo ammissibile e nullo, abbiamo che d⋆

non e una direzione ammissibile. Quindi, dalla (iii), per ogni d ∈ D(x) abbiamo d = −td⋆

con t > 0 e di conseguenza ∇f(x)Td > 0, per cui dalla convessita della funzione obiettivootteniamo che x e soluzione di (40).

Supponiamo quindi β > 0. Si noti che dalla definizione di β segue che la direzioned⋆ non e una direzione ammissibile nel punto x + βd⋆; viceversa, la direzione −d⋆ e unadirezione ammissibile nel punto x+ βd⋆ (infatti, dalla convessita dell’insieme ammissibilesegue che la direzione (x− x⋆) e ammissibile in x⋆), inoltre −d⋆ = 1

β(x− x⋆)).

Si consideri la funzione di una variabile

φ(β) = f(x+ βd⋆) = f(x) + β∇f(x)Td⋆ +1

2β2(d⋆)TQd⋆.

Si puo facilmente verificare che

- se (d⋆)TQd⋆ = 0 allora, posto β⋆ = β, risulta φ′

(β) < 0 per ogni β ≤ β⋆;

- se (d⋆)TQd⋆ > 0 allora, posto

βnv =−∇f(x)Td⋆

(d⋆)TQd⋆,

e β⋆ = min{

β, βnv}

, abbiamo φ′

(βnv) = 0, φ′

(β) < 0 per ogni β < β⋆.

Osserviamo che β⋆ e l’unica soluzione del problema unidimensionale

minφ(β)0 ≤ β ≤ β.

Mostreremo ora che il punto x⋆ = x + β⋆d⋆ e soluzione del problema (40). Il punto x⋆ eammissibile e abbiamo due possibilita: β⋆ = βnv oppure β⋆ < βnv. In particolare

- se β∗ = βnv allora∇f(x⋆)Td⋆ = φ

(βnv) = 0

e quindi la (iii) implica

∇f(x⋆)Td = 0 per ogni d ∈ D(x⋆),

per cui, dalla convessita della funzione obiettivo si ottiene che x⋆ e soluzione delproblema (40);

- se β∗ = β < βnv allora∇f(x⋆)Td⋆ = φ

′(

β)

< 0;

tenendo conto che d⋆ /∈ D(x⋆) e−d⋆ ∈ D(x⋆), dalla (iii) segue che per ogni d ∈ D(x⋆)abbiamo d = −td⋆ con t > 0 e quindi

∇f(x⋆)Td > 0 per ogni d ∈ D(x⋆);

la precedente relazione e la convessita della funzione obiettivo implicano che x⋆ esoluzione del problema (40). ✷

41

Page 42: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

12.2 Appendice B2: Condizioni di ottimalita

Verranno definite le condizioni di ottimalita per il problema (21) in una forma che eutilizzata nello schema di decomposizione noto come Algoritmo SVMlight, che costituisceuno dei metodi maggiormente impiegati.

Indichiamo con F l’insieme ammissibile del problema (21), cioe

F = {x ∈ Rn : aTx = 0, 0 ≤ x ≤ C}.

Assegnato un punto x ∈ F , abbiamo che un vettore d 6= 0 e una direzione ammissibile see solo se

- aTd = 0;

- se xi = 0 allora di ≥ 0;

- se xi = C allora di ≤ 0.

Quindi, l’insieme delle direzioni ammissibili in un punto x ∈ F e il seguente cono

D(x) = {d ∈ Rn : aTd = 0, di ≥ 0, ∀ i ∈ L(x), e di ≤ 0, ∀ i ∈ U(x)}.

Dato un vettore x ∈ Rn e un insieme di indici W ⊆ {1, . . . , n}, abbiamo gia introdotto lanotazione xW ∈ R|W | per indicare il sottovettore di x costituito dalle componenti xi coni ∈ W .

Poiche f e convessa e i vincoli sono lineari, un punto ammissibile x∗ e una soluzione delproblema (21) se e solo se le condizioni KKT sono soddisfatte. Si introduca la funzioneLagrangiana

L(x, λ, ξ, ξ) =1

2xTQx− eTx− λaTx− ξTx+ ξT (x− C),

dove x ∈ Rn, λ ∈ R, ξ, ξ ∈ Rn. Per ogni punto ammissibile x, denotiamo gli insiemi degliindici (lower e upper) dei vincoli di box attivi

L(x) = {i : xi = 0}, U(x) = {i : xi = C}.

Per maggiore generalita, nelle seguenti proposizioni assumeremo che la funzione obiettivof sia una funzione convessa continuamente differenziabile.

Proposizione 13 Un punto ammissibile x⋆ e una soluzione del problema (21) se e solose esiste uno scalare λ∗ tale che

(∇f(x∗))i + λ∗ai

≥ 0 if i ∈ L(x∗)≤ 0 if i ∈ U(x∗)= 0 if i /∈ L(x∗) ∪ U(x∗).

(41)

42

Page 43: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Dim. Poiche la funzione obiettivo e convessa e i vincoli sono lineari, un punto ammissibilex⋆ e una soluzione del problema (21) se e solo se esistono moltiplicatori di Lagrangeλ⋆ ∈ R, ξ⋆, ξ⋆ ∈ Rl tali che

∇f(x⋆) + λ⋆a− ξ⋆ + ξ⋆ = 0 (42)

(ξ⋆)Tx⋆ = 0 (43)

(ξ⋆)T (x⋆ − C) = 0 (44)

ξ⋆, ξ⋆ ≥ 0. (45)

Dimostreremo che le condizioni (42)-(45) sono soddisfatte se e solo se vale la (41).(a) Supponiamo che x⋆ sia ammissibile e che siano verificate le (42)-(45).Sia x⋆i = 0, e quindi i ∈ L(x⋆). La condizione di complementarita (44) implica ξ⋆i = 0,per cui dalla (42) e dalla (45) si ottiene

(∇f(x∗))i + λ∗ai = xi⋆i ≥ 0.

Analogamente, sia x⋆i = C, e quindi i ∈ U(x⋆). La condizione di complementarita (43)implica ξ⋆i = 0, per cui dalla (42) e dalla (45) si ottiene

(∇f(x∗))i + λ∗ai = −ξ⋆i ≤ 0.

Infine, sia 0 < x⋆i < C, e quindi i /∈ L(x∗)∪U(x∗). Le condizioni di complementarita (43)e (44) implicano ξ⋆i , ξ

⋆i = 0, per cui dalla (42) si ottiene

(∇f(x∗))i + λ∗ai = 0.

(b) Supponiamo che x⋆ sia ammissibile e che la (41) sia verificata.Per i = 1, . . . , n:

- se x⋆i = 0 si ponga ξ⋆i = 0 e

ξ⋆i = (∇f(x∗))i + λ∗ai;

- se x⋆i = C si ponga ξ⋆i = 0 e

ξ⋆i = − [(∇f(x∗))i + λ∗ai] ;

- se 0 < x⋆i < C si ponga ξ⋆i = 0 e ξ⋆i = 0.

Si puo verificare facilmente che le (42)-(45) risultano soddisfatte. ✷

Le condizioni KKT possono essere scritte in un’altra forma. Partizioniamo gli insiemi Le U nei sottoinsiemi L−, L+, e U−, U+ rispettivamente, dove

L−(x) = {i ∈ L(x) : ai < 0}, L+(x) = {i ∈ L(x) : ai > 0}

U−(x) = {i ∈ U(x) : ai < 0}, U+(x) = {i ∈ U(x) : ai > 0}.

Dalla proposizione 13 si ottiene immediatamente il seguente risultato.

43

Page 44: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Proposizione 14 Un punto x∗ ∈ F e soluzione del problema (21) se e solo se esiste unoscalare λ∗ tale che

λ∗ ≥ −(∇f(x∗))i

ai∀ i ∈ L+(α∗) ∪ U−(x∗)

λ∗ ≤ −(∇f(x∗))i

ai∀ i ∈ L−(x∗) ∪ U+(x∗)

λ∗ = −(∇f(x∗))i

ai∀ i /∈ L(x∗) ∪ U(x∗).

(46)

In corrispondenza di un punto ammissibile x, definiamo i seguenti insiemi

R(x) = L+(x) ∪ U−(x) ∪ {i : 0 < xi < C}

S(x) = L−(x) ∪ U+(x) ∪ {i : 0 < xi < C}.

Si osservi che

R(x) ∩ S(x) = {i : 0 < xi < C} R(x) ∪ S(x) = {1, . . . , l}.

Enunciamo una condizione sufficiente di ottimalita.

Proposizione 15 Sia x∗ un punto ammissibile e si assuma che uno dei due insiemiR(x⋆), S(x⋆) sia vuoto. Allora x∗ e soluzione del problema (21).

Dim. Supponiamo S(x⋆) = ∅ (il caso R(x⋆) = ∅ e perfettamente analogo). Si ponga

λ⋆ = maxi∈R(x⋆)

{

−(∇f(x⋆))i

ai

}

= maxi∈L+(x∗)∪U−(x∗)

{

−(∇f(x⋆))i

ai

}

.

Le relazioni della (46) risultano verificate e quindi x⋆ e soluzione del problema (21). ✷

Proposizione 16 Un punto ammissibile x∗ tale che R(x⋆) e S(x⋆) sono entrambi nonvuoti e soluzione del problema (21) se e solo se

maxi∈R(x⋆)

{

−(∇f(x⋆))i

ai

}

≤ minj∈S(x⋆)

{

−(∇f(x⋆))j

aj

}

. (47)

Dim. (a) Assumiamo che il punto ammissibile x∗ sia soluzione.La proposizione 14 implica l’esistenza di un moltiplicatore λ∗ tale che la coppia (x∗, λ∗)soddisfa le condizioni (46) che possono essere scritte come segue

maxi∈L+(x∗)∪U−(x∗)

{

−(∇f(x∗))i

ai

}

≤ λ∗ ≤ mini∈L−(x∗)∪U+(x∗)

{

−(∇f(x∗))i

ai

}

λ∗ = −(∇f(x∗))i

ai∀ i /∈ L(x∗) ∪ U(x∗).

44

Page 45: Metodi di decomposizione€¦ · delle Support Vector Machines formulato come problema di ottimizzazione vincolata. 1 Generalit`a Consideriamo il problema di minimizzare una funzione

Dalla definizione degli insiemi R(x∗) e S(x∗) si ottiene

maxi∈R(x∗)

{

−(∇f(x∗))i

ai

}

≤ minj∈S(x∗)

{

−(∇f(x∗))j

aj

}

,

e quindi la (47) e verificata.(b) Assumiamo che valga la (47).Possiamo definire un moltiplicatore λ∗ tale che

maxi∈R(x∗)

{

−(∇f(x∗))i

ai

}

≤ λ∗ ≤ mini∈S(x∗)

{

−(∇f(x∗))i

ai

}

, (48)

e quindi le relazioni di disuguaglianza della (46) sono soddisfatte. D’altra parte ladefinizione degli insiemi R(x∗), S(x∗) e la scelta del moltiplicatore λ∗ (per cui vale la(48)) implicano

max{i: 0<xi<C}

{

−(∇f(x∗))i

ai

}

≤ λ∗ ≤ min{i: 0<xi<C}

{

−(∇f(x∗))i

ai

}

,

e quindi anche le relazioni di uguaglianza della (46) sono verificate. ✷

45