Ricostruzione sparsa
AMPL: Esempi NLP
F. Rinaldi
Dipartimento di Matematica
Università di Padova
Corso di Laurea Matematica
F. Rinaldi
AMPL: Esempi NLP
Ricostruzione sparsa
Outline
AMPL: Esempi NLP
Ricostruzione sparsa
F. Rinaldi
AMPL: Esempi NLP
Ricostruzione sparsa
Esempio: Il caso della ricostruzione di segnali
rumorosi
Esercizio
Dati:
◮ un segnale reale (rumoroso) b ∈ R m ,
◮ un dizionario di segnali standard A = [a1 . . . an ], con A ∈ R m×n e m ≪ n,
l’obiettivo é quello di approssimare b con una combinazione lineare del minor numero
possibile di elementi del dizionario.
F. Rinaldi
AMPL: Esempi NLP
Ricostruzione sparsa
Procedura
◮ Formulazione del problema
◮ Analisi del problema
◮ Scelta del metodo risolutivo
◮ Costruzione modello AMPL
◮ Risoluzione
◮ Verifica
F. Rinaldi
AMPL: Esempi NLP
Ricostruzione sparsa
Formulazione esatta
◮ Ricostruzione sparsa
min kxk0
Ax = b
F. Rinaldi
AMPL: Esempi NLP
(1)
Ricostruzione sparsa
Riformulazione del problema
◮ Ricostruzione sparsa
min
n
X
(1 − e−5yi )
i=1
Ax = b
−y ≤ x ≤ y
F. Rinaldi
AMPL: Esempi NLP
(2)
Ricostruzione sparsa
Analisi problema e Scelta Metodo Risolutivo
◮ Problema con funzione obiettivo concava e vincoli lineari
◮ Possibile utilizzare Frank-Wolfe con passo unitario
◮ Risolviamo un numero finito di problemi di PL
◮ Necessario algoritmo per risoluzione di problemi di PL (e.g. CPLEX)
F. Rinaldi
AMPL: Esempi NLP
Ricostruzione sparsa
Schema dell’Algoritmo
Require: x 0 ∈ Ω.
For k = 0, 1, . . .,
Calcola x k risolvendo il problema:
x k = arg min ∇f (x k )T (x − x k )
x∈Ω
If
∇f (x k )T (x k − x k ) ≥ 0
STOP
Else Definisci una direzione di discesa
dk = xk − xk
e genera un nuovo vettore
x k +1 = x k + αk d k
con αk ∈ (0, 1] passo opportunamente scelto.
EndIf
EndFor
F. Rinaldi
AMPL: Esempi NLP
(3)
Ricostruzione sparsa
Schema dell’Algoritmo
Require: x 0 ∈ Ω.
For k = 0, 1, . . .,
Calcola x k risolvendo il problema:
x k = arg min ∇f (x k )T (x − x k )
x∈Ω
If
∇f (x k )T (x k − x k ) ≥ 0
STOP
Else Definisci una direzione di discesa
dk = xk − xk
e genera un nuovo vettore
x k +1 = x k + αk d k
con αk ∈ (0, 1] passo opportunamente scelto. Passo αk = 1
EndIf
EndFor
F. Rinaldi
AMPL: Esempi NLP
(3)
Ricostruzione sparsa
Commenti
◮ Passo scelto αk = 1
◮ Scelta Punto Iniziale: Risolvere un problema di PL opportuno (e.g. con c = e per
f.o.)
◮ Criterio di Arresto: ∇f (x k )T (x k − x k ) ≥ −ǫ
F. Rinaldi
AMPL: Esempi NLP
Ricostruzione sparsa
Generazione Istanze
◮ dimensioni m = 32 n = 128
◮ A matrice randomica (Normal(0,1))
◮ x ⋆ soluzione generata randomicamente con s = 5 componenti non nulle
◮ b = Ax ⋆ + ǫ
◮ ǫ generato randomicamente (Normal(0,0.0001))
F. Rinaldi
AMPL: Esempi NLP
Ricostruzione sparsa
Formulazione con errore
◮ Ricostruzione sparsa
min kxk0
kAx − bk2 ≤ δ
F. Rinaldi
AMPL: Esempi NLP
(4)