30.06.2013 Views

Studio di un algoritmo di consensus Newton-Raphson ... - Automatica

Studio di un algoritmo di consensus Newton-Raphson ... - Automatica

Studio di un algoritmo di consensus Newton-Raphson ... - Automatica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

valore me<strong>di</strong>o globale: stavolta i bit trasmessi saranno<br />

O(n) su O(1) metri;<br />

3) definiamo <strong>un</strong> percorso che passi attraverso tutti i no<strong>di</strong>,<br />

visitandoli solo <strong>un</strong>a volta e saltando dal nodo corrente al<br />

più vicino ad esso. La me<strong>di</strong>a globale può essere calcolata<br />

durante il percorso <strong>di</strong> visita: il nodo corrente aggi<strong>un</strong>ge la<br />

sua me<strong>di</strong>a locale al valore totale accumulato fino a quel<br />

p<strong>un</strong>to. Alla fine avremo quin<strong>di</strong> <strong>un</strong> totale proporzionale<br />

alla me<strong>di</strong>a globale. I bit trasmessi, tra i no<strong>di</strong>, saranno con<br />

evidenza O(n) ma il percorso compiuto è me<strong>di</strong>amente<br />

solo <strong>di</strong> O(n−1/2 ) metri.<br />

L’ultimo approccio è quin<strong>di</strong> molto più efficiente dei due<br />

precedenti. La me<strong>di</strong>a può essere vista come il valore che<br />

minimizza f<strong>un</strong>zioni costo quadratiche, ossia come <strong>un</strong> problema<br />

<strong>di</strong> ottimizzazione convessa del tipo:<br />

x ∗ = argmin<br />

x<br />

1<br />

f(x) = argmin<br />

n<br />

x<br />

n<br />

fi(x)<br />

dove x∗ è il parametro da stimare, f(x) è la f<strong>un</strong>zione <strong>di</strong> costo<br />

globale da minimizzare data dalla somma <strong>di</strong> n f<strong>un</strong>zioni costo<br />

fi(x) che <strong>di</strong>pendono dalle misure rilevate dall’i-esimo sensore.<br />

Se xi,j è la j-esima misura fornita dall’i-esimo sensore,<br />

continuando l’esempio avremo:<br />

f(x) = 1<br />

n<br />

n<br />

i=1<br />

fi(x) fi(x) = 1<br />

m<br />

i=1<br />

m<br />

j=1<br />

(xi,j −x) 2<br />

L’<strong>algoritmo</strong> agisce passando <strong>un</strong>a stima <strong>di</strong> x ∗ nodo per nodo,<br />

il quale aggiorna il parametro riducendo il proprio costo<br />

locale e passando la nuova stima al nodo successivo che<br />

ripeterà l’operazione. Asintoticamente si raggi<strong>un</strong>gerà così il<br />

valore <strong>di</strong> minimo x ∗ . Si può notare inoltre che, oltre alla<br />

maggiore velocità computazionale, l’<strong>algoritmo</strong> <strong>di</strong> <strong>consensus</strong><br />

permette anche <strong>un</strong> minor <strong>di</strong>spen<strong>di</strong>o in termini energetici<br />

rispetto ad <strong>un</strong> controllo centralizzato, specialmente nel caso<br />

in cui si abbiano sensori molto <strong>di</strong>stanti tra <strong>di</strong> loro.<br />

B. Problemi <strong>di</strong> regressione lineare e robusta<br />

Un’analisi <strong>di</strong> regressione è <strong>un</strong> problema nel quale si cerca<br />

<strong>di</strong> trovare <strong>un</strong>a f<strong>un</strong>zione che si avvicini il più possibile ad <strong>un</strong><br />

insieme <strong>di</strong> dati rilevati, tipicamente p<strong>un</strong>ti nel piano.<br />

Il nostro <strong>algoritmo</strong> può essere efficacemente impiegato allo<br />

scopo, infatti la f<strong>un</strong>zione <strong>di</strong> regressione <strong>di</strong> interesse può essere<br />

parametrizzata nella forma:<br />

m<br />

fθ(x) = θihi(x)<br />

i=1<br />

dove hi(x) sono f<strong>un</strong>zioni note e θ = [θ1θ2...θm] T sono<br />

parametri incogniti determinabili in base ai dati rilevati<br />

{(xi,yi)} N i=1 . I parametri incogniti si possono calcolare attraverso<br />

la formula:<br />

N<br />

(yi −fθ(xi)) 2<br />

θ ∗ = argmin<br />

θ<br />

i=1<br />

Le formule appena introdotte utilizzano la classica f<strong>un</strong>zione<br />

<strong>di</strong> costo quadratica y −f(x) 2 per risolvere il problema <strong>di</strong><br />

ottimizzazione convessa. Un problema <strong>di</strong> minimizzazione ai<br />

minimi quadrati si risolve in modo imme<strong>di</strong>ato con semplici<br />

routine numeriche, come descritto nel libro <strong>di</strong> G. Picci [16],<br />

l’<strong>un</strong>ica ipotesi importante è che la f<strong>un</strong>zione obiettivo sia<br />

quadratica (e che la forma quadratica associata sia semidefinita<br />

positiva).<br />

Nelle reti <strong>di</strong> sensori ci sono molte ragioni che portano<br />

alla scelta <strong>di</strong> schemi alternativi e quin<strong>di</strong> <strong>di</strong> f<strong>un</strong>zioni costo<br />

<strong>di</strong>fferenti dalla classica f<strong>un</strong>zione costo quadratica. Un esempio<br />

esplicativo può essere il seguente.<br />

Supponiamo <strong>di</strong> dover monitorare l’inquinamento <strong>di</strong> <strong>un</strong>’area<br />

urbana attraverso <strong>un</strong>a rete <strong>di</strong> n sensori, ogn<strong>un</strong>o dei quali<br />

rileva m misure durante il giorno e, alla fine della giornata,<br />

si stabilisce che il valore dell’inquinamento complessivo è la<br />

me<strong>di</strong>a delle misure raccolte.<br />

Se la varianza d’errore <strong>di</strong> ogni misura vale σ2 , assumendo<br />

per semplicità <strong>di</strong>stribuzioni dei campioni in<strong>di</strong>pendenti identicamente<br />

<strong>di</strong>stribuiti (i.i.d), il valore finale <strong>di</strong> inquinamento avrà<br />

varianza σ2 . Se però avessimo, ad esempio, il 10% dei sensori<br />

mn<br />

danneggiati o calibrati male con varianze d’errore <strong>di</strong> 100σ2 ,<br />

la varianza della misura finale crescerebbe ben <strong>di</strong> <strong>di</strong>eci volte.<br />

Ecco il motivo che ci spinge ad utilizzare f<strong>un</strong>zioni costo<br />

<strong>di</strong>verse dalla quadratica, più ”robuste” nel tener conto <strong>di</strong><br />

possibili errori. Entriamo quin<strong>di</strong> nel campo della regressione<br />

robusta.<br />

Le f<strong>un</strong>zioni <strong>di</strong> costo quadratiche sono infatti particolarmente<br />

sensibili alla presenza <strong>di</strong> outliers, ossia <strong>di</strong> valori anomali ed<br />

inconsueti se paragonati al resto delle osservazioni. I meto<strong>di</strong> <strong>di</strong><br />

regressione robusta hanno lo scopo <strong>di</strong> rendere quanto meglio<br />

ininfluenti gli eventuali outliers attraverso f<strong>un</strong>zioni costo appositamente<br />

stu<strong>di</strong>ate: le più note sono quella <strong>di</strong> Huber, L1 (o Laplace), ε-insensitive (chiamata anche deadzone-linear) e<br />

log-barrier (si veda allo scopo Fig.4 ed i testi [6] e [11]).<br />

In Fig. III-B si può apprezzare la <strong>di</strong>fferenza <strong>di</strong> risultati che<br />

si ottengono in <strong>un</strong> problema <strong>di</strong> regressione se viene utilizzata<br />

<strong>un</strong>a f<strong>un</strong>zione <strong>di</strong> costo quadratica (linea tratteggiata rossa) e<br />

la f<strong>un</strong>zione <strong>di</strong> costo <strong>di</strong> L1 (linea continua nera): è evidente<br />

l’influenza che hanno gli outliers (cerchi rossi) nel primo caso,<br />

mentre nel secondo caso la retta <strong>di</strong> regressione appare meno<br />

con<strong>di</strong>zionata dagli outliers; allo scopo la si confronti con la<br />

retta ”pulita” a p<strong>un</strong>tini <strong>di</strong> colore blu.<br />

Il concetto <strong>di</strong> regressione robusta verrà ripreso nel seguito<br />

della relazione con l’analisi dettagliata dell’<strong>algoritmo</strong> nel caso<br />

<strong>di</strong> impiego <strong>di</strong> f<strong>un</strong>zioni costo robuste del tipo L1 .<br />

C. Allocazione <strong>di</strong> risorse<br />

Un’altra possibile applicazione del nostro <strong>algoritmo</strong> può<br />

riguardare il campo dell’allocazione ottimale <strong>di</strong> risorse per<br />

problemi computazionali. Si pensi ad esempio a reti internet<br />

con decine <strong>di</strong> <strong>un</strong>ità <strong>di</strong> calcolo connesse tra loro: è evidente<br />

l’utilità, anche in termini economici, <strong>di</strong> <strong>un</strong> <strong>algoritmo</strong> che<br />

ottimizzi le prestazioni computazionali dell’intera rete.<br />

Siano stavolta i processori <strong>di</strong> <strong>un</strong> sistema i no<strong>di</strong> del grafo<br />

mentre i lati <strong>di</strong> esso siano le connessioni fisiche presenti tra

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!