500 likes | 626 Views
Προσεγγιστική Αποτίμηση Ερωτήσεων σε Υπολογιστικά Συστήματα Μεγάλης Κλίμακας. Γιάννης Κωτίδης AT&T Labs-Research http://www.research.att.com/info/kotidis. Outline. Εισαγωγή εφαρμογές προσεγγιστικής αποτίμησης ερωτήσεων ορισμός του προβλήματος Haar Wavelets ορισμός, παραδείγματα
E N D
Προσεγγιστική Αποτίμηση Ερωτήσεων σε Υπολογιστικά Συστήματα Μεγάλης Κλίμακας Γιάννης Κωτίδης AT&T Labs-Research http://www.research.att.com/info/kotidis
Outline • Εισαγωγή • εφαρμογές προσεγγιστικής αποτίμησηςερωτήσεων • ορισμός του προβλήματος • Haar Wavelets • ορισμός, παραδείγματα • ένας απλός on-line αλγόριθμος • Προσεγγιστικός υπολογισμός Wavelets (VLDB2001) • JL-embeddings, sketches • υπολογισμός wavelets μέσω sketches • Εφαρμογές με πραγματικά δεδομένα • Νεότεροι αλγόριθμοι (STOC2002, VLDB2002) • Συμπεράσματα
Δεδομένα ΑνάλυσηΓνώση • Συγκέντρωση και ανάλυση πληροφορίας προσφέρει στρατηγικό πλεονέκτημα για επιχειρήσεις • ανάλυση μεριδίου αγοράς, ανάλυση αγορών πελατών • συσχέτιση με πληθυσμιακά χαρακτηριστικά, κατευθυνόμενο μάρκετινγκ • Διαχειρίσιμες ποσότητες, σχετικά αργοί ρυθμοί διακίνησης • Η ευρεία ανάπτυξη του τομέα των τηλεπικοινωνιών έχει επιφέρει επανάσταση στο ρυθμό δημιουργίας και διακίνησης δεδομένων • συχνά υπερβαίνει τις αποθηκευτικέςδυνατότητες των υπαρχόντων συστημάτων
Τηλεφωνικό δίκτυο (AT&T) • Κεντρικό σύστημα ελέγχου, ανάλυσης • 200-300 εκατομμύρια κλήσεις την ημέρα (>60GB) • ~200 δισεκατομμύρια εγγραφές (~50ΤΒ) • Η αποτίμηση ερωτήσεων είναι χρονοβόρα • “Communities Of Interest”: ποια είναι τα 10 νούμερα με τη μεγαλύτερη συχνότητα κλήσεων από το 9733340865? • ποια ήταν η κατανομή των υπεραστικών κλήσεων ανά γεωγραφική περιοχή τους τελευταίους έξι μήνες? • ποία είναι η μέση διάρκεια ενός τηλεφωνήματος στις 10 μεγαλύτερες πόλεις της χώρας?
IP-δίκτυο Backbone router Gateway router Access router • Περισσότερα δεδομένα • Ταχύτεροι ρυθμοί διακίνησης • Π.χ.CISCO NetFlow: 150 records/day/router • η αποστολή των δεδομένων είναι ασύμφορη/αδύνατη • μέχρικαι 97% των δεδομένων χάνονται στη μεταφορά
Wavelet ερώτηση Προσεγγιστική απάντηση KB/MB Προσεγγιστική αποτίμηση ερωτήσεων Ερώτηση Ακριβής απάντηση • Ακριβείς απαντήσεις δεν είναι πάντοτε απαραίτητες! • για αρχική ανάλυση μας ενδιαφέρουν κυρίων οι ισχυρές “τάσεις” • σε ερωτήσεις ομαδοποίησης ακρίβεια στα πρώτα σημαντικά ψηφία είναι αρκετή • “Ποιο ποσοστό από τα συνολικά τηλεφωνήματα γίνονται στην Αττική?” GB/TB
a[i] 9733607212 14 Απλοποιημένο μοντέλο δεδομένων Πίνακας a[i], 1iN • αριθμός κλήσεων από το νούμερο i (N=1010) • αριθμός πακέτων από IP-διεύθυνση i (N=232) (973) 360-7212, 6 (973) 360-8347, 7 (973) 360-8408, 1 (973) 360-7212, 1 (973) 360-8404, 9 (973) 360-8404, 1 (973) 360-7212, 7 (973) 360-8347, 1 ι,δ[i] δεδομένα
Το πρόβλημα • Περιγραφή του πίνακα α[] σε χώρο << Ν • Επεξεργασία σε ένα πέρασμα • Ενημέρωση σε πραγματικό χρόνο • Προσεγγιστική αποτίμηση ερωτήσεων μέσα σε προκαθορισμένα όρια λάθους. Σημείο παρατήρησης δεδομένα ? sketch(KB/MB)
Outline • Εισαγωγή • εφαρμογές προσεγγιστικής αποτίμησηςερωτήσεων • ορισμός του προβλήματος • Haar Wavelets • ορισμός, παραδείγματα • ένας απλός on-line αλγόριθμος • Προσεγγιστικός υπολογισμός Wavelets (VLDB2001) • JL-embeddings, sketches • υπολογισμός wavelets μέσω sketches • Εφαρμογές με πραγματικά δεδομένα • Νεότεροι αλγόριθμοι (STOC2002, VLDB2002) • Συμπεράσματα
[2.5, 2] [0.5, -1] [2.25] [-0.25] Haar wavelets: [2.25, -0.25, 0.5, -1, 0, 3, -1, -1] Εισαγωγή στα Wavelet • Wavelets:μαθηματικός μετασχηματισμός χρησιμοποιώντας προκαθορισμένη βάση (π.χ. Haar, Daubechies-4, Daubechies-6, Coifman, Morlet, Gabor) • Haar wavelets:πιο απλή υλοποίηση • αναδρομικός υπολογισμός διαφορών και αθροισμάτων ανά δυαδικά τμήματα Resolution Averages Wavelets 3 a = [2, 2, 0, 6, 4, 2, 2, 0] ---- 2 [2, 3, 3, 1] [0, 3, -1, -1] 1 0 • Ορισμός επεκτείνεται εύκολα για πολυδιάστατα δεδομένα
[2.25, 0, 0, 0, 0, 3, 0, 0] α’=[2.25, 2.25, -0.75, 5.25, 2.25, 2.25, 2.25, 2.25] α=[2, 2,0,6,4,2,2,0] Συμπίεση μέσω Wavelet • Κρατάμε Β<<Ν τιμές (τις μεγαλύτερες) • Πχ Β=2 [2.25, -0.25, 0.5, -1, 0, 3, -1, -1]
On-line αλγόριθμος (απλό μοντέλο) • Βλέπουμε τον πίνακα από αριστερά προς τα δεξιά • Κρατάμε τα Β μεγαλύτερα wavelet σε σωρό και logN από τα «ενεργά» στη μνήμη Σωρός (τοπ-Β) - + - + - + - + a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] Ν>>διαθέσιμη μνήμη
Καλά και άσχημα νέα • Τα Β-μεγαλύτερα wavelets μπορούν να υπολογιστούν με μνήμη O(B+logN) • [IEEE TKDE] Κάθε ντετερμινιστικόςαλγόριθμος που υπολογίζει το μεγαλύτερο (εκτός του μ.ο.) wavelet στο γενικό μοντέλο χρειάζεται (N/polylog(N)) μνήμη
Γενική κατεύθυνση • Θα χρησιμοποιήσουμε randomized αλγόριθμους • προσεγγίζουν τη λύση με μεγάλη πιθανότητα επιτυχίας • Προσεγγιστικός υπολογισμός των wavelets με • σφάλμα (αθροιστικά) 1ε (π.χ. 10%) • πιθανότητα επιτυχίας 1-δ (π.χ. 99%) • πολυ-λογαριθμικές απαιτήσεις μνήμης (και πολυπλοκότητα): • poly(logN, log(1/δ), ε)
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] Παρατήρηση 1 • Το wavelet w[l] είναι το εσωτερικό γινόμενο των δεδομένων a[] με ένα διάνυσμα βάσης[i] [1] [2] [3] [4] Ορθοκανονική βάση wavelets [5] [6] [7] [8]
Παρατήρηση 2 • Το εσωτερικό γινόμενο 2 μοναδιαίωνδιανυσμάτων μπορεί να υπολογιστεί από την απόσταση τους: • <a,b> = cos(a,b) = 1-dist2(a,b)/2
δεδομένα wavelets Δεν έχουμε αρκετή μνήμη να σώσουμε το α[] Μία άλλη όψη • Απεικόνιση των δεδομένων και της wavelet-βάσης στο RN (N+1 σημεία)
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] πίνακας ? ? ? ? N k wavelet διάνυσμα-βάση ? -1 +1 0 0 0 0 0 0 ? ? ? JL-embeddings • Johnson & Lindenstrauss [84] “Νσημεία μπορούν να απεικονιστούν σε κ=Ο((logΝ)/ε2) διαστάσεις ώστε οι μεταξύ τους αποστάσεις να διατηρούνται με σφάλμα ε”
4 2 7 1 0 3 5 4 +2 +2 -2 Sketches • e.g [Alon96]: εσωτερικό γινόμενο του a με O(log(N/)/2) ψευδοτυχαία {-1,+1} διανύσματα +2 α[i] sketch(α) r1[i] 8 1 -1 -1 1 -1 1 1 1 -2 r2[i] -1 1 1 -1 1 1 -1 -1 r3[i] 0 1 1 -1 1 -1 -1 1 -1
και 0 Ιδιότητες των Sketches sketch(α) Χ1 Χ2 Χ3 Χ4 Χ5 . . . . . . . Χκ To Xi2 είναι unbiased estimateτης νόρμας-2 του α[]
Υπολογισμός Μέσων Όρων Υ1=(Χ12+ Χ22+… Χμ2 )/μ sort μ Y=διάμεσος(Υι) Υ2=(Χμ+12+ Χμ+22+… Χ2μ2 )/μ Υλ=(Χ(λ-1)μ+12+ Χ(λ-1),+22+… Χκ2 )/μ Boosting: διάμεσος μέσων-όρων • Χj=Σα[ι]rj [ι], Ε[Χj2]=Σα[ι]2=Α2 Χ1 Χ2 Χ3 Χ4 Χ5 . . . . . . . Χκ μ κ=λ*μ
μ Η απόσταση dist(a,b) είναι το μήκος του α-β Boosting: διάμεσος μέσων-όρων • Χj=Σα[ι]rj [ι], Ε[Χj2]=Σα[ι]2=Α2 Χ1 Χ2 Χ3 Χ4 Χ5 . . . . . . . Χκ μ Prob[|Υ-Α2| 4/μ1/2 Α2] >= 1-2^-λ/2 ε δ κ=λ*μ Το μήκος τουα μπορεί να υπολογιστείμε ακρίβεια ε’, με πιθανότητα επιτυχίας 1-δ
Sketch ενός Wavelet • 2nd order Reed-Muller codes για τα αθροίσματα σε Ο(log3(N)) A B C ζ[l] +1 -1 rk +1 +1 -1 +1 -1 +1 -1 -1 +1 -1 +1 +1 -1 -1 -1 +1
-1 4 2 +1 0 7 1 0 0 0 3 0 0 5 4 0 8 -2 0 k -2 +2 0 Wavelets from Sketches πίνακας N wavelet διάνυσμα-βάση
Τελικός αλγόριθμος (vldb2001) • Είσοδος: sketch(a), i • Έξοδος: wavelet w[i] • Υπολόγισε το sketch(ζ[ι]) του διανύσματος-βάσης • Υπολόγισε Υ=Α2από το sketch(a) • Υπολόγισε sketch(a’=a/Y½)=sketch(a)/Y½ • Υπολόγισε cos(a,ζ)=1-dist2(α’,ζ[ι])/2μέσω του sketch(α’-ζ[ι]) • επέστρεψε w=Υ½*cos(α,ζ[ι]) • Μνήμη:O(Blog2(N)log(N/)//3) Ψευδ. μεταβλητές sketch
Συνολική Αρχιτεκτονική data stream sketch seeds wavelets Queries
Outline • Εισαγωγή • εφαρμογές προσεγγιστικής αποτίμησηςερωτήσεων • ορισμός του προβλήματος • Haar Wavelets • ορισμός, παραδείγματα • ένας απλός on-line αλγόριθμος • Προσεγγιστικός υπολογισμός Wavelets (VLDB2001) • JL-embeddings, sketches • υπολογισμός wavelets μέσω sketches • Εφαρμογές με πραγματικά δεδομένα • Νεότεροι αλγόριθμοι (STOC2002, VLDB2002) • Συμπεράσματα
Πειράματα (τηλεφωνικό δίκτυο) • CDRs από 7 μέρες του Φεβρ. 2001 • a[i] = #κλήσεωναπό το npa-nxx i • N=65,536 • Sketch size = 3,952 words
Σύγκριση με Off-line αλγόριθμο • Top-7 wavelets περιέχουν 90% της ενέργειας • Υπόλοιπα 65529 wavelets πολύ μικρά
ενημερώσεις Απεικόνιση στο RN δεδομένα wavelets
Συνολική ροή μέσα από το δίκτυο κορμό: = + + + Γραμμικότητα των σκίτσων • Παρατηρήσεις από διαφορετικά συστήματα μπορούν να συνδυαστούν:
X X X X Συνδυασμός κατανεμημένων μετρήσεων Συνολική ροή μέσα από το δίκτυο κορμό: = + + … +
Επεκτάσεις • STOC 2002 paper: ιεραρχία από sketches • υπολογισμός histograms, wavelets μέσω sketches σε sub-linear time,space με μίνιμουμ relative error • εφαρμογές:Exploratory Data Analysis, visualization, databases κ.α.
2 1 2 1 1 2 2 4 RSS rss1 10 2*10-15=5 2 0 0 1 1 2 0 4 6 rss2 4.5 2 1 0 1 0 0 2 0 rss3 9 2*9-15=4 0 0 2 0 1 0 2 4 Random Subset Sums (VLDB2002) • Επέλεξε το α[ι] με πιθανότητα 50% α[ι]=2Χj-Α, αν rj[i]=1 α[8]=? α[i]
Κατασκευή των RSS • Extended Hamming Code: |log(N)+1| seed 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 2 2 3 1 2 2 3 1 0 1 1 x = 1 0 0 1 1 0 0 1 = (mod2) rss= {a[0], a[3], a[4], a[7]}
2 1 2 1 1 2 2 4 Νεώτερος Αλγόριθμος (VDLB2002) • Γράψε οποιοδήποτε διάστημα σαν άθροισμα Ο(logN)δυαδικών διαστημάτων • Κάθε δυαδικό διάστημα προσεγγίζεταιεΑ1 μέσω των RSS α[i]
Συμπεράσματα • Προσεγγιστική αποτίμηση ερωτήσεων επιθυμητή σε πολλές εφαρμογές • ταχύτατη απόκριση σε εφαρμογές ανάλυσης • μόνη λύση όταν η συγκέντρωση των δεδομένων είναι αδύνατη • Δύο μέθοδοι (sketches/RSS) για συνοπτική περιγραφή με • μικρό χώρο, ένα πέρασμα, εγγυήσεις πιστότητας (ε,δ) • γρήγορη αποτίμηση • Συνδυασμός κατανεμημένων μετρήσεων σε συστήματα ευρείας κλίμακας • lossless για οποιοδήποτε γραμμικό συνδυασμό
Πολυδιάστατη Ανάλυση Δεδομένων • Cubetrees, Dwarf, SIGMOD-97, 98, 02 • αποδοτικές δομές οργάνωσης • DynaMat, best paper award SIGMOD-99, TODS-01 • αυτόματη επιλογή, οργάνωση με βάση τα υπάρχοντα resources (αποθηκευτικός χώρος, χρόνος υπολογισμού), ενημέρωση • Data mining (VLDB-98, 01) • Ανταλλαγή δεδομένων μέσω XML, ICDE-03 κ.α. View{product,store}
Exponential fading • Exp fading: b'=a+(1-)b • Από γραμμικότητα: h(b’)=h(a)+(1-)h(b)
Άλλες εφαρμογές • Μπορούν να χρησιμοποιηθούν αντί για τα αρχικά σήματα σε πολλούς αλγόριθμος ανάλυσης δεδομένων • Π.χ. SVD (Information Retrieval: LSI)
Wavelet Transform • JPEG-2000 • Φυσιολογία (αντίληψη εικόνας από θηλαστικά) • Many applications: Data Compression, Noise Reduction, Edge Detection (image processing) • Databases: selectivity estimation [Matias98-00,Chakrabarti00, Gilbert00], aggregate OLAP queries [Vitter99], etc • Fast Transform: O(N) space/time • “Few good-terms” phenomenon • Just few coefficients retain most of the energy:
Main Result • Parameters: • : seek inner products within (1) • : failure probability • : guarantees hold only when cosine is greater than • if w[l]2 (/B)|a|2 can be estimated reliably • If there is a top-B wavelet representation with psedo-energy at least |a|2 then with probability (1-) we can find an approximate B-term representation with pseudo-energy at least (1-)|a|2 with space and per-item time cost: O(Blog2(N)log(N/)//3)
Άλλα παραδείγματα • Παράλληλα συστήματα Β.Δ • στατιστικάγια την ισοκατανομή των δεδομένων • Στατιστικά για query optimization ΚεντρικήΒΔ SQL Query Optimizer Συνοπτικήπεριγραφή
Chebyshev’s Inequality • P[X-E[X] > k] <= VAR[X]/k2 • ( X X2) • Εμείς : E[X2] = A2, VAR[X2]=E[(X2-E[X2])^2] <= A2^2 • Μέσοι όροι Yι=(Χ12+ Χ22+… Χμ2 )/μ • E[Yι] = A2 • VAR[Yι] <= A22/μ • Αρα P[|Yι- A2|> eA2] <= (A22/μ)/e2 A22=1/(μe2) • P[|Yι- A2|<eA2 ]>1-1/(μe2)
1st Chernoff Bound • Έστω V t.m = 1 αν το Υ είναι μέσα στα όρια, • P[V=1]=p = σταθερά για ε,μ σταθερά [Poisson Trials] • Έχω λ trials V • Έστω Χ ο αριθμός των επιτυχιών Χ=SUM(V) • Η πιθανότητα αποτυχίας • P[X < (1-δ)λp] < e^{-λpδ2/2} • Για 1-δ=1/2 (ο διάμεσος να είναι λάθος) • P[X> ½ λp] >=1-e^{-λp/8} • Έστω ρ=7/8 -> 1/(μe2) = 1/8 P[|Y- A2|> eA2] >=1-δ • όπου ε=sqrt(8/μ) και δ= e^{-λ7/8} (τα άλλα όρια είναι παρόμοια)