Προσαρμοστικό σχήμα συμπίεσης δεδομένων σε ασύρματα...

Post on 18-Mar-2016

57 views 3 download

description

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Πρόγραμμα μεταπτυχιακών σπουδών. Προσαρμοστικό σχήμα συμπίεσης δεδομένων σε ασύρματα δίκτυα αισθητήρων Μαρία Σ. Πουταχίδου ( Μ1151 ) Δήμητρα Α. Τσιρίκου ( Μ1150 ) Επιβλέποντες: - PowerPoint PPT Presentation

Transcript of Προσαρμοστικό σχήμα συμπίεσης δεδομένων σε ασύρματα...

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

Πρόγραμμα μεταπτυχιακών σπουδών

Προσαρμοστικό σχήμα συμπίεσης δεδομένων σε ασύρματα δίκτυα αισθητήρων

Μαρία Σ. Πουταχίδου ( Μ1151 )Δήμητρα Α. Τσιρίκου ( Μ1150 )

Επιβλέποντες:Επίκουρος καθηγητής Ευστάθιος ΧατζηευθυμιάδηςΕπίκουρος καθηγητής Χρήστος Αναγνωστόπουλος

ΑΘΗΝΑ ΙΟΥΛΙΟΣ 2012

Περιεχόμενα

• Γενικά για τη διπλωματική• PC3• Το πρόβλημα της πώλησης του αντικειμένου• Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης του infHorPC31• INFHORPC31• Το πρόβλημα του Χρονικά Μειωμένου Συσσωρευτικού Κέρδους• Kernel Density Estimator• INFHORPC32• Incremental Principal Component Analysis• INCPCA• Πειραματικό σύνολο δεδομένων και ενεργειακό μοντέλο• Μετρικές επίδοσης• Διαγράμματα • Συμπεράσματα

Γενικά για τη Διπλωματική Εργασία

• Πρόταση τριών νέων σχημάτων για τη συμπίεση πληροφορίας πλαισίου (contextual information) που προέρχεται από ασύρματα δίκτυα αισθητήρων.

• Τα σχήματα αυτά βασίζονται στο σχήμα PC3 ( Principal component–based context compression )

• Στόχος: η βελτίωση του PC3 με την περαιτέρω μείωση της κατανάλωσης ενέργειας, με παράλληλη διατήρηση του σφάλματος μεταφοράς της πληροφορίας σε ανεκτά επίπεδα.

• Τα δυο πρώτα σχήματα εμπνευσμένα από τη θεωρία βέλτιστης παύσης ( optimal stopping theory).

• Το τρίτο σχήμα βασίζεται στην αυξητική ανάλυση κύριων συνιστωσών ( incremental principal component analysis ).

PC3 (1/2)

Ο αλγόριθμος PC3 αποτελείται από 2 φάσεις:

• Φάση εκμάθησης (learning phase)

- Λήψη στον πομπό m δειγμάτων και αποστολή τους στο δέκτη χωρίς συμπίεση.

- Υπολογισμός στον πομπό της βάσης συμπίεσης μέσω της μεθόδου PCA.

• Φάση (από)συμπίεσης ((de) compression phase)

- Λήψη στο δέκτη της βάσης συμπίεσης.

- Για l χρονικές μονάδες λήψη στον πομπό νέων δειγμάτων και αποστολή τους στο δέκτη αφού συμπιεστούν.

- Για l χρονικές μονάδες αποσυμπίεση των συμπιεσμένων δειγμάτων που ελήφθησαν στο δέκτη.

PC3 (2/2)

Το πρόβλημα της πώλησης ενός αντικειμένου(1/4)

• Έστω Χ1, Χ2, …., Χn, iid παρατηρήσεις που αντιπροσωπεύουν την τιμή του αντικειμένου κάθε χρονική στιγμή και ακολουθούν γνωστή κατανομή F(x).

• Έστω η ακολουθία ανταμοιβής χωρίς ανάκληση

Υ0=-∞, Υ1 = Χ1 – c, …, Yn = Xn – n*c, …, Y∞=-∞,

και η ακολουθία ανταμοιβής με ανάκληση

Υ0=-∞, Υ1 = Μ1 – c, …, Yn = Μn – n*c, …, Y∞=-∞

όπου c > 0 κόστος ανά παρατήρηση και Μn = max{Χ1, Χ2, …., Χn}

Το πρόβλημα της πώλησης ενός αντικειμένου (2/4)

• Έστω το πρόβλημα της πώλησης χωρίς ανάκληση: Yn = X

n – n*c.

• Έστω V* αναμενόμενη ανταμοιβή από έναν κανόνα βέλτιστης παύσης. Υποθέτουμε ότι πληρώνουμε c και παρατηρούμε Χ1 = x1. Συνεχίζοντας από το σημείο αυτό, εφόσον δεν έχουμε ανάκληση, η τιμή x1 χάνεται και το κόστος c έχει ήδη πληρωθεί, οπότε είναι σα να ξεκινάμε το πρόβλημα ξανά από την αρχή.

• Η αρχή της βελτιστότητας λέει ότι, εάν x1 < V*, συμφέρει να συνεχίσουμε, και εάν x1 > V*, θα πρέπει να σταματήσουμε τη διαδικασία. Έτσι ο κανόνας που προκύπτει από την αρχή της βελτιστότητας είναι

Ν* = min{n ≥ 1: Xn≥ V*} (1).

Το πρόβλημα της πώλησης ενός αντικειμένου (3/4)

• Το πρόβλημα είναι να υπολογιστεί το αναμενόμενο κέρδος

(1)

όπου F είναι η συνάρτηση κατανομής των παρατηρήσεων Χi.

• Με αναδιάταξη των όρων, έχουμε ή� (2) Αφού η αριστερή πλευρά είναι συνεχής στο V* και μειώνεται από το -∞ έως το μηδέν, υπάρχει μία μοναδική λύση για το V* για κάθε c>0.

• Υποθέτουμε ότι η F είναι ομοιόμορφη στο διάστημα (0,1).

cxxdFxdFVcVXEVV

V

*

*)()(),(max **

1*

*

)()( *VcxdFVx cVXE )( *

Το πρόβλημα της πώλησης ενός αντικειμένου (4/4)

• Για 0≤ u≤ 1,

ενώ για u<0,

• Εξισώνοντας με c, βρίσκουμε

V* = 1 – (2c)1/2, αν c≤ 1/2,

V* = -c+ ½. αν c>½.

Ο βέλτιστος κανόνας N* υποδεικνύει να δεχτούμε την πρώτη προσφορά που θα είναι μεγαλύτερη ή ίση με V*.

1 2 2/)1()()(u

uxdFux

1

02/1)()( uxdFux

Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31 (1/4)

• Έστω yk το δείγμα που λαμβάνουμε από τους αισθητήρες, yk’ το συμπιεσμένο δείγμα που στέλνει ο πομπός στο δέκτη και yk* το διάνυσμα προκύπτει από την αποσυμπίεση του yk’ στο δέκτη.

• Ορίζουμε το ποσοστιαίο σφάλμα ανακατασκευής του αρχικού διανύσματος στο δέκτη λκ

όπου ||.|| η ευκλείδια νόρμα και

• Έστω ένα κατώφλι σφάλματος errorThres

Αν λκ <= errorThres, τότε Xk = 0.

Αλλιώς, Xk = min{λκ,1}.

kkk yyy /*),0[

Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31(2/4)

• Έστω X1, X2, ….., Xn παρατηρήσεις που δηλώνουν το σφάλμα κάθε στιγμή.

• Θεωρώντας σαν κέρδος την επίτευξη ελάχιστου σφάλματος, έστω η ακολουθία ανταμοιβής

Υ0=+∞, Υ1 = Χ1 + c, …, Yn = Xn + n*c, …, Y∞=+∞,

όπου c>0 το κόστος ανά παρατήρηση.

• Έστω το πρόβλημα Yn = Xn + n*c, παρόμοιο με το πρόβλημα πώλησης αντικειμένου.

• Έστω V* το αναμενόμενο κόστος (σφάλμα) από τον κανόνα βέλτιστης παύσης

Ν* = min{n ≥ 1: Xn≤ V*} (1).

Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31 (3/4)

• Το πρόβλημα είναι να υπολογιστεί το αναμενόμενο κόστος

(1)

όπου F είναι η συνάρτηση κατανομής των παρατηρήσεων Χi.

• Με αναδιάταξη των όρων, έχουμε (2) • Υποθέτουμε ότι η F είναι ομοιόμορφη στο διάστημα (0,1).

cxdFVxxdFcVXEVV

V

)()(}),(min{

*

*

**1

*

cxdFVxV

)()(

**

Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31 (4/4)

• Για 0≤ u≤ 1,

• Εξισώνοντας με c, βρίσκουμε

V* = (2c)1/2, αν c≤ 1/2

Ο βέλτιστος κανόνας N* υποδεικνύει να δεχτούμε την πρώτη προσφορά που θα είναι μικρότερη ή ίση με V*.

u

uxdFux0

2 2/)()(

INFHORPC31Είσοδοι: m (ορίζοντας φάσης εκμάθησης), c (κόστος), errorThres (κατώφλι σφάλματος)

currentSample = 0

Μέχρι να τελειώσει το δείγμα

1. Στείλε m διανύσματα διάστασης n ασυμπίεστα, υπολόγισε τη βάση ιδιοδιανυσμάτων με ακρίβεια 0.9. currentSample = currentSample + m

2. Θέσε currentError = 1.1 (για να μπει τουλάχιστον μια φορά στην επανάληψη)3. Όσο currentError > sqrt(2c) και υπάρχει δείγμα

3.1currentSample = currentSample + 13.2 Συμπίεσε το τρέχον δείγμα y και στείλε το στον δέκτη y’3.3 Αποσυμπίεση του δείγματος στον δέκτη, ynew

3.4 Υπολογισμός του λόγου λκ = ||y – ynew||/||y||.3.5 Αν λκ <= errorThrescurrentError = 0

Αλλιως,currentError = min{λκ,1} τέλος αν

Το πρόβλημα του Χρονικά Μειωμένου Συσσωρευτικού Κέρδους (1/3)

• Έστω Χt τυχαία μεταβλητή την χρονική στιγμή t. Η τιμή της μεταβλητής Χt αναφέρεται σε ποσότητα που συσσωρεύεται, π.χ., κέρδη.

• Η συσσώρευση St είναι το άθροισμα των τιμών που έχουν παρατηρηθεί από τη χρονική στιγμή 1 μέχρι και t, οπότε St είναι τυχαία μεταβλητή

St = Χ1 + Χ2 + …. + Χt

• Κάθε χρονική στιγμή t υπάρχει η πιθανότητα 1-β να χάσουμε το κέρδος μας St και πιθανότητα β να μην το χάσουμε, 0<β<1.

Το πρόβλημα του Χρονικά Μειωμένου Συσσωρευτικού Κέρδους (2/3)

• Ορίζουμε την τυχαία μεταβλητή Ζt όπου

Ζt = 1 με πιθανότητα β, Ρ{Ζt = 1} = β και

Ζt = 0 με πιθανότητα 1-β, Ρ{Ζt = 0} = 1-β

Στόχος είναι να σταματήσουμε εκείνη την χρονική στιγμή όπου μεγιστοποιούμε το κέρδος με το φόβο ότι μπορούμε να τα χάσουμε όλα.

• Ορίζουμε ως συνάρτηση κέρδους την ποσότητα

Yt = Ζ1Ζ2….Ζt(X1 + X2 + …… + Xt)

Αν τη στιγμή t έχουμε Ζt = 0 τότε το κέρδος μας είναι Υt = 0 Αλλιώς το κέρδος μας είναι Υt = (X1 + X2 + …… + Xt) = St

Το πρόβλημα του Χρονικά Μειωμένου Συσσωρευτικού Κέρδους (3/3)

• Το πρόβλημα μας είναι να βρούμε το t* έτσι ώστε

t* = arg{max(Yt, t=1,2, …)}

δηλαδή θέλουμε να παραμένουμε όλο και περισσότερο στη διαδικασία για να συσσωρεύσουμε όλο και περισσότερες Χt τιμές αλλά καθώς παρατείνουμε την διαδικασία τόσο μεγαλύτερο είναι το κόστος αν τα χάσουμε όλα.

• Βάσει της θεωρίας βέλτιστης παύσης η αναδρομική εξίσωση είναι:

Yt = max(St, E{Yt+1})

και σταματάμε τη διαδικασία Χt, και κατ’ επέκταση το άθροισμα St

όταν Yt > E{Yt+1}.

Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC32 (1/2)

• Έστω Χt τυχαία μεταβλητή τη χρονική στιγμή. Η τιμή της αναφέρεται σε κέρδος που συσσωρεύεται, όπου κέρδος ποσοστό δειγμάτων με λκ <= θ, θ κατώφλι σφάλματος.

Χt = 1, αν λκ <= θ

Χt = 0, αλλιώς

• Ορίζουμε συνάρτηση κέρδους την ποσότητα

Υt = Ζ1* Ζ2*….* Ζt*(Χ1+ …+ Χt) = βt*St, β (0, 1)

• Με βάση το πρόβλημα του χρονικά μειωμένου συσσωρευτικού κέρδους καταλήγουμε στον κανόνα βέλτιστης παύσης

t* = min{t: St > β*Ε{ Χt } / (1 – β)}

Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC32 (2/2)

• Έστω μη σταθερή μέση τιμή

Ε{Χt} = P(λκ <= θ) * 1 + P(λκ > θ) * 0 = P(λκ <= θ)

ο κανόνας βέλτιστης παύσης τροποποιείται ως εξής

t* = min{t: St > β* P(λκ<= θ) / (1 – β)}

• Ο υπολογισμός της πιθανότητας P(λκ<= θ) γίνεται με τη χρήση του εκτιμητή πυκνότητας Kernel (Kernel Density Estimator, KDE), εφόσον τα λκ δεν ακολουθούν γνωστή κατανομή.

Kernel Density Estimator

• Υπολογίζει τη συνάρτηση πυκνότητας πιθανότητας P(x) για ένα σύνολο δειγμάτων

• Συσσωρευτική συνάρτηση κατανομής (cumulative distribution function) CDF(x) = P(x)

• Συνάρτηση σφάλματος γκαουσιανής συνάρτησης

N

i

xx i

eN

xP1

2)(

*2*11)(

2

))2

)((1(21*1)(

1

iN

i

xxerfN

xCDF

2

2

2

*1

*4

1)( xa

xax

exerf

INFHORPC32Είσοδοι: m (ορίζοντας φάσης εκμάθησης), b (πιθανότητα κέρδους), errorThres (κατώφλι σφάλματος)

currentSample = 0

ErrorVector = []

Μέχρι να τελειώσει το δείγμα

1. Στείλε m διανύσματα διάστασης n ασυμπίεστα, υπολόγισε τη βάση ιδιοδιανυσμάτων με ακρίβεια 0.9. currentSample = currentSample + m

2. Θέσε totalGain = 0

3. Θέσε stopFactor = 1.1 (για να μπει τουλάχιστον μια φορά στην επανάληψη)

4. Όσο totalGain < stopFactor και υπάρχει δείγμα

4.1currentSample = currentSample + 1

4.2 Συμπίεσε το τρέχον δείγμα y και στείλε το στον δέκτη y’

4.3 Αποσυμπίεση του δείγματος στον δέκτη, ynew

4.4 Υπολογισμός του λόγου λκ = ||y – ynew||/||y||.

4.6 Αν λκ <= errorThres

totalGain = totalGain + 1

τέλος αν

4.7 Πρόσθεσε στο ErrorVector την τρέχουσα τιμή λκ.

4.8 p = cdf(errorThres, ErrorVector)

4.9 stopFactor = (b/(1-b))*p

Incremental Principal Component Analysis (1/3)

• Έστω ένα σύνολο Ν παρατηρήσεων. η μέση τιμή των παρατηρήσεων, Unp ο πίνακας των ιδιοδιανυσμάτων που προέκυψε από τη μέθοδο PCA και Λpp ο διαγώνιος πίνακας των ιδιοτιμών.

• Έστω μια καινούρια παρατήρηση . Το πρόβλημα είναι να υπολογίσουμε το σύνολο κύριων συνιστωσών για το νέο σύνολο παρατηρήσεων.

• Ανανεώνουμε τη μέση τιμή

• Ανανεώνουμε τον πίνακα συνδιακύμανσης

x

)(1

1' yxNN

x

y

Tnnnn yy

NNC

NNC )'('

)1(1 2'

Incremental Principal Component Analysis (2/3)

• Για τον υπολογισμό του νέου συνόλου ιδιοδιανυσμάτων πρέπει να επιλύσουμε το σύστημα

(1)

• Ο νέος πίνακας ιδιοδιανυσμάτων δίνεται από τη σχέση

όπου R(p+1)(p+1) μια περιστροφή του τρέχοντος συνόλου ιδιοδιανυσμάτων και το residue διάνυσμα.

όπου h το σφάλμα ανακατασκευής της νέας παρατήρησης από προβολή στο τρέχον σύνολο κύριων συνιστωσών.

''''nnnnnnnn UUC

)1)(1('' ]ˆ,[ ppnpnq RhUU

h

ώ

hhhh

,00||||,||||/ˆ 2

Incremental Principal Component Analysis (3/3)

• Αντικαθιστώντας τα C΄nn και U΄nq στο σύστημα (1) προκύπτει το σύστημα

Επιλύοντας το βρίσκουμε το ζητούμενο σύνολο ιδιοδιανυσμάτων.

)1)(1()1)(1()1)(1(22 ))1(0

001

(

ppppppT

T

Tpp RR

gggg

NN

NN

INCPCAΕίσοδοι: m (ορίζοντας φάσης εκμάθησης), acur (ακρίβεια συμπίεσης), noveltyThres (κατώφλι)

curSample = 01. Για i από 1 μέχρι m

α. Στείλε το διάνυσμα στο δέκτη χωρίς συμπίεσηβ. Αν i == m

Υπολόγισε τη βάση με τη μέθοδο PCA2. curSample = m+13. Μέχρι να τελειώσουν οι παρατηρήσεις

α. Βρες την προβολή του διανύσματος επάνω στην παλιά βάσηβ. Ανακατασκεύασε το διάνυσμαγ. Υπολόγισε το σχετικό σφάλμα ανάμεσα στο αρχικό διάνυσμα και το

ανακατασκευασμένο διάνυσμα.δ. Αν το σφάλμα > novelthyThres

i. Υπολόγισε τη νέα βάση με τη μέθοδο incremental PCAii. Υπολόγισε την απόσταση ανάμεσα την παλιά και τη νέα βάσηiii. Αν η απόσταση < novelthyThres && νέος #PCs > παλιός #PCs

Στείλε το διάνυσμα στο δέκτη χωρίς συμπίεση.Στείλε το νέο PC στο δέκτη. Αν curSample == m+1

Στείλε στο δέκτη τη βάση.iv. Αν η απόσταση < novelthyThres && νέος #PCs == παλιός #PCs

Στείλε το διάνυσμα στο δέκτη, αφού το συμπιέσεις.Αν curSample == m+1

Στείλε στο δέκτη τη βάση.v. Αν η απόσταση < novelthyThres

Στείλε το διάνυσμα στο δέκτη χωρίς συμπίεση.Στείλε τη νέα βάση στο δέκτη.

ε. Αν το σφάλμα <= novelthyThres i. Στείλε το διάνυσμα στο δέκτη, αφού το συμπιέσεις.

ii. Αν curSample == m+1Στείλε στο δέκτη τη βάση.

στ. curSample = curSample + 1

Πειραματικό σύνολο δεδομένων και ενεργειακό μοντέλο

• 3780 διανυσματικές μετρήσεις x = (temp1 , hum1 , temp2 , hum2 , temp3 , hum3 , wind4).

• Ενεργειακό μοντέλο Mica

Λειτουργία κόμβου Ενεργειακό κόστοςΕκτέλεση εντολής 4nJ/εντολή

Ανενεργός 9,6 mJ/s

Σε αναμονή 0,33 mJ/s

Εκπομπή 720nJ/bit

Λήψη 110nJ/bit

Μετρικές επίδοσης• Energy Gain: το ενεργειακό κέρδος μέχρι κάποια χρονική μονάδα

• Compression ratio: το ποσοστό συμπίεσης

• Mean total relative error: το μέσο συνολικό σχετικό σφάλμα ανακατασκευής του διανύσματος στον δέκτη

• Efficiency:η απόδοση

• Δυο μετρικές

και

• Για τα σχήματα με μη πεπερασμένο ορίζοντα συμπίεσης

• Αριθμός περιόδων συμπίεσης

• Μέσο μήκος οριζόντων συμπίεσης

δειγμάτων νασυμπίεστω λήψηςαποστολής/ ενέργεια συνολικήumption)EnergyCons - δειγμάτων νασυμπίεστω λήψηςαποστολής/ ενέργεια συνολική

EnergyGain

άίάέnRatioCompressio

##

ertmEnergyGainEfficiency

... )...1(*5.0*5.0 ertmEnergyGainncyMetricNewEfficie

Διαγράμματα (1/8)

Ενεργειακό κέρδος ως προς τον χρόνο για m = 7 και errorThres = 1%

Διαγράμματα (2/8)

Μεταβολή m.t.r.e ως προς το μήκος της φάσης εκμάθησης

Διαγράμματα (3/8)

Ποσοστό συμπίεσης ως προς τον χρόνο για m = 7 και errorThres = 1%

Διαγράμματα (4/8)

1η μετρική απόδοσης ως προς τον χρόνο για m = 7 και errorThres = 1%

Διαγράμματα (5/8)

2η μετρική απόδοσης ως προς τον χρόνο για m = 7 και errorThres = 1%

Διαγράμματα (6/8)

incPCA: μεταβολή της απόδοσης ως προς noveltyThres ( m = 7 )

Διαγράμματα (7/8)

Πλήθος περιόδων συμπίεσης infHorPC31 και infHorPC32 ως προς m (errorThres=1%)

Διαγράμματα (8/8)

Μήκος ορίζοντα συμπίεσης infHorPC31 και infHorPC32 ως προς m (errorThres = 1%)

Συμπεράσματα

Είδαμε ότι:

• Οι infHorPC31 και infHorPC32 είναι καλύτεροι ως προς την κατανάλωση ενέργειας συγκριτικά με τον PC3.

• Οι infHorPC31 και infHorPC32 διατηρούν το παραγόμενο σφάλμα σε ανεκτά επίπεδα, παρόλο που είναι μεγαλύτερο συγκριτικά με το σφάλμα του PC3.

• Ο incPCA έχει το μικρότερο ενεργειακό κέρδος από όλους.

• Ο incPCA έχει το μικρότερο σφάλμα από όλους.

Βέβαια τα αποτελέσματα εξαρτώνται από την επιλογή των τιμών των παραμέτρων και από το πειραματικό σύνολο το οποίο είναι αρκετά συσχετισμένο.

Ευχαριστούμε πολύ!

Ερωτήσεις;