Introduzione all`ottimizzazione convessa 1 Ottimizzazione

1
M. Monaci - ottimizzazione convessa
Introduzione all’ottimizzazione convessa
Michele Monaci
Dipartimento di Ingegneria dell’Informazione, Università di Padova
Viale Gradenigo, 6/A - 35131 - Padova
[email protected]
1
1.1
Ottimizzazione convessa
Insiemi convessi
Definizione 1 Dati due punti x, y ∈ Rn , si definisce la combinazione convessa di x e y l’insieme
dei punti z = λx + (1 − λ)y ottenuti per qualche λ ∈ [0, 1].
Una combinazione convessa si dice stretta quando ci si limita a considerare valori di λ ∈ (0, 1).
1
k
L’estensione di questo concetto è rappresentata
dalla
Pk
Pkcombinazione convessa di k punti x , . . . , x ,
i
definita come l’insieme dei punti z = i=1 λi x con i=1 λi = 1 e λi ≥ 0 per i = 1, . . . , k.
Definizione 2 Un insieme X ⊆ Rn si dice convesso se contiene la combinazione convessa di
qualunque coppia di suoi punti, ossia se
λ x + (1 − λ) y ∈ X
∀x, y ∈ X e ∀λ ∈ [0, 1]
Geometricamente ciò significa che il segmento che congiunge due qualunque punti di una regione
convessa appartiene completamente alla regione stessa.
'$
m
'$
&%
@
@
A
A
A
A
&%
A
A
A
A
A
A
Figura 1: Esempi di insiemi convessi (sx) e non convessi (dx).
1.2
Esempi di insiemi convessi
• L’insieme {x ∈ Rn : ||x|| ≤ t} è convesso, indipendentemente dalla norma || · || utilizzata.
2
M. Monaci - ottimizzazione convessa
Definizione 3 Un insieme S ⊆ Rn si dice cono se x ∈ S ⇒ αx ∈ S ∀α ≥ 0.
• Un cono è un insieme convesso.
Definizione 4 Un iperpiano è l’insieme {x ∈ Rn : αT x = α0 }.
• Un iperpiano è un insieme convesso.
Definizione 5 Un semispazio affine è l’insieme {x ∈ Rn : αT x ≤ α0 }.
• Un semispazio affine è un insieme convesso.
(Nota: un iperpiano definisce due semispazi affini)
• L’intersezione di un insieme di insiemi convessi è un insieme convesso.
Quindi anche un poliedro (= intersezione di iperpiani e semispazi) è un insieme convesso.
Dim. Sia Si un insieme convesso per ogni i ∈ M e sia S = ∩i Si l’intersezione di tali insiemi.
Dimostriamo che, presi x, y ∈ S e un qualche λ ∈ [0, 1], allora il punto z = (λx + (1 − λ)y) ∈ S.
Fissato λ ∈ [0, 1], il punto z appartiene a ciascun insieme Si , dato che per ipotesi questi insiemi
sono convessi. Allora z ∈ ∩i Si , ossia z ∈ S.
• Sia S ⊆ Rn un insieme convesso e sia f : S → Rm una funzione affine, ossia f (x) = Ax + b dove A
è una matrice m × n e b è un vettore di Rm . Allora l’insieme f (S) ⊆ Rm , ottenuto come immagine
di S tramite f , è convesso.
Dim. Sia y1 ∈ f (S) un punto dell’immagine; per definizione ∃x1 ∈ S tale che y1 = Ax1 + b. Analogamente sia y2 ∈ f (S) e sia x2 ∈ S tale che y2 = Ax2 + b. Prendiamo ora un λ ∈ [0, 1], definiamo
il punto z = λy1 + (1 − λ)y2 e mostriamo che z ∈ f (S), ossia che ∃t ∈ S tale che z = At + b. Si ha
z = λy1 +(1−λ)y2 = λ(Ax1 +b)+(1−λ)(Ax2 +b) = λAx1 +(1−λ)Ax2 +b = A(λx1 +A(1−λ)x2 )+b = At+b
con t = λx1 + (1 − λ)x2 . Per la convessità di S si ha che t ∈ S, e quindi la tesi.
In maniera analoga, se f : Rk → Rn è una funzione affine, allora anche l’immagine inversa di un
insieme convesso S tramite f , ossia l’insieme f −1 (S) = {x ∈ Rk : f (x) ∈ S} è un insieme convesso.
Il risultato precedente permette di affermare che alcune operazioni insiemistiche rilevanti, quali ad
esempio scaling, traslazione e proiezione, preservano la convessità dell’insieme:
• Se S ⊆ Rn è convesso, allora l’insieme αS = {αx : x ∈ S} è convesso ∀α > 0.
• Se S ⊆ Rn è convesso, allora l’insieme S + a = {x + a : x ∈ S} è convesso ∀a ∈ Rn .
• Se S ⊆ Rn+m è convesso, allora l’insieme Sx = {x ∈ Rn : (x, y) ∈ S per qualche y ∈ Rm } è
convesso.
2
Funzioni convesse
Definizione 6 Sia X ⊆ Rn un insieme convesso. Una funzione f : X → R si dice convessa se
f (λx + (1 − λ)y) ≤ λ f (x) + (1 − λ) f (y)
∀x, y ∈ X e ∀λ ∈ [0, 1]
(1)
Una funzione f si dice concava se la funzione −f è convessa.
Una funzione f si dice strettamente convessa (o strettamente concava) se la disuguaglianza vale con
3
M. Monaci - ottimizzazione convessa
6
f (x)
b
H
H
HH
H rλf (x) + (1 − λ)f (y)
HH
H
HH b
r
f (y)
f (λx + (1 − λ)y)
0
x
λx + (1 − λ)y
y
Figura 2: Funzione convessa.
il minore (maggiore) stretto per tutti i λ ∈ (0, 1).
Nota: una funzione f lineare è sia concava che convessa (ma non strettamente).
Intuitivamente una funzione convessa è una funzione che “si piega verso l’alto”, come mostrato
in figura 2; in questo caso il segmento che congiunge f (x) e f (y) è completamente al di sopra della
curva f nell’intervallo [x, y].
Non necessariamente una funzione convessa deve essere continua.
Esempio: Si consideri la funzione f : R+ → R definita come
−x per x > 0;
f (x) =
1
per x = 0
f (x)
6
s
c
@
-
x
@
@
@
@
La funzione è convessa su R+ , ma discontinua nell’origine. Infatti prendendo due punti x > 0 e
y > 0 si ha
f (λx + (1 − λ)y) = −(λx + (1 − λ)y) = −λx − (1 − λ)y = λf (x) + (1 − λ)f (y)
Viceversa, se uno dei due vale zero (es. x = 0) si ha
f (λx + (1 − λ)y) = f ((1 − λ)y) = −((1 − λ)y) ≤ λ + (1 − λ)y = λf (x) + (1 − λ)f (y)
Esiste una stretta relazione tra funzioni convesse ed insiemi convessi: si può dimostrare che
una funzione f convessa su un insieme convesso S può avere punti di discontinuità solamente sulla
frontiera di S. Inoltre, vale la seguente proprietà:
• Sia f : Rn → R una funzione convessa. Allora l’insieme S = {x ∈ Rn : f (x) ≤ t} è convesso.
Dim. Siano x, y ∈ S, ossia tali che f (x) ≤ t e f (y) ≤ t. Vogliamo mostrare che f (z) ≤ t
per un punto z = λx + (1 − λ)y con λ ∈ [0, 1]. Per la convessità della funzione f si ha f (z) =
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) ≤ λt + (1 − λ)t = t, ossia z ∈ S.
Per le funzioni convesse dotate di derivate continue, esistono caratterizzazioni equivalenti alla
convessità.
4
M. Monaci - ottimizzazione convessa
Teorema 1 Sia X ⊆ Rn un insieme convesso. Sia f : X → R una funzione continuamente
differenziabile. Se f è convessa allora
f (y) ≥ f (x) + ∇f (x)T (y − x)
∀x, y ∈ X
(2)
Dim. Siano x e y due punti di X. Definiamo la loro combinazione convessa λx + (1 − λ)y ottenuta
per λ = 1−, con “sufficientemente” vicino a zero. Si ha λx+(1−λ)y = (1−)x+y = x+(y −x)
e, analogamente, λf (x) + (1 − λ)f (y) = f (x) + [f (y) − f (x)].
Utilizzando la definizione (1) di funzione convessa si ha
f (x + (y − x)) = f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) = f (x) + [f (y) − f (x)]
Scrivendo l’espansione in serie di Taylor del primo ordine per la funzione f nel punto x con h =
(y − x) si ha
f (x + (y − x)) = f (x) + ∇f (x)T (y − x) + R1 (x, ||y − x||)
Confrontando le due espressioni si ha
f (x) + [f (y) − f (x)] ≥ f (x) + ∇f (x)T (y − x) + R1 (x, ||y − x||)
Ricordando che è arbitrariamente piccolo (dato che l’espansione in serie di Taylor vale in un
= 0, si ottiene
intorno di x) e che lim→0 R1 (x,||y−x||)
||y−x||
f (y) − f (x) ≥ ∇f (x)T (y − x)
ossia la tesi.
È da notare che vale anche il viceversa: se la condizione (2) vale ∀x, y ∈ X, allora f è convessa
(dim. omessa).
Teorema 2 Sia X ⊆ Rn un insieme convesso. Sia f : X → R una funzione continuamente
differenziabile, e sia x ∈ X un punto nel quale ∇2 f (x) è semidefinita positiva. Allora, almeno in
un intorno di x, f è una funzione convessa.
Dim. Prendiamo un punto x ∈ X per il quale la matrice ∇2 f (x) è definita e ∇2 f (x) 0, e
consideriamo un punto y ∈ X “sufficientemente vicino” a x. Dato che siamo in un intorno di x,
possiamo approssimare f (y) tramite l’espansione in serie di Taylor con h = y − x:
1
f (y) = f (x) + ∇f (x)T (y − x) + (y − x)T ∇2 f (x)(y − x) + R2 (x, ||y − x||)
2
dove, al solito, lim||y−x||→0 R2 (x,||y−x||)
= 0. Quindi, per ||y − x|| sufficientemente piccolo, la
||y−x||
2
condizione ∇ f (x) 0 implica
f (y) ≥ f (x) + ∇f (x)T (y − x)
per cui vale l’estensione del Teorema 1, secondo la quale f è convessa.
Nota: vale anche un risultato più forte: se ∇2 f (x) 0 per ogni x ∈ X allora f è convessa
(dim. omessa), e analogamente se ∇2 f (x) 0 per ogni x ∈ X allora f è strettamente convessa.
Purtroppo, non vale il contario: la funzione f : R → R, x → x4 è strettamente convessa ma la
derivata seconda è nulla in x = 0.
5
M. Monaci - ottimizzazione convessa
2.1
Esempi di funzioni convesse
• La funzione f : Rn → R, x → ||x|| è convessa, indipendentemente dalla norma || · || utilizzata.
• Una funzione quadratica f : Rn → R, x → 12 xT Qx + cT x + r è convessa se Q 0. Infatti per
questa funzione si ha ∇f (x) = Qx + c, e ∇2 f (x) = Q.
Pm
• Date m funzioni f1 , . . . , fm convesse, la loro combinazione lineare f (x) = i=1 λi fi (x) è convessa
a patto che λi ≥ 0 ∀i.
Quindi la somma di funzioni convesse è una funzione convessa; non necessariamente, invece, il
prodotto di funzioni convesse è convesso: ad esempio il prodotto di f (x) = x2 e g(x) = x fornisce
una funzione f (x)g(x) = x3 che non è convessa.
• Date m funzioni f1 (x), . . . , fm (x) convesse con dominio in Rn , allora la funzione massimo puntuale f (x) : Rn → R, x → max{f1 (x), . . . , fm (x)} è convessa.
Dim. Dati x, y ∈ Rn e λ ∈ [0, 1] si ha
f (λx + (1 − λ)y) = max fi (λx + (1 − λ)y) ≤ max [λfi (x) + (1 − λ)fi (y)] ≤
i=1,...,m
i=1,...,m
λ max fi (x) + (1 − λ) max fi (y) ≤ λf (x) + (1 − λ)f (y)
i=1,...,m
i=1,...,m
• Sia f : Rn+m → R, (x, y) → f (x, y) una funzione che, ∀y ∈ Rm , è convessa rispetto a x. Allora la
funzione g : Rn → R, x → maxy∈Rm f (x, y) è convessa.
Dim. Consideriamo due punti x1 ∈ Rn e x2 ∈ Rn e la loro combinazione convessa con moltiplicatore λ ∈ (0, 1). Si ha
g(λx1 + (1 − λ)x2 ) = max
f (λx1 + (1 − λ)x2 , y) ≤ max
[λf (x1 , y) + (1 − λ)f (x2 , y)] ≤
m
m
y∈R
y∈R
max [λf (x1 , y)] + max
[(1 − λ)f (x2 , y)] = λg(x1 ) + (1 − λ)g(x2 )
m
y∈Rm
y∈R
In maniera del tutto analoga, se f (x, y) è concava rispetto a x, allora la funzione g : Rn → R, x →
miny∈Rm f (x, y) è concava.
Esempio
Una conseguenza di questo risultato è che il problema lagrangiano duale è un problema di ottimizzazione convessa, indipendentemente dalla struttura della funzione obiettivo f originale.
Infatti basta osservare che il rilassamento lagrangiano di un generico problema con moltiplicatori
(u, v) è definito nel seguente modo
`(u, v) = minn L(x; u, v)
x∈R
e che la funzione lagrangiana
L(x; u, v) = f (x) + uT g(x) + v T h(x)
è lineare nei moltiplicatori u e v.
Ne consegue che la funzione
` : Rm+p → R, (u, v) → minn L(x; u, v)
x∈R
è una funzione concava in (u, v) indipendentemente dalla forma di f, g e h.
Il problema lagrangiano duale richiede di massimizzare la funzione `(u, v), ossia di minimizzare
la funzione convessa −`(u, v). L’insieme ammissibile per il lagrangiano duale è definito solo da
vincoli di segno per i moltiplicatori associati a disuguaglianze, per cui è un insieme convesso. Come
vedremo, questo problema appartiene quindi alla classe dei problemi di ottimizzazione convessa.
6
M. Monaci - ottimizzazione convessa
3
Proprietà della programmazione convessa
Consideriamo ora un problema di ottimizzazione convessa, definito nel seguente modo
(P c )
min f (x)
(3)
x ∈ Rn
(4)
gi (x) ≤ 0
i∈I
(5)
hj (x) = 0
j∈E
(6)
dove la funzione obiettivo f è convessa, le funzioni gi sono tutte convesse e le funzioni hj (x) = aTj x−b
sono tutte lineari, ossia la regione ammissibile S := {x ∈ Rn : gi (x) ≤ 0 ∀i ∈ I e hj (x) = 0 ∀j ∈ E}
è un insieme convesso.
Nonostante le limitazioni sulla funzione obiettivo e sulla regione ammissibile, i problemi di
ottimizzazione convessa rivestono una particolare importanza in numerose applicazioni reali. In
generale però, i risultati che vedremo per questi problemi non valgono per l’ottimizzazione non
lineare. Viceversa, questi risultati saranno validi anche in un caso particolare di grande rilevanza,
la programmazione lineare, che si ha in in presenza di funzione obiettivo e vincoli lineari.
Teorema 3 Sia S ⊆ Rn un insieme convesso e sia f : S → R una funzione convessa. Se x è un
minimo locale per f su S, allora x è anche un minimo globale per f su S.
Dim. Per assurdo supponiamo che esista y ∈ S tale f (y) < f (x).
Dato che x è un minimo locale, esiste un ρ > 0 tale che f (x) ≥ f (x) ∀x ∈ B(x, ρ).
Consideriamo una combinazione convessa dei punti x e y definita come z = λx + (1 − λ)y con λ ∈
(0, 1) sufficientemente piccolo, in modo che z ∈ B(x, ρ); in base a quanto detto, si ha f (z) ≥ f (x).
Dato che la funzione f è convessa si ha f (z) ≤ λf (x) + (1 − λ)f (y); per ipotesi si ha f (y) < f (x)
da cui segue f (z) < f (x), che contraddice l’ipotesi secondo cui x è un minimo locale.
Teorema 4 Sia S ⊆ Rn un insieme convesso e sia f : S → R una funzione convessa. Siano
x1 , . . . , xk dei punti di minimo per la funzione f su S. Allora una qualunque combinazione convessa
dei punti x1 , . . . , xk è un minimo globale per f su S.
Dim. Data l’equivalenza tra minimi locali e globali, indichiamo con f (x∗ ) = f (x1 ) = . . . f (xk ) il
Pk
valore della funzione f sui punti minimi x1 , . . . , xk . Prendiamo un punto z = i=1 λi xi ottenuto
Pk
come combinazione convessa dei minimi, con coefficienti λi ≥ 0 (i = 1, . . . , k) tali che i=1 λi = 1.
Allora si ha
k
k
X
X
f (z) ≤
λi f (xi ) = f (x∗ )
λi = f (x∗ )
i=1
i=1
∗
Dato che f (x ) è il valore del minimo globale di f su S, non si può avere f (z) < f (x∗ ). Ne deriva
quindi f (z) = f (x∗ ).
Teorema 5 Sia S ⊆ Rn un insieme convesso e sia f : S → R una funzione strettamente convessa.
Allora se x è un minimo globale, questo è l’unico minimo globale.
Dim. Per assurdo supponiamo che esista y ∈ S tale f (y) = f (x). Preso un qualunque λ ∈ (0, 1) si
avrebbe f (λx + (1 − λ)y) < λf (x) + (1 − λ)f (y) = f (x) e quindi x non sarebbe un minimo globale.
7
M. Monaci - ottimizzazione convessa
Nella dimostrazione dei teoremi precedenti non abbiamo fatto nessuna ipotesi sulla funzione f ,
a parte la (stretta) convessità. Se la funzione f è differenziabile, è possibile utilizzare le condizioni
del primo ordine per caratterizzare in modo univoco i punti di ottimo globale.
Teorema 6 Sia S ⊆ Rn un insieme convesso e sia f : S → R una funzione convessa di classe C 1 .
Condizione necessaria e sufficiente affinchè un punto x ∈ S sia un minimo globale per f su S è che
sia ∇f (x) = 0.
Dim. Se x è un minimo globale (e quindi anche locale), deve essere necessariamente ∇f (x) = 0
per le condizioni del primo ordine.
Viceversa, se la funzione f è convessa e ∇f (x) = 0, il Teorema 1 permette di scrivere f (y) ≥
f (x) ∀y ∈ S.
3.1
Rilassamento lagrangiano
Il seguente risultato mostra che in ottimizzazione convessa si ha una completa corrispondenza tra
i punti KKT ed i punti di sella della funzione lagrangiana.
Teorema 7 Sia (P c ) un problema di ottimizzazione convessa. Allora (x, u, v) è un punto di sella
se e solo se x è un punto KKT ed i vettori u e v sono i corrispondenti moltiplicatori.
Dim. Sia (x, u, v) un punto di sella. Come visto, x è un minimo della funzione L(x; u, v) e quindi
∇x [L(x; u, v)] = 0, ossia
∇f (x) +
m
X
ui ∇gi (x) +
i=1
p
X
v j ∇hj (x) = 0
j=1
Dato che (x, u, v) è un punto di sella si ha anche g(x) ≤ 0, h(x) = 0, u ≥ 0 e uT g(x) = 0, il che
garantisce che x è un punto KKT con moltiplicatori u e v.
p
Viceversa, sia x un punto KKT con moltiplicatori u ∈ Rm
+ e v ∈ R , ossia tali che
∇f (x) +
m
X
ui ∇gi (x) +
i=1
p
X
uT g(x) = 0
v j ∇hj (x) = 0
u≥0
j=1
Dalla convessità di f e gi (i = 1, . . . , m) si ha che, per ogni x ∈ Rn ,
(∗) f (x) ≥ f (x) + ∇f (x)(x − x)
(∗∗) gi (x) ≥ gi (x) + ∇gi (x)(x − x)
mentre per le funzioni lineari hj si ha
(∗ ∗ ∗) hj (x) = hj (x) + ∇hj (x)(x − x)
Sommando l’equazione (*), le (**) moltiplicate per ui e le (***) moltiplicate per v j si ottiene
L(x; u, v) = f (x) +
m
X
i=1
f (x) + ∇f (x)(x − x) +
m
X
i=1
ui gi (x) +
p
X
v j hj (x) ≥
j=1
ui [gi (x) + ∇gi (x)(x − x)] +
p
X
j=1
v j [hj (x) + ∇hj (x)(x − x)] =
8
M. Monaci - ottimizzazione convessa
L(x; u, v) + (x − x)[∇f (x) +
m
X
ui ∇gi (x) +
i=1
p
X
v j ∇hj (x)]
j=1
ossia L(x; u, v) ≥ L(x; u, v) + ∇x [L(x; u, v)]T (x − x).
Ricordando che in un punto KKT si ha ∇x [L(x; u, v)] = 0, allora deve essere
L(x; u, v) ≥ L(x; u, v)
∀x ∈ Rn
Inoltre dato che x è KKT con moltiplicatori u e v, si ha che g(x) ≤ 0, h(x) = 0, u ≥ 0 e uT g(x) = 0.
T
T
p
T
T
Quindi, ∀u ∈ Rm
+ e ∀v ∈ R risulta L(x; u, v) = f (x)+u g(x)+v h(x) ≤ f (x)+u g(x)+v h(x) =
L(x; u, v) e dunque (x, u, v) è un punto di sella.
Una conseguenza del teorema precedente è che in ottimizzazione convessa non può esistere
duality gap. Infatti, sia (x, u, v) un punto di sella; il rilassamento lagrangiano con moltiplicatori
u, v fornisce un lower bound di valore
min L(x; u, v) = L(x; u, v) = f (x)
x
cioè pari al valore della soluzione x.
4
4.1
Esempi di problemi di ottimizzazione convessa
Problemi con norme
Sia dato un poliedro P = {x : aTi x ≤ bi , i = 1, . . . , m}. Si definisce il centro di Chebyschev di (P ) il
centro della più grande palla che possa essere iscritta dentro a (P ). Una palla di raggio r centrata
in xc è iscritta in (P ) se, per ogni vincolo i, si ha sup{aTi (xc + u) : ||u||2 ≤ r} = aTi xc + r||ai ||2 ≤ bi
Quindi il problema può essere formulato in questo modo
max{r : aTi xc + r||ai ||2 ≤ bi , i = 1, . . . , m}
e questo è un problema di ottimizzazione convessa.
4.2
Problemi quadratici
Sia data una funzione quadratica
f (x) =
1 T
x Q x + cT x + r
2
dove Q è una matrice n × n, che può essere sempre presa simmetrica senza perdita di generalità.
Abbiamo già visto che in questo caso il gradiente e l’hessiana della funzione obiettivo sono
definiti come
∇f (x) = Qx + c
∇2 f (x) = Q
per cui f è strettamente convessa se e solo se Q è definita positiva. In questo caso, l’unica soluzione
ottima può essere trovata imponendo la condizione di stazionarietà:
∇f (x) = 0
ossia x = −Q−1 c
9
M. Monaci - ottimizzazione convessa
4.3
Problemi di classificazione e Support Vector Machines
Una tipica applicazione dell’Intelligenza Artificiale si ha nei problemi di classificazione. In questi
problemi, è dato un insieme di osservazioni (punti), per ciascuna delle quali sono noti un insieme di
valori (attributi). Inoltre, per ciascun punto è nota una classificazione in base a qualche criterio (non
noto). L’obiettivo consiste nel determinare una regola (classificatore) che permetta di classificare
correttamente tutti i punti, in modo da poter classificare nuovi punti che vengano forniti in un
secondo momento.
Questo problema ha notevoli applicazioni; es. in ambito biomedico (es. per stabilire se un
paziente è affetto da una certa malattia, noti alcuni sintomi), nel campo informatico (es. per gli
algoritmi di spam detection), nell’addestramento delle reti neurali, nel riconoscimento di immagini
e/o di informazioni. Sebbene il modello generale preveda che i punti debbano essere classificati
in k ≥ 2 gruppi disgiunti (es. per il riconoscimento di lettere e/o testi), noi considereremo solo il
caso particolare di classificazione binaria (k = 2) nel quale i punti devono essere partizionati in due
sottoinsiemi; nel seguito classificheremo i punti come punti rossi e punti blu, oppure con etichette
di valore +1 e -1.
Generalmente la soluzione del problema prevede tre fasi:
• apprendimento: in questa fase si definisce un modello matematico per la classificazione di un
sottoinsieme dei punti di input (training set);
• valutazione: in questa fase il modello ottenuto viene testato sui restanti dati di input (test
set) per verificare la bontà della classificazione;
• classificazione: è la fase nella quale il modello viene utilizzato in modo preditivo, al fine di
classificare nuovi punti.
Noi ci concentreremo solo sulla fase di apprendimento, ossia sulla definizione di un modello matematico per classificare un dato insieme di punti. Quindi il problema che vogliamo risolvere è questo:
Problema di classificazione. Sono dati m vettori di Rn ; per ciascun vettore xi = (xi1 , xi2 , . . . , xin )
è data una classificazione yi ∈ {−1, +1} (i = 1, . . . , m). Si vuole determinare una funzione
φ : Rn → {−1, +1} tale che sia yi = φ(xi1 , xi2 , . . . , xin ) ∀i = 1, . . . , m.
Classificatore lineare
Il classificatore è dunque una funzione degli attributi di ciascun punto che restituisce la classificazione del punto. La funzione più semplice cui possiamo pensare è una funzione lineare; quindi per prima
cosa cerchiamo di determinare un classificatore lineare, ossia un iperpiano H = {x : wT x + b = 0}
che divida i punti dati in punti rossi (per i quali wT x+b > 0) dai punti blu (per i quali wT x+b < 0).
Pur sapendo che non necessariamente questo iperpiano esiste, facciamo per ora l’assunzione che i
i punti siano classificabili in modo lineare; vedremo in seguito come generalizzare il modello per
rimuovere questa assunzione. Dato un iperpiano (w, b) che classifica i punti rossi e quelli blu, è
possibile definire altri due iperpiani, paralleli a quello dato, che classificano correttamente i punti e
che “toccano” alcuni punti; questi punti sono detti punti di supporto. A meno di normalizzazioni,
questi iperpiani sono definiti da
wT x + b = 1
per i punti di supporto rossi, e
wT x + b = −1
per i punti di supporto blu.
Quello che vorremmo fare è determinare l’iperpiano (w, b) per il quale la distanza tra i due iperpiani di supporto è massima – il che corrisponde a determinare la soluzione di massima robustezza.
2
e quindi dipende solo dal vettore w. Quindi il problema di classificaQuesta distanza è pari a ||w||
zione lineare consiste nel determinare le componenti del vettore w e lo scalare b che permettono di
classificare correttamente tutti i punti del training set, massimizzando la distanza dei due iperpiani
di supporto. Un modello matematico per questo problema è il seguente
10
M. Monaci - ottimizzazione convessa
1
||w||2
2
yi (wT xi + b) ≥ 1
min
(7)
i = 1, . . . , m
(8)
n
(w, b) ∈ R × R
(9)
La funzione obiettivo (7) minimizza la norma del vettore w che definisce l’iperpiano, mentre
l’i-esimo vincolo (8) impone che ciascun punto con yi = 1 sia classificato come rosso (wT x + b > 0)
mentre ogni punto con yi = −1 sia classificato come blu (wT x + b < 0).
Consideriamo il rilassamento lagrangiano del modello (7)–(9) ottenuto con un vettore di moltiplicatori λ ∈ Rm
+ . La funzione lagrangiana diventa
L(w, b; λ) =
m
X
1
||w||2 +
λi (1 − yi (wT xi + b))
2
i=1
Annullando il il gradiente del lagrangiano rispetto a w e b si ottiene
m
X
∂L(w, b; λ)
=w−
λi yi xi = 0
∂w
i=1
m
e
∂L(w, b; λ) X
=
λi yi = 0
∂b
i=1
per cui in corrispondenza di una soluzione (w, b) ottima deve esistere un vettore λ ottimo tale che
w=
m
X
λi yi xi
e
i=1
m
X
λi yi = 0
(10)
i=1
Utilizzando queste condizioni, la funzione obiettivo del lagrangiano può essere riscritta in funzione delle sole variabili λi nel seguente modo:
L(w, b; λ) =
m m
m
m X
m
X
X
1 XX
T
T
λi λk yi yk xi xk +
λi −
λi λk yi yk xi xk =
2 i=1
i=1
i=1
k=1
=
m
X
i=1
k=1
m
λi −
m
1 XX
T
λi λk yi yk xi xk = `(λ)
2 i=1
k=1
Quindi il problema lagrangiano duale richiede di massimizzare
Pm la funzione `(λ) con i vincoli di non
negatività dei moltiplicatori (λ ≥ 0) e con la condizione i=1 λi yi = 0.
In aggiunta alle (10), le condizioni KKT associate ad una coppia di soluzioni (w, b) e λ sono
λi (1 − yi (wT xi + b)) = 0
i = 1, . . . , m
(11)
λi ≥ 0
i = 1, . . . , m
(12)
yi (w x + b)) ≥ 1
i = 1, . . . , m
(13)
T
i
In particolare, la condizione (11) impone che sia yi (wT xi + b) = 1 per i punti i che hanno λi > 0
(vettori di supporto) e che sia λi = 0 per i punti i tali che yi (wT xi +b) > 1 (vettori non di supporto).
Noti i moltiplicatori ottimi, l’iperpiano di separazione è definito come
w=
m
X
i=1
λi yi xi
e
b=
1
− w T xi
yi
(per qualche punto i con λi 6= 0),
ed il classificatore per un eventuale nuovo punto x è dato da sgn(wT x + b).
11
M. Monaci - ottimizzazione convessa
Punti non classificabili in maniera lineare
Esistono diversi modi per estendere il modello al caso in cui non sia necessariamente valida l’assunzione secondo cui tutti i punti possono essere classificati correttamente.
La prima soluzione consiste nell’introdurre delle variabili decisionali ξi che agiscano da slack nei
vincoli di classificazione dei vari punti, in modo da (eventualmente) disattivare questi vincoli. Si
ottiene il seguente modello matematico
min C
m
X
1
ξi + ||w||2
2
i=1
yi (wT xi + b) ≥ 1 − ξi
(14)
i = 1, . . . , m
n
(w, b) ∈ R × R
ξi ≥ 0
(15)
(16)
i = 1, . . . , m
(17)
nel quale la funzione obiettivo cerca di minimizzare la somma (pesata con un parametro C > 0)
delle variabili ξi ; ciascuna di quetse variabili può essere interpretata come l’entità della riduzione
di margine nella classificazione del punto i associato (ξi = 0 se il punto viene classificato con il
margine richiesto).
Classificatore non lineare
Una seconda possibilità per gestire punti non separabili linearmente è quella di utilizzare un classificatore non lineare. L’idea di base è quella di utilizzare una funzione ψ : Rn → RN che lavori
in uno spazio diverso da Rn (generalmente uno spazio esteso, ossia con N >> n) nel quale i punti
dati siano separabili in modo lineare. In questo modo la funzione obiettivo del problema duale può
essere scritta come
m m
m
X
1 XX
λi λk yi yk K(xi , xk )
λi −
2
i=1
i=1
k=1
dove
K(xi , xk ) = ψ(xi )T ψ(xk )
è la funzione di kernel. Le caratteristiche e proprietà di una funzione di kernel sono descritte dal
Teorema di Mercer: una funzione simmetrica K(xi , xk ) è un kernel se e solo se per ogni insieme di
punti x1 , . . . , xm la matrice associata a tutte le coppie di punti è semidefinita positiva.
In letteratura sono state proposte molte funzioni di kernel; le principali sono
T
• K(xi , xk ) = xi xk
T
• K(xi , xk ) = (1 + xi xk )p
i
k
−x
• K(xi , xk ) = exp(− ||x 2σ
2
||γ
)
T
• K(xi , xk ) = tanh(γ xi xk − δ)p
Una volta risolto il problema trasformato attraverso
la funzione di kernel, la funzione da
Pm
utilizzare per classificare un punto x è data da sgn( i=1 λi yi K(xi , x) + b).
5
Algoritmi a punto interno
In questa sezione vengono considerati gli algoritmi a punto interno. Anche se la trattazione viene svolta relativamente al caso di problemi di ottimizzazione convessa (ottimizzare una funzione
12
M. Monaci - ottimizzazione convessa
obiettivo convessa su un insieme convesso), le tecniche sono più generali e possono essere applicate
anche al caso non convesso. In particolare, considereremo un problema di questo tipo
min f (x) : Ax = b, x ∈ S = {x ∈ Rn : gi (x) ≤ 0
(i = 1, . . . , m)}
dove le funzioni f e gi sono convesse e Ax = b sono vincoli lineari. Per questo problema analizzeremo
il metodo della barriera, che prevede l’introduzione di termini di penalità nella funzione obiettivo,
in analogia con quanto visto per gli algoritmi di penalità sequenziali. La differenza fondamentale è
che negli algoritmi a punto interno si cerca di definire, ad ogni iterazione, una soluzione ammissibile
che sia interna ad S, penalizzando le soluzioni che si avvicinano alla frontiera di S. Per fare questo,
l’assunzione di base è che esista almeno un punto strettamente interno in S, ossia che esista x ∈ Rn
tale che Ax = b e gi (x) < 0 (∀i = 1, . . . , m). Inoltre assumiamo che il problema abbia un ottimo
finito, ossia che minx∈S f (x) >= −∞. Sotto queste condizioni valgono le condizioni di qualificazioni
di Slater; quindi in base al Teorema KKT ogni minimo soddisfa le KKT.
Il metodo della barriera logaritmica si basa sulla definizione di un problema ausiliario
(Paux )
min p(x)
(18)
n
(19)
Ax = b
(20)
x∈R
dove la funzione obiettivo è definita come
p(x) = f (x) + tφ(x)
tramite la seguente funzione di penalità:
φ(x) =
X
− log(−gi (x))
i∈I
Si noti che funzione obiettivo p(x) è una funzione convessa e differenziabile, ed è quindi possibile
utilizzare l’algoritmo di Newton per risolvere il problema ausiliario. Ovviamente il problema ottenuto risulta essere una approssimazione del problema originale; la bontà di questa approssimazione
dipende dal valore del parametro t. Intuitivamente, per valori grandi di t il termine dominante nella
funzione obiettivo è dato dalla funzione di penalità; quindi, l’algoritmo troverà delle soluzioni x per
le quali φ(x) ' 0, ma sarà guidato da una funzione obiettivo molto diversa dalla funzione originale. Viceversa, per t piccoli la funzione obiettivo sarà simile a quella originale, e quindi l’algoritmo
fornirà una “buona” approssimazione.
Il dominio della funzione φ(x) è costituito dai soli punti interni di S, ossia quelli per cui g(x) < 0.
Indipendentemente dal valore di t, la funzione φ cresce velocemente quando x si avvicina alla
frontiera di S; l’effetto è quello di alzare una barriera che impedisca di arrivare a punti che si
avvicinino troppo alla frontiera di S. Quindi, qualunque algoritmo di ricerca utilizzato per risolvere
il problema ausiliario che parta da un punto iniziale interno ad S sarà vincolato a non uscire da S.
Quindi, nonostante il problema ausiliario sia definito su tutto l’interno di S, la regione ammissibile
che può essere raggiunta è minore di S (per via della barriera). Questo effetto è tanto più evidente
quanto più il valore di t è elevato.
Dato un valore di t > 0 indichiamo con x∗ (t) la soluzione ottima del problema ausiliario. Per
via della barriera, questa soluzione è tale che
Ax∗ (t) = b
e
gi (x∗ (t)) < 0
i = 1, . . . , m
Dato che il problema ausiliario è un problema convesso, la soluzione ottima x∗ (t) deve essere un
punto KKT, ossia deve esistere un vettore di moltiplicatori ve ∈ Rp tale che
∇p(x∗ (t)) + AT ve = 0
13
M. Monaci - ottimizzazione convessa
Pm
Ricordando l’espressione di φ si ha ∇φ(x) = i=1 −g1i (x) ∇gi (x) e quindi le condizioni KKT per
x∗ (t) diventano
m
X
1
∗
∇f (x (t)) + t
∇gi (x∗ (t)) + AT ve = 0
∗ (t))
−g
(x
i
i=1
Definendo
λ∗i (t) = −t
1
(i = 1, . . . , m)
gi (x∗ (t))
e
v ∗ (t) = v
la condizione KKT può essere riscritta come
∇f (x∗ (t)) +
m
X
λ∗i (t)∇gi (x∗ (t)) + AT v ∗ (t) = 0
(21)
i=1
Definiamo il rilassamento lagrangiano del problema (3)–(6) con moltiplicatori λ∗i (t) (per i =
1, . . . , m) e v ∗ (t); si noti che tutti i moltipicatori λ∗i (t) sono positivi, dato che gi (x∗ (t)) < 0 ∀i ∈ I.
La funzione obiettivo lagrangiana è definita da
L(x; λ∗ (t), v ∗ (t)) = f (x) +
m
X
λ∗i (t)gi (x) + v ∗ T (t)(Ax − b)
i=1
Annullando il gradiente della funzione obiettivo lagrangiana, si ottiene la (21) e quindi x∗ (t) è un
ottimo del problema lagrangiano. La qualità del lower bound fornito da questa soluzione è stabilita
dal seguente teorema.
Teorema 8 La soluzione x∗ (t) ha un gap di dualità non superiore a mt.
Dim. In base a quanto visto, la tripletta (x∗ (t), λ∗ (t), v ∗ (t)) è un punto di sella e il lower bound
lagrangiano associato è pari a
`(λ∗ (t), v ∗ (t)) = infn L(x; λ∗ (t), v ∗ (t)) = L(x∗ (t); λ∗ (t), v ∗ (t)) = f (x∗ (t)) − mt
x∈R
Quindi il duality gap associato alle soluzioni x∗ (t) e (λ∗ (t), v ∗ (t)) è pari a mt (invece che 0, come
nelle KKT classiche), ed anche la distanza tra la soluzione x∗ (t) e la soluzione ottima è al massimo
mt.
È interessante notare come le condizioni KKT per il punto x∗ (t) rispetto al problema ausiliario
siano relative all’esistenza di moltiplicatori λ∗ (t) e v ∗ (t) tali che
X
∇f (x∗ (t)) +
λ∗i (t)∇gi (x∗ (t)) + AT v ∗ (t) = 0
i∈I
gi (x∗ (t)) ≤ 0
i∈I
∗
Ax (t) = b
λ∗i (t) ≥ 0
i∈I
λ∗i (t)gi (x∗ (t)) = −t
i∈I
Si tratta quindi di condizioni KKT “rilassate” per il problema originale, nelle quali l’entità del
rilassamento è pari a −t per ciascuna disuguaglianza.
Il risultato appena visto conferma che la bontà della approssimazione ottenuta risolvendo il
problema ausiliario cresce al decrescere del valore di t e fornisce uno strumento per determinare il
valore di t da utilizzare nella definizione del problema ausiliario. Immaginando di voler ottenere
una soluzione ottima con precisione assegnata basterà risolvere il problema (Paux ) per t = /m.
14
M. Monaci - ottimizzazione convessa
Purtroppo però per piccolo si devono utilizzare valori piccoli di t, che rendono difficile l’ottimizzazione della funzione p(x). Quello che viene generalmente fatto è utilizzare un procedimento
iterativo nel quale si parte da un valore “grande” di t, per ridurlo ad ogni iterazione secondo il
seguente schema: tk+1 = µtk , dove µ < 1 è un parametro. Ad ogni iterazione il problema ausiliario viene risolto tramite l’algoritmo di Newton partendo dalla soluzione trovata all’iterazione
precedente. È evidente che per valori di µ vicini a 1 si avranno piccoli incrementi del valore della
funzione obiettivo ma le singole esecuzioni dell’algoritmo di Newton saranno veloci (si parte sempre
da una soluzione vicina all’ottimo). Viceversa, valori elevati di µ comportano un maggior numero
di iterazioni dell’algoritmo di Newton ma richiedono meno iterazioni globali.
Immaginiamo di partire da un valore iniziale t0 e di decrementare il valore di t ad ogni iterazione
di un fattore µ; ad ogni iterazione il gap di dualità diminuisce di un fattore µ. Dopo α iterazioni
l’algoritmo utilizza un coefficiente tα = µα t0 e quindi il gap della soluzione è limitato da µαmt0 . Per
ottenere una precisione pari a , il numero di iterazioni da effettuare è dato da
d
log tm0
e
logµ
Resta da vedere come inizializzare l’algoritmo, ovvero come determinare la soluzione iniziale per
la prima iterazione. A tal fine si può applicare una fase 1 nella quale si risolve il seguente problema
min s : Ax = b
gi (x) ≤ s (i = 1, . . . , m)
verificando poi se il valore della soluzione ottima è negativo oppure no. Se la soluzione ottima di
questo problema ha valore ≥ 0, allora non esiste nessuna soluzione interna ad S (assunzione violata
→ il metodo abortisce). In caso contrario, bisogna fissare un valore t0 per inizializzare t. È evidente
che un valore troppo grande di t0 si tradurrebbe, alla prima iterazione, in un problema ausiliario
difficile da risolvere (tale da richiedere molte iterazioni del metodo di Newton). Spesso, oltre alla
soluzione primale, è facile anche determinare una soluzione duale, e quindi è noto un gap di dualità
iniziale. In questo caso, il valore di t0 viene scelto in mdoo che il gap duale della prima iterazione
sia confrontabile al gap duale associato alla soluzione di partenza.
L’insieme di punti {x∗ (tk )}k viene detto il central path, e rappresenta il cammino percorso dall’algoritmo partendo dal punto iniziale per arrivare ad un punto di accumulazione. In ottimizzazione
convessa vale il seguente risultato:
Teorema 9 Se f (x), g(x) e φ(x) sono continue e convesse su int S, allora ogni punto limite della
successione {x∗ (tk )}k generata da un metodo a barriera è un minmo globale del problema originale.
Dim. Sia x il punto cui converge la serie {x∗ (tk )}k . Dato che x∗ (tk ) ∈ S ∀k, allora si avrà x ∈ S.
Inoltre si ha
lim [f (x∗ (tk )) + tk φ(x∗ (tk ))] = f (x) + lim [tk φ(x∗ (tk ))] = f (x).
(22)
k→∞
k→∞
Per assurdo, sia x∗ ∈ S un punto di minimo globale. Allora, per la continuità della funzione f ,
x) < f (x).
∃x
e ∈ int S tale che f (x∗ ) < f (e
Per ogni k si ha
f (x∗ (tk )) + tk φ(x∗ (tk )) ≤ f (e
x) + tk φ(e
x)
e quindi per k → ∞ si ha
lim [f (x∗ (tk )) + tk φ(x∗ (tk ))] ≤ lim [f (e
x) + tk φ(e
x)] = f (e
x) + lim [tk φ(e
x)] = f (e
x)
k→∞
k→∞
k→∞
(23)
Combinando la (22) e la (23) si ottiene
f (e
x) ≥ lim [f (x∗ (tk )) + tk φ(x∗ (tk ))] ≥ f (x)
k→∞
che è in contraddizione con la definizione di x
e, e quindi con l’ipotesi di esistenza di x∗ (assurdo). 15
M. Monaci - ottimizzazione convessa
Nella pratica l’algoritmo della barriera puro funziona male; questo perchè, ad ogni iterazione,
si cerca di risolvere il problema ausiliario in modo ottimo (ossia, si cerca il central path). È stato
dimostato (Nesterov e Nemirovski, 1994) che, sotto alcune condizioni, la convergenza è garantita
anche considerando, ad ogni iterazione, una soluzione approssimata x
e(tk ) del problema ausiliario
∗ k
invece della soluzione ottima x (t ).
In particolare, esistono alcune funzioni barriera “buone” (inclusa la funzione logaritmo), per le quali
è possibile definire un parametro rφ > 1 tale che vale la seguente proprietà. Se
• l’aggiornamento del parametro t viene fatto come
1
tk+1
0.1 1
= (1 + √ ) k
rφ t
e
• ad ogni iterazione x
e(tk ) è “vicina”a x∗ (tk )
allora l’algoritmo di Newton (inizializzato da x
e(tk )) riesce a determinare, in una sola iterazione,
k+1
∗ k+1
una soluzione x
e(t
) “vicina”a x (t
).
Questo significa che, utilizzando una funzione barriera “buona”, è possibile con poco sforzo arri√
vare ad una buona approssimazione del central path. Inoltre ogni O( rφ ) iterazioni, l’errore di
approssimazione diminuisce di un fattore costante.
Riferimenti bibliografici
[1] A. Agnetis, Introduzione allottimizzazione non vincolata. Dispense disponibili su
http://www.dii.unisi.it/~agnetis/ottnonvinc.pdf.
[2] S. Boyd e L. Vandenberghe, Convex Optimization. Cambridge University Press
[3] M. Fischetti, Lezioni di Ricerca Operativa. Edizioni Libreria Progetto, Padova.
[4] L. Grippo e M. Sciandrone, Metodi di Ottimizzazione Non Vincolata. Springer
[5] S. Lucidi, Appunti dalle lezioni di RICERCA OPERATIVA. Dispense disponibili su http:
//www.dis.uniroma1.it/~lucidi/didattica/Ric-Oper-11-12.pdf.
[6] J. Nocedal e S. J. Wright, Numerical Optimization. Springer