ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Πρόγραμμα μεταπτυχιακών σπουδών Προσαρμοστικό σχήμα συμπίεσης δεδομένων σε ασύρματα δίκτυα αισθητήρων Μαρία Σ. Πουταχίδου ( Μ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, …, Y n = X n – n*c, …, Y ∞ =-∞, και η ακολουθία ανταμοιβής με ανάκληση Υ 0 =-∞, Υ 1 = Μ 1 – c, …, Y n = Μ n – n*c, …, Y ∞ =-∞ όπου c > 0 κόστος ανά παρατήρηση και Μ n = max{Χ 1, Χ 2, …., Χ n }
Το πρόβλημα της πώλησης ενός αντικειμένου (2/4) Έστω το πρόβλημα της πώλησης χωρίς ανάκληση: Y n = X n – n*c. Έστω V * αναμενόμενη ανταμοιβή από έναν κανόνα βέλτιστης παύσης. Υποθέτουμε ότι πληρώνουμε c και παρατηρούμε Χ 1 = x 1. Συνεχίζοντας από το σημείο αυτό, εφόσον δεν έχουμε ανάκληση, η τιμή x 1 χάνεται και το κόστος c έχει ήδη πληρωθεί, οπότε είναι σα να ξεκινάμε το πρόβλημα ξανά από την αρχή. Η αρχή της βελτιστότητας λέει ότι, εάν x 1 V *, θα πρέπει να σταματήσουμε τη διαδικασία. Έτσι ο κανόνας που προκύπτει από την αρχή της βελτιστότητας είναι Ν * = min{n ≥ 1: X n ≥ V * }(1).
Το πρόβλημα της πώλησης ενός αντικειμένου (3/4) Το πρόβλημα είναι να υπολογιστεί το αναμενόμενο κέρδος (1) όπου F είναι η συνάρτηση κατανομής των παρατηρήσεων Χ i. Με αναδιάταξη των όρων, έχουμε ή (2) Αφού η αριστερή πλευρά είναι συνεχής στο V* και μειώνεται από το - ∞ έως το μηδέν, υπάρχει μία μοναδική λύση για το V* για κάθε c>0. Υποθέτουμε ότι η F είναι ομοιόμορφη στο διάστημα (0,1).
Το πρόβλημα της πώλησης ενός αντικειμένου (4/4) Για 0≤ u≤ 1, ενώ για u<0, Εξισώνοντας με c, βρίσκουμε V* = 1 – (2c) 1/2, αν c≤ 1/2, V* = -c+ ½. αν c > ½. Ο βέλτιστος κανόνας N* υποδεικνύει να δεχτούμε την πρώτη προσφορά που θα είναι μεγαλύτερη ή ίση με V*.
Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31 (1/4) Έστω y k το δείγμα που λαμβάνουμε από τους αισθητήρες, y k ’ το συμπιεσμένο δείγμα που στέλνει ο πομπός στο δέκτη και y k * το διάνυσμα προκύπτει από την αποσυμπίεση του y k ’ στο δέκτη. Ορίζουμε το ποσοστιαίο σφάλμα ανακατασκευής του αρχικού διανύσματος στο δέκτη λ κ όπου ||.|| η ευκλείδια νόρμα και Έστω ένα κατώφλι σφάλματος errorThres Αν λ κ <= errorThres, τότε X k = 0. Αλλιώς, X k = min{λ κ,1}.
Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31(2/4) Έστω X 1, X 2, ….., X n παρατηρήσεις που δηλώνουν το σφάλμα κάθε στιγμή. Θεωρώντας σαν κέρδος την επίτευξη ελάχιστου σφάλματος, έστω η ακολουθία ανταμοιβής Υ 0 =+∞, Υ 1 = Χ 1 + c, …, Y n = X n + n*c, …, Y ∞ =+∞, όπου c>0 το κόστος ανά παρατήρηση. Έστω το πρόβλημα Y n = X n + n*c, παρόμοιο με το πρόβλημα πώλησης αντικειμένου. Έστω V* το αναμενόμενο κόστος (σφάλμα) από τον κανόνα βέλτιστης παύσης Ν * = min{n ≥ 1: X n ≤ V * } (1).
Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31 (3/4) Το πρόβλημα είναι να υπολογιστεί το αναμενόμενο κόστος (1) όπου F είναι η συνάρτηση κατανομής των παρατηρήσεων Χ i. Με αναδιάταξη των όρων, έχουμε (2) Υποθέτουμε ότι η F είναι ομοιόμορφη στο διάστημα (0,1).
Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC31 (4/4) Για 0≤ u≤ 1, Εξισώνοντας με c, βρίσκουμε V* = (2c) 1/2, αν c≤ 1/2 Ο βέλτιστος κανόνας N* υποδεικνύει να δεχτούμε την πρώτη προσφορά που θα είναι μικρότερη ή ίση με V*.
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 Συμπίεσε το τρέχον δείγμα y και στείλε το στον δέκτη y’ 3.3 Αποσυμπίεση του δείγματος στον δέκτη, ynew 3.4 Υπολογισμός του λόγου λκ = ||y – ynew||/||y||. 3.5 Αν λκ <= errorThres currentError = 0 Αλλιως, currentError = min{λκ,1} τέλος αν
Το πρόβλημα του Χρονικά Μειωμένου Συσσωρευτικού Κέρδους (1/3) Έστω Χ t τυχαία μεταβλητή την χρονική στιγμή t. Η τιμή της μεταβλητής Χ t αναφέρεται σε ποσότητα που συσσωρεύεται, π.χ., κέρδη. Η συσσώρευση S t είναι το άθροισμα των τιμών που έχουν παρατηρηθεί από τη χρονική στιγμή 1 μέχρι και t, οπότε S t είναι τυχαία μεταβλητή S t = Χ 1 + Χ 2 + …. + Χ t Κάθε χρονική στιγμή t υπάρχει η πιθανότητα 1-β να χάσουμε το κέρδος μας S t και πιθανότητα β να μην το χάσουμε, 0<β<1.
Το πρόβλημα του Χρονικά Μειωμένου Συσσωρευτικού Κέρδους (2/3) Ορίζουμε την τυχαία μεταβλητή Ζ t όπου Ζ t = 1 με πιθανότητα β, Ρ{Ζ t = 1} = β και Ζ t = 0 με πιθανότητα 1-β, Ρ{Ζ t = 0} = 1-β Στόχος είναι να σταματήσουμε εκείνη την χρονική στιγμή όπου μεγιστοποιούμε το κέρδος με το φόβο ότι μπορούμε να τα χάσουμε όλα. Ορίζουμε ως συνάρτηση κέρδους την ποσότητα Y t = Ζ 1 Ζ 2 ….Ζ t (X 1 + X 2 + …… + X t ) Αν τη στιγμή t έχουμε Ζ t = 0 τότε το κέρδος μας είναι Υ t = 0 Αλλιώς το κέρδος μας είναι Υ t = (X 1 + X 2 + …… + X t ) = S t
Το πρόβλημα του Χρονικά Μειωμένου Συσσωρευτικού Κέρδους (3/3) Το πρόβλημα μας είναι να βρούμε το t* έτσι ώστε t* = arg{max(Y t, t=1,2, …)} δηλαδή θέλουμε να παραμένουμε όλο και περισσότερο στη διαδικασία για να συσσωρεύσουμε όλο και περισσότερες Χ t τιμές αλλά καθώς παρατείνουμε την διαδικασία τόσο μεγαλύτερο είναι το κόστος αν τα χάσουμε όλα. Βάσει της θεωρίας βέλτιστης παύσης η αναδρομική εξίσωση είναι: Y t = max(S t, E{Y t+1 }) και σταματάμε τη διαδικασία Χ t, και κατ’ επέκταση το άθροισμα S t όταν Y t > E{Y t+1 }.
Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC32 (1/2) Έστω Χ t τυχαία μεταβλητή τη χρονική στιγμή. Η τιμή της αναφέρεται σε κέρδος που συσσωρεύεται, όπου κέρδος ποσοστό δειγμάτων με λ κ <= θ, θ κατώφλι σφάλματος. Χ t = 1, αν λ κ <= θ Χ t = 0, αλλιώς Ορίζουμε συνάρτηση κέρδους την ποσότητα Υ t = Ζ 1* Ζ 2* …. * Ζ t* (Χ 1 + …+ Χ t ) = β t * S t, β (0, 1) Με βάση το πρόβλημα του χρονικά μειωμένου συσσωρευτικού κέρδους καταλήγουμε στον κανόνα βέλτιστης παύσης t* = min{t: S t > β*Ε{ Χ t } / (1 – β)}
Εύρεση κανόνα βέλτιστης παύσης της φάσης συμπίεσης για τον infHorPC32 (2/2) Έστω μη σταθερή μέση τιμή Ε{Χ t } = P(λκ θ) * 0 = P(λκ <= θ) ο κανόνας βέλτιστης παύσης τροποποιείται ως εξής t* = min{t: S t > β* P(λκ<= θ) / (1 – β)} Ο υπολογισμός της πιθανότητας P(λκ<= θ) γίνεται με τη χρήση του εκτιμητή πυκνότητας Kernel (Kernel Density Estimator, KDE), εφόσον τα λκ δεν ακολουθούν γνωστή κατανομή.
Kernel Density Estimator Υπολογίζει τη συνάρτηση πυκνότητας πιθανότητας P(x) για ένα σύνολο δειγμάτων Συσσωρευτική συνάρτηση κατανομής (cumulative distribution function) CDF(x) = P(x) Συνάρτηση σφάλματος γκαουσιανής συνάρτησης
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 Συμπίεσε το τρέχον δείγμα 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) Έστω ένα σύνολο Ν παρατηρήσεων. η μέση τιμή των παρατηρήσεων, U np ο πίνακας των ιδιοδιανυσμάτων που προέκυψε από τη μέθοδο PCA και Λ pp ο διαγώνιος πίνακας των ιδιοτιμών. Έστω μια καινούρια παρατήρηση. Το πρόβλημα είναι να υπολογίσουμε το σύνολο κύριων συνιστωσών για το νέο σύνολο παρατηρήσεων. Ανανεώνουμε τη μέση τιμή Ανανεώνουμε τον πίνακα συνδιακύμανσης
Incremental Principal Component Analysis (2/3) Για τον υπολογισμό του νέου συνόλου ιδιοδιανυσμάτων πρέπει να επιλύσουμε το σύστημα (1) Ο νέος πίνακας ιδιοδιανυσμάτων δίνεται από τη σχέση όπου R (p+1)(p+1) μια περιστροφή του τρέχοντος συνόλου ιδιοδιανυσμάτων και το residue διάνυσμα. όπου h το σφάλμα ανακατασκευής της νέας παρατήρησης από προβολή στο τρέχον σύνολο κύριων συνιστωσών.
Incremental Principal Component Analysis (3/3) Αντικαθιστώντας τα C΄ nn και U΄ nq στο σύστημα (1) προκύπτει το σύστημα Επιλύοντας το βρίσκουμε το ζητούμενο σύνολο ιδιοδιανυσμάτων.
INCPCA Είσοδοι: m (ορίζοντας φάσης εκμάθησης), acur (ακρίβεια συμπίεσης), noveltyThres (κατώφλι) curSample = 0 1.Για i από 1 μέχρι m α. Στείλε το διάνυσμα στο δέκτη χωρίς συμπίεση β. Αν i == m Υπολόγισε τη βάση με τη μέθοδο PCA 2. curSample = m+1 3.Μέχρι να τελειώσουν οι παρατηρήσεις α. Βρες την προβολή του διανύσματος επάνω στην παλιά βάση β. Ανακατασκεύασε το διάνυσμα γ. Υπολόγισε το σχετικό σφάλμα ανάμεσα στο αρχικό διάνυσμα και το ανακατασκευασμένο διάνυσμα. δ. Αν το σφάλμα > novelthyThres i. Υπολόγισε τη νέα βάση με τη μέθοδο incremental PCA ii. Υπολόγισε την απόσταση ανάμεσα την παλιά και τη νέα βάση iii. Αν η απόσταση παλιός #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:η απόδοση Δυο μετρικές και Για τα σχήματα με μη πεπερασμένο ορίζοντα συμπίεσης Αριθμός περιόδων συμπίεσης Μέσο μήκος οριζόντων συμπίεσης
Διαγράμματα (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 έχει το μικρότερο σφάλμα από όλους. Βέβαια τα αποτελέσματα εξαρτώνται από την επιλογή των τιμών των παραμέτρων και από το πειραματικό σύνολο το οποίο είναι αρκετά συσχετισμένο.
Ευχαριστούμε πολύ! Ερωτήσεις;