






















































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Dispense di Ottimizzazione che sintetizzano teoria e algoritmi per la risoluzione di problemi di minimizzazione e massimizzazione. Il testo combina rigore matematico e applicazioni pratiche al machine learning. Contenuti: formulazione dei problemi di ottimizzazione, insiemi ammissibili e funzioni obiettivo; distinzione tra problemi vincolati/non vincolati, lineari/non lineari, convessi/non convessi; algoritmi del gradiente, metodi di Newton e quasi-Newton (BFGS); ottimizzazione non vincolata con condizioni di ottimalità, ricerca lineare e analisi di convergenza; backpropagation e discesa del gradiente nel training di reti neurali; metodi incrementali (SGD, mini-batch, momentum); tecniche per problemi a larga scala e calcolo distribuito; SVM con formulazioni primale e duale e uso del kernel trick. Ricche di esempi, dimostrazioni e pseudocodice, le dispense offrono un quadro completo per comprendere la teoria e l’implementazione dei principali metodi di ottimizzazione.
Tipologia: Dispense
1 / 62
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!























































Sommario Questa dispensa contiene un riassunto dei principali concetti trattati nel corso di Ottimiz- zazione con il professore Marco Sciandrone del corso di laurea di "Scienze matematiche per l’intelligenza artificiale" presso l’Università Roma "La Sapienza".
- A.A. 2024/ Lorenzo Bianchi 7 Support Vector Machines (SVM) 59 7.1 Classificazione binaria................................... 59
Pe problemi di ottimizzazione si intende l’insieme dei problemi che hanno come obiettivo quello di trovare il massimo o il minimo di una funzione in un dominio dato.
min / max f (x) x ∈ S Dove f : Rn^ → R è la funzione obiettivo e S ⊆ Rn^ è l’insieme ammissibile. x ∈ Rn^ è il vettore delle variabili di decisione. Senza perdita di generalità consideriamo
min f (x) x ∈ S
significa considerare che, ammesso che esista un punto x∗^ ∈ S tale che f (x∗) ≤ f (x) ∀x ∈ S, allora x∗^ è un punto di minimo globale. È senza perdita di generalità perché se volessimo considerare un problema di massimo potremmo considerare il problema di minimizzare −f (x).
Esempio 1.1. Si hanno N progetti e N ingegneri. Insichiamo con tij il tempo di addestramento dell’ingegnere i per il progetto j. Il problema richiede che ogni ingegnere sia assegnato ad uno e un solo progetto. Per prima cosa procediamo a definire le variabili di decisione:
xi =
1 se l’ingegnere i è assegnato al progetto j 0 altrimenti
Definiamo dunque i vincoli e la funzione obiettivo. Se fissiamo i allora ogni xi deve essere 1 e al più uno. XN
j=
xij = 1 ∀i = 1,... , N
Inoltre ogni ingegnere deve essere assegnato ad uno e un solo progetto.
X^ N
i=
xij = 1 ∀j = 1,... , N
La funzione obiettivo è: XN
i=
j=
tij xij | {z } tempo di addestramento Si vuole dunque:
min
i=
j=
tij xij
soggetto ai vincoli:
X^ N
j=
xij = 1 ∀i = 1,... , N
i=
xij = 1 ∀j = 1,... , N
Il modello di neurone artificiale è un modello matematico che simula il comportamento di un neurone biologico. È costituito da un insieme di variabili di input, un insieme di pesi e un insieme di funzioni di attivazione.
g(t) =
0 se t < 0 1 se t ≥ 0
u 1
u (^2) w 1 u 1 + w 2 u 2 − θ = 0
w 1 u 1 + w 2 u 2 − θ > 0
w 1 u 1 + w 2 u 2 − θ < 0
u 1 u 2 y 0 0 0 0 1 1 1 0 1 1 1 0
Esempio 1.4 (Or-Esclusivo). In un grafico bidimensionale, possiamo rappresentare i valori di u 1 e u 2 come coordinate cartesiane e visualizzare la seguente situazione:
u 1
u 2
(0, 0), y = 0
(1, 1), y = 0
(1, 0), y = 1
(0, 1), y = 1
Notiamo che non è possibile separare le due classi con una retta. Vediamo dunque se più neuroni possono risolvere il problema. Possiamo costruire una rete neurale con due neuroni nel primo strato nascosto e un neurone di output. Consideriamo la seguente architettura:
u 1
u 2
N 3 y(u, w)
1
1
θ = 1. 5
θ = 0. 5
θ = 0. 5
Figura 1: Rete neurale per risolvere il problema XOR
In questo caso w ∈ R^9 (comprende i pesi e le soglie dei due neuroni nascosti e del neurone di output). Analizziamo il comportamento di questa rete:
Vediamo se riusciamo a coprire tutte le possibili combinazioni.
N 1 OFF N 2 OFF N 3 OFF =⇒ y = 0
N 1 OFF N 2 ON N 3 ON =⇒ y = 1
N 1 OFF N 2 ON N 3 ON =⇒ y = 1
N 1 ON N 2 ON N 3 OFF =⇒ y = 0
Abbiamo così mostrato che due neuroni possono risolvere il problema.
Il Training Set è un insieme:
TS = {(up, yp), u |{z}p input
∈ Rm
etichetta (label) z}|{ yp^ ∈ R} ∀p = 1,... , P
Abbiamo che w è un vettore di dimensione n che conterrà tutti i pesi wji. Per cui se abbiamo la funzione: y(up, w) = yp^ −→ Ep(w) = (yp^ − y(up, w))^2 notiamo che up^ è fissato, mentre possiamo agire su w. Ep(w) ci restituisce l’errore che commette la nostra rete per il dato input:
E(w) =
p=
Ep(w) =
p=
(yp^ − y(up, w))^2
Il problema di addestramento di reti neurali è quindi:
min w∈Rn^ E(w)
L’ottimizzazione di E(w) non punta propriamente ad annullare l’errore, ma ad ottimizzare il trade-off tra errore e complessità della rete. Questo perché se E(w) = 0 allora la rete si adatta perfettamente ai dati, ma potrebbe essere troppo complessa e quindi non generalizzare (overfitting).
Il problema di clustering è un problema di ottimizzazione che consiste nel partizionare un insieme di oggetti in gruppi in base a una certa proprietà. Il training set in questo caso è del tipo:
TS = {up^ ∈ Rm^ | p = 1,... , P }
Osserviamo l’assenza di etichette date. In R^2 possiamo rappresentare i punti in un piano e raggrupparli in base alla loro distanza.
x
y
Indichiamo con M il numero di cluster (prefissato). Vogliamo determinare per ogni cluster j un vettore zj ∈ Rm^ il rappresentante del cluster j (detto centroide - baricentro dei punti del cluster). Quindi occorre determinare gli M vettori zj. Potremmo usare la nozione di distanza per rappresentare la “dissimilarità” tra i punti.
∥up^ − zj ∥
Introduciamo una funzione:
δpj =
1 se up^ appartiene al cluster j 0 altrimenti
La dissimilarità complessiva è data da:
X^ M
j=
p=
δpj ∥up^ − zj ∥
Vogliamo minimizzare questa funzione obiettivo rispetto a zj e δpj. Vediamo quali vincoli abbiamo:
X^ M
j=
δpj = 1 ∀p = 1,... , P (ogni punto appartiene ad un solo cluster)
δpj ∈ { 0 , 1 } ∀p = 1,... , P, ∀j = 1,... , M (la variabile è binaria) Quello che è di nostro interesse studiare è:
min f (x) x ∈ S
dove f : Rn^ → R è la funzione obiettivo e S ⊂ Rn^ è l’insieme ammissibile. Classifichiamo di seguito i problemi di ottimizzazione:
Classificazione dei problemi di ottimizzazione
Infinito dimensionale
Spazi di funzioni
Finito dimensionale
Discreta
Combinatoria Su grafi
Continua
Lineare Non lineare
Convessa Non convessa
Differenziabile Non differenziabile
In generale lavoreremo con funzioni di n variabili. Faremo altresì utilizzo dei seguenti concetti:
∥f ∥∞
x 1
y 1
x 2
y 2 Convesso
x 1
y 1 x 2
y 2
Non convesso
Alcuni insiemi convessi:
convesso.
H = {x ∈ Rn^ | wT^ x = c}
dove w ∈ Rn^ e c ∈ R.
S+^ = {x ∈ Rn^ | wT^ x ≥ c}
S−^ = {x ∈ Rn^ | wT^ x ≤ c} dove w ∈ Rn^ e c ∈ R.
Dimostrazione. Dobbiamo mostrare che ∀x, y ∈ H si ha che (1 − λ)x + λy ∈ H ∀λ ∈ [0, 1].
wT^ x = b e wT^ y = b
Moltiplicando per (1 − λ) e λ e sommando si ottiene:
(1 − λ)wT^ x = b(1 − λ) λwT^ y = bλ =⇒ (1 − λ)wT^ x + λwT^ y = b(1 − λ) + bλ = b
Si può dimostrare che anche un semispazio è un insieme convesso.
poliedro.
Esempio 1.6. P = {x ∈ R^4 | x 1 + 2x 2 − 3 x 3 + x 4 = 2, −x 1 + 2x 2 − x 3 + x 4 ≥ 3 , x 1 ≥ 0 }
di un numero finito di semispazi e iperpiani, che sono insiemi convessi.
convesso. Diciamo che f è convessa su S se:
∀x, y ∈ S =⇒ f ((1 − λ)x + λy) ≤ (1 − λ)f (x) + λf (y) ∀λ ∈ [0, 1]
Ovvero la funzione è sempre al di sotto della secante che congiunge due punti.
convessa se:
∀x, y ∈ S =⇒ f ((1 − λ)x + λy) < (1 − λ)f (x) + λf (y) ∀λ ∈ (0, 1)
x
f (x)
[x, y] Funzione strettamente convessa
x
f (x)
[x, y] Funzione convessa
Esempio 1.7.
convesso e f : Rn^ → R convessa su S. Allora ogni punto di minimo locale è anche punto di minimo globale. Inoltre l’insieme dei punti di minimo globale è convesso. Per cui o non ho punti di minimo globale o ne ho uno solo oppure ne ho infiniti.
Se indichiamo con X∗^ l’insieme dei punti di minimo globale (che è convesso), allora:
∀x∗, y∗^ ∈ X∗^ =⇒ (1 − λ)x∗^ + λy∗^ ∈ X∗^ ∀λ ∈ [0, 1]
f : Rn^ → R strettamente convessa su S. Allora ogni punto di minimo globale è unico.
Dimostrazione. Supponiamo per assurdo che ci siano due punti di minimo globale distinti x∗, y∗^ ∈ X∗ con x∗^ ̸= y∗. f (x∗) = f (y∗) = min z∈S f (z)
Allora per la stretta convessità di f si ha che:
f ((1 − λ)x∗^ + λy∗) < (1 − λ)f (x∗) + λf (y∗)
Quindi ∀λ ∈ (0, 1) si ha che:
f ((1 − λ)x∗^ + λy∗) < f (x∗) f (x∗) = f (y∗)
Ma f (x∗) ≤ f (x) ∀x ∈ S, si ha un assurdo.
Esempio 1.9. f (x) = cT^ x ∇f (x) = c ∇^2 f (x) = 0 f (x) = 12 xT^ Qx + cT^ x ∇f (x) = Qx + c ∇^2 f (x) = Q f (x) = 12 ∥Ax − b∥^2 ∇f (x) = AT^ (Ax − b) ∇^2 f (x) = AT^ A
aperto, f ∈ C^2 (Rn) è convessa su S se e solo se:
∇^2 f (x) è semidefinita positiva ∀x ∈ S
positiva se: xT^ Ax ≥ 0 ∀x ∈ Rn Se A è simmetrica, allora A è semidefinita positiva se e solo se tutti i suoi autovalori sono non negativi.
se: xT^ Ax > 0 ∀x ∈ Rn^ \ { 0 }
f ∈ C^2 (Rn) è strettamente convessa su S se e solo se:
∇^2 f (x) è definita positiva ∀x ∈ S
Nel caso di funzione quadratica la condizione è necessaria e sufficiente.
Diciamo che f è concava su S se:
∀x, y ∈ S f ((1 − λ)x + λy) ≥ (1 − λ)f (x) + λf (y) ∀λ ∈ [0, 1]
Diciamo che f è strettamente concava su S se:
∀x, y ∈ S x ̸= y =⇒ f ((1 − λ)x + λy) > (1 − λ)f (x) + λf (y) ∀λ ∈ (0, 1)
Per la concavità e la stretta concavità valgono teoremi analoghi a quelli visti per la convessità e la stretta convessità, con gli opportuni cambi di segno. Una funzione lineare f (x) = cT^ x è sia convessa che concava. Questo perché la matrice Hessiana è la matrice nulla n × n. Dunque è sia semidefinita positiva che semidefinita negativa.
convessa allora l’insieme S = {x ∈ Rn^ | g(x) ≤ 0 } è convesso.
Esempio 1.10. S = {x ∈ Rn^ : gi(x) ≤ 0 , i = 1,... , m}. Se gi : Rn^ → R sono funzioni convesse allora S è convesso.
Esempio 1.11.
x^21 + x^22 + x^23 − 4 ≤ 0 5 x 1 − 2 x 2 + x 3 − 2 ≤ 0 −x 1 + 2x 2 − x 3 − 1 ≥ 0 | {z } x 1 − 2 x 2 +x 3 +1≤ 0
Queste danno luogo a un insieme convesso.
Esempio 1.12. S = {x ∈ Rn^ : h(x) = 0}. Se h(x) = x^21 + x^22 + x^23 − 1 = 0 allora h è strettamente convessa, ma S non è convesso.
x 1
x 2
y x
Figura 3: Insieme non convesso dato un vincolo non lineare
Se h(x) = cT^ x + d = 0 (lineare) allora S = {x ∈ Rn^ : h(x) = 0} è convesso. Un vincolo lineare può essere definito con due vincoli di disuguaglianze.
Esempio 1.13. S = {x ∈ Rn^ : gi(x) ≤ 0 , i = 1,... , m}, hj (x) = 0, j = 1,... , r. Dove hj = cTj x + dj = 0 (lineare). Se tutte le gi sono convesse allora S è convesso.
3 x 1 + 5x 2 − 3 x 3 + 4x 4 ≥ 0 | {z } lineare 6 x^21 + 5x^22 + 4x^24 − 12 ≤ 0 6 x 1 − x 2 + 3x 3 − x 4 + 5 = 0 Quindi vincoli di uguaglianza devono essere definiti da funzioni lineari, mentre vincoli di disugua- glianza possono essere definiti da funzioni quadratiche o lineari.
f : Rn^ → R concava su S e non costante, allora ogni punto di minimo globale si trova sulla frontiera di S.
Quindi per f : Rn^ → R la curva di livello di f è: Cf = {x ∈ Rn^ : f (x) = c}̸ = ∅ Esempio 1.14. f (x 1 , x 2 ) = x^21 + x^22
Il teorema di Weierstrass ci assicura che per S ⊆ Rn^ compatto (chiuso e limitato) ̸= ∅ e f : Rn^ → R continua su S, allora f ammette minimo e massimo globale su S. Questa è una condizione sufficiente di esistenza. Nell’esempio precedente avevamo a che fare con un insieme compatto e f continua, quindi era garantita l’esistenza di un minimo. Applichiamo ora a un caso di ottimizzazione non vincolata. Se devo risolvere minx∈Rn^ f (x), non posso direttamente applicare il teorema di Weierstrass visto che non è vincolato (Rn^ non è limitato).
niamo che esista almeno un insieme di livello Lαf compatto, e f : Rn^ → R continua. Allora esiste almeno un punto di minimo globale di f su Rn.
Dimostrazione. Per minx∈Lαf f (x) so per certo che esiste x∗^ ∈ Rn^ tale che f (x∗) ≤ f (x) ∀x ∈ Lαf (per il teorema di Weierstrass). Se x /ˆ∈ Lαf allora f (ˆx) > α > f (x∗) per cui x∗^ è un punto di minimo globale di f su Rn.
Ci interessa studiare una condizione su f che ci assicuri che tutti gli insiemi di livello siano compatti.
Esempio 1.17. Per n = 1 osserviamo che per le funzioni coercive ciascun insieme di livello Lαf = {x ∈ R : f (x) ≤ α} è limitato.
α
x
f (x)
Figura 4: Funzione coerciva con insiemi di sotto- livello limitati
α
x
g(x)
Figura 5: Funzione non coerciva con sottolivello non limitato
compatti se e solo se f è coerciva. Cioè per ogni successione {xk} tale che ∥xk∥ → ∞ si ha che limk→∞ f (xk) = ∞.
R continua e coerciva. Allora esiste almeno un punto di minimo globale di f su Rn.
Esempio 1.18. f (x) = E(x) + τ ∥x∥^2 con τ > 0. Se E(x) è limitata inferiormente allora f (x) è coerciva.
Vediamo la coercività di funzioni quadratiche f (x) = 12 xT^ Qx + cT^ x con Q simmetrica. Se Q è definita positiva allora f (x) è coerciva. Ricordiamo infatti:
Allora
f (xn) =
xTn Qxn + cT^ xn ≥
λmin(Q)∥xn∥^2 − ∥c∥∥xn∥ = ∥xn∥
λmin(Q)∥xn∥ − ∥c∥
Per ∥xn∥ sufficientemente grande si ha che 12 λ |{z}min
0
(Q)∥xn∥ − ∥c∥ > 0. Quindi
lim n→∞ ∥xn∥
λmin(Q)∥xn∥ − ∥c∥
per cui limn→∞ f (xn) = ∞. Quindi essendo {xn} arbitraria posso concludere che f è coerciva.
Dimostrazione. f coerciva =⇒ Q è definita positiva. Supponiamo che Q sia semidefinita positiva. Allora esiste x¯ ̸= 0 tale che Qx¯ = 0.
cT^ x ≥ 0
Costruiamo una successione {xk} = {−kx¯} per cui:
∥xk∥ → ∞ per k → ∞
f (xk) =
k^2 ¯xT^ Qx¯ | {z } =
−kcT^ x¯
per cui f non è coerciva.
minimo.
min
∥Ax − b∥^2 , A ∈ Rm×n
f (x) =
∥Ax − b∥^2 =
(Ax − b)T^ (Ax − b) =
xT^ A| {z }T^ A Q
x − b| {z }T^ Ax cT^ x
bT^ b | {z } costante
Data la forma quadratica f (x) = 12 xT^ Qx + cT^ x, essendo Q = AT^ A e cT^ = −bT^ A, notiamo
uT^ Qu = uT^ AT^ Au = ∥Au∥^2 ≥ 0
Segue quindi AT^ A è semidefinita positiva. Se Rank(A) = n allora ∥Au∥ > 0 ∀u ̸= 0. Quindi A è definita positiva. Se invece Rank(A) < n allora ∃¯u ̸= 0 tale che A¯u = 0. Quindi
f (x) =
∥Ax − b∥^2 è coerciva ⇐⇒ Rank(A) = n ⇐⇒ Q = AT^ A è definita positiva
Caso 2 Rank(A) = r < n. Possiamo partizionare A come A =
colonne indipendenti di A tali che Rank(B) = n 1 e Rank(C) = n 2. Possiamo scrivere C = BΓ quindi C ha colonne dipendenti generate dalle colonne di B.
x =
x(1) x(2)
Caso non vincolato (^) ( minx∈Rn f (x) x ∈ Rn Introduciamo delle definizioni utili.
è una direzione di discesa per f in x se esiste ¯t > 0 tale che:
f (x + td) < f (x) ∀t ∈ (0, ¯t)
lim t→ 0 +
f (x + td) − f (x) t
= Df (x, d) | {z } se esiste
direzione di discesa per f in x.
Dimostrazione. lim t→ 0 +
f (x + td) − f (x) t
= Df (x, d) = ∇f (x)T^ d | {z } per differenziabilità ma ∇f (x)T^ d < 0 =⇒ limt→ 0 +^ f (x + td) < f (x) per t > 0 sufficientemente piccolo.
allora: ∇f (x)T^ d = −∇f (x)T^ ∇f (x) = −∥∇f (x)∥^2 < 0 per cui certamente siamo in presenza di una direzione di discesa (derivata direzionale negativa).
Esempio 1.21. Si definisca in R^5 una funzione f : R^5 → R, un punto x¯ ∈ R^5 , una direzione d ∈ R^5 , tale che ha 2 componenti diverse da 0 ed è di discesa per f in ¯x. Supponiamo che f (x) = x^31 − 2 x^22 + x^43 − x 4 x 5 + 3x 5. Il gradiente è:
∇f (x) =
3 x^21 − 4 x 2 4 x^33 −x 4 − x 5 3
Supponiamo che x¯ = (1, 2 , 1 , − 1 , 1). Quindi
∇f (¯x) =
Supponiamo che d = (− 1 , 1 , 0 , 0 , 0). Allora:
∇f (¯x)T^ d = 3(−1) − 8(1) + 4(0) − 2(0) + 3(0) = − 11 < 0
Quindi d è una direzione di discesa per f in ¯x.
Sotto ipotesi di differenziabilità e di convessità di f , la condizione:
∇f (x)T^ d < 0
è necessaria e sufficiente per dire che d è una direzione di discesa per f in x.
x ¯
d
Esempio 1.22 (Funzione di una variabile). Si osserva che f ′( x¯) = 0 (flesso a tangente orizzontale), tuttavia osserviamo che f (x + td) < f (x) ∀t.
Dimostrazione. Dimostriamo che è necessaria (sufficiente già dimostrata). Sfruttiamo la convessità di f , per cui diciamo che è convessa se e solo se:
f (y) ≥ f (x) + ∇f (x)T^ (y − x)
Sia d una direzione di discesa per f in x, chiamo y = x + td allora:
f (x) > f (x + td) ≥ f (x) + t∇f (x)T^ d =⇒ t∇f (x)T^ d < 0 t ∈ (0, ¯t)
Quindi ∇f (x)T^ d < 0.
Sia f una funzione due volte differenziabile.
negativa per f in x se: dT^ ∇^2 f (x)d < 0
volte differenziabile e d ∈ Rn^ tale che
Allora d è di discesa per f in x.
Dimostrazione. f è due volte differenziabile, quindi:
f (x + td) = f (x) + t∇f (x)T^ d +
t^2 2
dT^ ∇^2 f (x)d + β(x, td)
è approssimabile con un equazione quadratica in t e vale che limt→ 0 β(x,td t 2 )= 0.
f (x + td) = f (x) +
t^2 2
dT^ ∇^2 f (x)d + β(x, td)
f (x + td) − f (x) t^2
dT^ ∇^2 f (x)d +
β(x, td) t^2 per t sufficientemente piccolo si ha che β(x,td t 2 )→ 0 e la quantità 12 dT^ ∇^2 f (x)d < 0 è negativa. Quindi f (x + td) < f (x) e quindi d è di discesa per f in x.