Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πρόγραμμα Μεταπτυχιακών Σπουδών Συμπίεση Πληροφορίας Πλαισίου με Ανάλυση Κύριων Συνιστωσών Διπλωματική Εργασία Παναγιώτης Γεώργας (Μ1040) Επιβλέπωντες: Επικ. Καθηγητής Χατζηευθυμιάδης Ευστάθιος Δρ. Χρήστος Αναγνωστόπουλος Αθήνα, Δεκέμβριος 2010
Δομή παρουσίασης Συστήματα Επίγνωσης Πλαισίου (Context Aware Systems) Σκοπός της Διπλωματικής Εργασίας Ανάλυση Κύριων Συνιστωσών (P.C.A.) Προεκβολή Lagrange (Lagrange Extrapolation) Περιγραφή συστήματος που προτείνεται Παραλλαγές του Εξομοίωση του συστήματος με το πρόγραμμα MATLAB Αποτελέσματα Συγκρίσεις Συμπεράσματα
Συστήματα Επίγνωσης Πλαισίου (Context Aware Systems) Πλαίσιο (Context): οποιαδήποτε πληροφορία που χρησιμοποιείται για να χαρακτηρίσει την κατάσταση οντοτήτων (πρόσωπο, μέρος ή αντικείμενο) που είναι σχετικές με την αλληλεπίδραση ανάμεσα στον χρήστη και στην εφαρμογή, συμπεριλαμβανομένων του χρήστη και της εφαρμογής (Dey and Abowd) Συστήματα που παίρνουν εισόδους, αντιλαμβάνονται το πλαίσιο, προσαρμόζουν την έξοδό τους ανάλογα με το πλαίσιο που έχουν αντιληφθεί. Το πλαίσιο ανακτάται/προσδιορίζεται με παρακολούθηση των αλληλεπιδράσεων του χρήστη, και με αισθητήρες (όπως εντοπισμού θέσης, φωτός, ήχου, θερμοκρασίας, υγρασίας, ταχύτητας ανέμου κ.α.). Ένα σημαντικό θέμα είναι η μείωση της κατανάλωσης ισχύος στα συστήματα επίγνωσης πλαισίου. Μπορεί να επιτευχθεί χωρίς σημαντική αύξηση του σφάλματος;
Σκοπός της Διπλωματικής Εργασίας Σκοπός: πρόταση συστήματος με μείωση κατανάλωσης ισχύος, χωρίς παράλληλα σημαντική αύξηση του σφάλματος Επιτυγχάνεται με: συμπίεση της πληροφορίας πλαισίου, χρησιμοποιώντας τις μαθηματικές μεθόδους: Ανάλυση Κύριων Συνιστωσών (Principal Component Analysis ή PCA) Προεκβολή Lagrange (Lagrange Extrapolation) Εκμεταλλεύεται την ιδιότητα της PCA να προκαλεί μεγάλη συμπίεση σε συσχετισμένα δεδομένα. Αποδοτικό αν η πληροφορία πλαισίου αποτελείται από συσχετισμένες τιμές (π.χ. Δίκτυο αισθητήρων που μετράει θερμοκρασία και υγρασία)
Ανάλυση Κύριων Συνιστωσών (P.C.A.) (1/3) Σκοπός: Η συμπίεση ενός διανύσματος n διαστάσεων σε ένα διάνυσμα q διαστάσεων (q Principal Components ή PCs), με q n. Διαδικασία: Έστω ένα διάνυσμα: X=(x1,, xn), το οποίο θέλουμε να το συμπιέσουμε σε q PCs, με q τέτοιο ώστε το συμπιεσμένο διάνυσμα να αντιπροσωπεύει το p = 90% της μεταβλητότητας των δεδομένων. Τότε: Παίρνουμε ένα σύνολο από m ιστορικές μετρήσεις (x1,, xn) και σχηματίζουμε έναν πίνακα συσχέτισης Σ. Ο πίνακας συσχέτισης Σ έχει n ιδιοτιμές λi και n αντίστοιχα ιδιοδιανύσματα Ai. Έτσι, εμφανίζονται οι n ασυσχέτιστοι PCs: PC1=Α1.X,, PCn=Αn.X
Ανάλυση Κύριων Συνιστωσών (P.C.A.) (2/3) Από αυτούς τους PCs, επιλέγουμε τους q PCs που αντιστοιχούν σε ιδιοτιμές με άθροισμα που αντιπροσωπεύει από p = 90% και πάνω του συνολικού αθροίσματος των ιδιοτιμών. Από τα q ιδιοδιανύσματα προκύπτει ο nxq πίνακας coeff των PCA συντελεστών, όπου: coeff = [ Α1' Α2'... Αq' ] Συμπίεση σε PCs: Xpc = X.coeff (1xq) Ανακατασκευή σε πραγματικές συντεταγμένες : Xrec = Xpc.coeff' (1xn) Σφάλμα ανακατασκευής: X Xrec / X Μεγαλύτερη συσχέτιση ανάμεσα στις n μεταβλητές => Λιγότεροι PCs => Μεγαλύτερη συμπίεση
Ανάλυση Κύριων Συνιστωσών (P.C.A.) (3/3) ΠΑΡΑΔΕΙΓΜΑ: Μετρήσεις: X=(x1,x2) => Μετατροπή σε PCs: (PC1,PC2) = X.coeff Ανακατασκευή: οι συμπιεσμένες μετρήσεις => κρατάω μόνο τον PC1 γιατί από μόνος του αντιπροσωπεύει PC1 θέλουμε να επανακατασκευαστούν σε μεταβλητότητα π.χ. >90% πραγματικές συντεταγμένες: => οι μετρήσεις X=(x1,x2) έχουν συμπιεστεί σε PC1 X' = (x1',x2') = PC1.coeff' Σφάλμα ανακατασκευής: X-X' / X
Προεκβολή Lagrange (Lagrange Extrapolation) Σκοπός: Έχουμε n+1 ιστορικές μετρήσεις (xi,yi) και θέλουμε να προβλέψουμε ένα μελλοντικό y που αντιστοιχεί σε ένα μελλοντικό x. Για ένα σύνολο n+1 μετρήσεων (xi,yi) υπάρχει μοναδικό πολυώνυμο παρεμβολής n βαθμού ώστε: yi = p(xi), i=0,1,...,n, δηλαδή που περνά από όλες τις ιστορικές μετρήσεις. Το πολυώνυμο αυτό κατασκευάζεται ως εξής: όπου τα πολυώνυμα Lagrange. Έχοντας φτιάξει το p(x) από τις ιστορικές μετρήσεις, μπορώ να προβλέπω το: y=p(x).
Περιγραφή συστήματος που προτείνεται Παραλλαγές του (1/6) Απλοποιημένο σχήμα: ένας πομπός Α στέλνει διανύσματα n μετρήσεων X=(x1,..., xn) σε έναν δέκτη Β. Μαθηματικοποιείται με παραμέτρους: m, l, l1, l2, n, q, p, LagrThr. Περιοδικότητα: PCA συμπίεση: από m ιστορικές μετρήσεις X, δημιουργείται ένας πίνακας PCA συντελεστών coeff, και αποφασίζεται ο κατάλληλος αριθμός q από PCs που θα αντιπροσωπεύουν περισσότερο ή ίσο από το p=90% της μεταβλητότητας των ιστορικών μετρήσεων. Με τη βοήθεια του coeff, και αν q<n, συμπιέζονται σε q PCs οι επόμενες l μετρήσεις X που ακολουθούν. Έτσι, στέλνονται στον δέκτη l μετρήσεις συμπιεσμένες : Xpc = (pc1,, pcq).
Περιγραφή συστήματος που προτείνεται Παραλλαγές του (2/6) Lagrange Extrapolation συμπίεση: (προαιρετική) Κάποιες (οι τελευταίες l2 μετρήσεις) από τις l συμπιεσμένες μετρήσεις Xpc, ενδέχεται να υποστούν επιπρόσθετη συμπίεση πριν σταλούν στον δέκτη. Έστω η Xpc = (pc1,, pcq). Για κάθε έναν από τους q PCs της Xpc κατασκευάζεται πολυώνυμο Lagrange παρεμβολής, χρησιμοποιώντας ως ιστορικές τιμές τις l1 προηγούμενες τιμές του. (l1 = l - l2) Έτσι, προβλέπεται ο i-στός PC (pci) του Xpc ως: pci'. Αναλόγως αν: pci' pci / pci είναι μεγαλύτερο ή μικρότερο από ένα κατώφλι: LagrThr, αποφασίζεται αν ο pci θα σταλεί, ή αν στη θέση του θα σταλεί αναγνωριστικό bit που θα ειδοποιεί το δέκτη να υπολογίσει με Lagrange Extrapolation την τιμή pci'.
Περιγραφή συστήματος που προτείνεται Παραλλαγές του (3/6) ΣΕΝΑΡΙΟ 1 χωρίς Lagrange Extrapolation ΣΥΜΒΑΙΝΕΙ ΠΕΡΙΟΔΙΚΑ ΤΟ ΕΞΗΣ: Ο ΠΟΜΠΟΣ : m μετρήσεις σε πραγματικές συντεταγμένες και υπολογίζει έναν πίνακα coeff που περίεχει τους συντελεστές των PCs. Ο ΔΕΚΤΗΣ: από τις m μετρήσεις σε πραγματικές συντεταγμένες που έλαβε, υπολογίζει τον ίδιο coeff και με τη βοήθειά του ανακατασκευάζει από PCs σε πραγματικές συντεταγμένες τις επόμενες l μετρήσεις που θα λάβει. *** Οι m μετρήσεις που χρησιμοποιούνται για την κατασκευή του coeff στέλνονται όπως ακριβώς είναι, σε πραγματικές συντεταγμένες, στον ΔΕΚΤΗ.
Περιγραφή συστήματος που προτείνεται Παραλλαγές του (4/6) ΣΕΝΑΡΙΟ 1 με Lagrange Extrapolation
Περιγραφή συστήματος που προτείνεται Παραλλαγές του (5/6) ΣΕΝΑΡΙΟ 2 χωρίς Lagrange Extrapolation ΣΥΜΒΑΙΝΕΙ ΠΕΡΙΟΔΙΚΑ ΤΟ ΕΞΗΣ: Ο ΠΟΜΠΟΣ παίρνει m μετρήσεις σε πραγματικές συντεταγμένες και υπολογίζει έναν πίνακα coeff που περίεχει τους συντελεστές των PCs. Στέλνει τον coeff στον ΔΕΚΤΗ. Ο ΔΕΚΤΗΣ λαμβάνει τον coeff και με τη βοήθειά του ανακατασκευάζει από PCs σε πραγματικές συντεταγμένες τις επόμενες l μετρήσεις που θα λάβει. *** Οι m μετρήσεις που χρησιμοποιούνται για την κατασκευή του coeff στέλνονται σε PCs στον ΔΕΚΤΗ. (Μετατράπηκαν σε PCs με τη βοήθεια του ΠΡΟΗΓΟΥΜΕΝΟΥ πίνακα coeff).
Περιγραφή συστήματος που προτείνεται Παραλλαγές του (6/6) ΣΕΝΑΡΙΟ 2 με Lagrange Extrapolation
Εξομοίωση του συστήματος με το πρόγραμμα MATLAB (1/4) Εξομοίωση ΣΕΝΑΡΙΩΝ 1 και 2, με και χωρίς Lagrange Extrapolation. Υπολογισμός: Ενεργειακό Κέρδος = (ενέργεια στο κλασικό σύστημα ενέργεια στο δικό μας σύστημα) / (ενέργεια στο κλασικό σύστημα) (!): Μείωση ισχύος εκπομπών-λήψεων. Αύξηση υπολογιστικής ισχύος. Ισχύς Αποστολής-Λήψης >> Υπολογιστική Ισχύς Σφάλμα στον Δέκτη = Xπραγματικό Xδέκτη / Xπραγματικό, για διάφορα m και l, και για n=7, p=90%, LagrThr=0.02, l1=5. Διαπιστώθηκε από εξομοιώσεις ότι το m δεν πρέπει να είναι πολύ μικρό, γιατί αλλίως έχουμε συχνά αυξήσεις στο q και στο σφάλμα. Το l δεν πρέπει να είναι πολύ μεγάλο, για να μην γίνονται πολύ τυχαίες οι συσχετίσεις, αλλά ούτε και πάρα πολύ μικρό, αφού ενδέχεται να έχει κάτω όρια. Επίσης, το l1 πρέπει να είναι μικρό, για να μην δίνει απαγορευτικό σφάλμα. Οι παρατηρήσεις όμως δεν ισχύουν πάντα, αφού αν το δείγμα είναι πολύ ασυσχέτιστο, τότε υπάρχει σε όλα τυχαιότητα.
Εξομοίωση του συστήματος με το πρόγραμμα MATLAB (2/4) ΔΕΙΓΜΑ: Ο Α στέλνει στον Β διανυσματικές μετρήσεις της μορφής: X = (temp1, hum1, temp2, hum2, temp3, hum3, wind4), με n=7. Αφορούν μετρήσεις θερμοκρασίας και υγρασίας αντίστοιχα (tempi, humi) που προέρχονται από τρεις αισθητήρες 1, 2 και 3, και από την μέτρηση ταχύτητας ανέμου (wind4) που προέρχεται από έναν τέταρτο αισθητήρα.
Διαγράμματα του δείγματος: Εξομοίωση του συστήματος με το πρόγραμμα MATLAB (3/4) Έντονη συσχέτιση κυρίως ανάμεσα σε μεταβλητές θερμοκρασίας- θερμοκρασίας, υγρασίας-υγρασίας, και θερμοκρασίας-υγρασίας. Επομένως, το δείγμα φαίνεται να είναι κατάλληλο για το σύστημά μας, που πραγματοποιεί PCA.
Εξομοίωση του συστήματος με το πρόγραμμα MATLAB (4/4) Σύγκριση με: Κλασικό σύστημα: Σύστημα ΤΕΕΝ (σκληρό κατώφλι: οι μέσες τιμές του δείγματος μαλακό κατώφλι: συγκρίνεται με τη μεταβολή μιας τιμής, εδώ ίσο με 0.02)
Αποτελέσματα Συγκρίσεις (1/8) ΣΕΝΑΡΙΟ 1 χωρίς Lagrange Extrapolation
Αποτελέσματα Συγκρίσεις (2/8) ΣΕΝΑΡΙΟ 1 με Lagrange Extrapolation
Αποτελέσματα Συγκρίσεις (3/8) ΣΕΝΑΡΙΟ 1 (Σύγκριση με και χωρίς Lagrange Extrapolation)
Αποτελέσματα Συγκρίσεις (4/8) ΣΕΝΑΡΙΟ 2 χωρίς Lagrange Extrapolation
Αποτελέσματα Συγκρίσεις (5/8) ΣΕΝΑΡΙΟ 2 με Lagrange Extrapolation
Αποτελέσματα Συγκρίσεις (6/8) ΣΕΝΑΡΙΟ 2 (Σύγκριση με και χωρίς Lagrange Extrapolation)
Αποτελέσματα Συγκρίσεις (7/8) Το μέτρο: u = Ενεργειακό Κέρδος + 1 / (1 + Σφάλμα στον Δέκτη) Εκτιμά την ενεργειακή αποδοτικότητα του συστήματος μαζί με το αντίστοιχο σφάλα στον δέκτη. Επιθυμούμε να είναι όσο το δυνατό μεγαλύτερο. Βέλτιστη περίπτωση (max): u=2 όταν: Ενεργειακό Κέρδος = 1 (max) Σφάλμα στον Δέκτη = 0 (min) ΤΕΕΝ πρωτόκολλο: softthreshold =0.02, Ενεργειακό Κέρδος = 0.6081 Σφάλμα στον Δέκτη = 0.1326 u = 1.491
Αποτελέσματα Συγκρίσεις (8/8) Σενάριο 2 με Lagrange Extrapolation: u( (l-m)/l )
Συμπεράσματα (1/4) Το σύστημα που προτάθηκε, για συσχετισμένα δεδομένα, παρουσίασε μεγάλο ενεργειακό κέρδος, χωρίς παράλληλα σημαντική αύξηση στο σφάλμα. ενεργειακή εξοικονόμηση λόγω λιγότερων εκπομπών-λήψεων >> επιβάρυνση υπολογιστικής ισχύος Σενάριο 1: αποδοτικότερο όταν m: μικρό, αλλά όχι πάρα πολύ (m=30) l: μεγάλο Σενάριο 2: αποδοτικότερο όταν m: όχι πάρα πολύ μικρό, ούτε πολύ μεγάλο Σύγκριση σεναρίων 1 και 2: Σενάριο 1: ελαφρώς μικρότερα σφάλματα Σενάριο 2: πολύ μεγαλύτερα εναργειακά κέρδη => το Σενάριο 2 είναι καλύτερο
Συμπεράσματα (2/4) Σύγκριση ΜΕ και ΧΩΡΙΣ Lagrange Extrapolation: σχεδόν ίσα σφάλματα στον δέκτη η Lagrange Extrapolation δίνει ελαφρώς μεγαλύτερα ενεργειακά κέρδη => συμφέρει να γίνεται και Lagrange Extrapolation Προτείνεται ως καλύτερη περίπτωση το Σενάριο 2 με Lagrange Extrapolation.
Συμπεράσματα (3/4) Σύγκριση Σενάριου 1 (με Lagrange Extrapolation) με TEEN: Σενάριο 1: υπερτερεί σε μειωμένα σφάλματα στον δέκτη TEEN: υπερτερεί σε μεγαλύτερα ενεργειακά κέρδη Σύγκριση Σενάριου 2 (με Lagrange Extrapolation) με TEEN: Σενάριο 2: υπερτερεί σε μειωμένα σφάλματα στον δέκτη Σενάριο 2: (σε αρκετές περιπτώσεις) υπερτερεί σε μεγαλύτερα ενεργειακά κέρδη Σενάριο 2: σχεδόν σε όλες τις περιπτώσεις, μεγαλύτερες τιμές u
Ανοιχτά Θέματα: Συμπεράσματα (4/4) Βελτίωση για real-time εφαρμογές (στο σύστημα οι μετρήσεις στέλνονται περιοδικά σε διανύσματα) Μεγάλα σφάλματα όταν αλλάζει η συσχέτιση των δεδομένων και το σύστημα αργεί να το αντιληφθεί (ανάγκη μηχανισμού που να αντιλαμβάνεται εγκαίρως τις αλλαγές στις συσχετίσεις) Ανάπτυξη μηχανισμού που να μπορεί να ελέγχει και να προσαρμόζει τις παραμέτρους l και m βάσει του σφάλματος.
Ευχαριστώ! Παναγιώτης Γεώργας (Μ1040)