Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Inhalt Einführung Problemstellung / Ziele Definitionen

Ähnliche Präsentationen


Präsentation zum Thema: "Inhalt Einführung Problemstellung / Ziele Definitionen"—  Präsentation transkript:

0 Daniel Aigner aigner@mathematik.uni-marburg.de
Optimale Histogramme Daniel Aigner

1 Inhalt Einführung Problemstellung / Ziele Definitionen
Bisherige Lösungen Optimale Algorithmen Optimaler Algorithmus Verbesserungen Approximationsalgorithmus Vergleich Error-Bounded Histogram Qualitätsgarantien Arbeitslast Resümee

2 1. Was sind Histogramme? Daten von 1500 Befragten in 6 Balken.
Großen Datensatz zusammenfassen. Dabei entstehen Ungenauigkeiten/Fehler.

3 1. Wofür braucht man Histogramme?
In der Informatik hauptsächlich im Bereich der Datenbanken bzw. Anfragenverarbeitung. Abschätzen der Selektivität von Anfragen #Matches / #Datenbestände Bsp.: “Gebe diejenigen Produkte aus, die mehr als 10€ kosten“ Weniger als 10%: Zugriff über Indexstruktur Mehr als 10%: Zugriff direkt auf die Datenbank

4 2. Problemstellung Histogramm ist Approximation von Daten.
Aufteilung der Daten in wenige Container. Dabei entstehen Fehler. Aufteilung so wählen, dass Fehler minimal. => Histogramm optimal.

5 2. Weitere Ziele Gute Fehlerschranke angeben.
Qualitäts-Garantien die für das gesamte Histogramm. Das Histogramm auf Einsatzzweck hin optimieren. (V-Optimale Histogramme für Datenbanksysteme) Informationen über die Arbeitslast einfließen lassen.

6 3. Definierung des Problems
Beispiel: Produktliste eines Geschäftes Vektor V = {0.39, 0.59, 0.99, 1.59, 1.99, 2.99, 5.99, 9.99, 15.99, 19.99} Frequenzvektor F = {7, 5, 5, 3, 6, 3, 4, 2, 1, 1} |F| = N = 10 verschiedene Werte Ziel: Reduktion von N = 10 auf B = 4 Container B << N

7 3. Definierung des Problems
Vektor V = {0.39, 0.59, 0.99, 1.59, 1.99, 2.99, 5.99, 9.99, 15.99, 19.99} Frequenzvektor F = {7, 5, 5, 3, 6, 3, 4, 2, 1, 1} Partitionierung des Frequenzvektors in B disjunkte Intervalle. Histogramm H = {(7, 5), (5, 3), (6, 3, 4), (2, 1, 1)} Wert eines Intervalls ist Durchschnitt der enthaltenen Werte: h1 = AVG(7, 5) = 6 h2 = 4, h3 = 4,333, h4 = 1,333

8 3. Fehlerberechnung Der Fehler wird berechnet über eine Fehlermetrik.
Hier: SSE = Sum Squared Error summierter quadratischer SSE kommt auch bei V-Optimalen Histogrammen zum Einsatz. Für ein Intervall [a, b] wird der SSE wie folgt berechnet:

9 4. Bisherige Lösungen MHIST: Greedy Heuristik, immer den Container mit dem größten Fehler aufteilen. MaxDiff: Grenzen immer zwischen die zwei Werte setzen, die die größte Differenz aufweisen. EquiDepth: So aufteilen, dass die summierten Werte innerhalb eines Containers für jeden Container möglichst gleich sind. EquiWidth: Triviale Methode, alle Container gleich viele Elemente.

10 5. Optimale Algorithmen Grundsätzlich zwei verschiedene Herangehensweisen, um ein optimales Histogramm zu berechnen: Space Bounded Histogram Bei einer festen Größe (Anzahl der Container) den Fehler minimieren: Error Bounded Histogram Bei gegebener Fehlerschranke die Anzahl der Container minimieren: Der zweite Ansatz wird auch als Duales Problem bezeichnet.

11 5. Lösungsmethode: dynamische Programmierung
Dynamische Programmierung ist das Lösen eines Problems durch herunterbrechen auf und lösen von Teilproblemen. Insbesondere ohne die kostenintensive Rekursion. Es wird Iterativ vorgegangen. Lösungen der Teilprobleme für die spätere Berechnung zwischenspeichern. Beispiel: Fibonacci-Zahlen rekursiv fib(0) = 0 fib(1) = 1 fib(n) = fib(n-1) + fib(n-2)

12 5. Lösungsmethode: dynamische Programmierung
Fibonacci-Zahlen iterativ via dynamischer Programmierung: f_vorletzte = 0 f_letzte = 1 for i = 2 to n do f_aktuell = f_letzte + f_vorletzte f_vorletzte = f_letzte f_letzte = f_aktuelle end for return f_aktuell f_letzte und f_vorletzte müssen als Zwischenergebnisse gespeichert werden. Diese Lösung ist wesentlich effizienter.

13 5.a Grundalgorithmus Ziel: Frequenz-Vektor F = F[1, N] in B Intervalle aufteilen, so dass Fehler des Histogramms minimal. Rekursiver Ansatz, dann via dynamischer Programmierung die Rekursion auflösen. SSE([a, b]) berechnet Fehler für Intervall [a, b] Definiere SSE*(i, k) als den minimalen Fehler für den Präfix-Vektor F[1, i] bei k Containern.

14 5.a Grundalgorithmus Beispiel: Berechnung des SSE*(20, 5)
Also das Minimum des Präfix-Vektors F[1, 20], aufgeteilt in 5 Container. 16 verschiedene Möglichkeiten die Grenze (j) zwischen den letzten zwei Containern zu setzen. Der linke Bereich SSE*(j, k-1) berechnet sich rekursiv.

15 5.a Auflösen der Rekursion
Den SSE*(i, k) iterativ berechnen über 1≤k<B und für jedes feste k über 1≤i<N. Mit SSE*(N, B) hat man den minimalen Fehler des gesamten Histograms (und damit auch die optimale Unterteilung in B Container) berechnet. Aufwand: Zwei Schleifen über k und j: O(B·N) SSE*(i, k) für jedes feste i und k: O(B) Insgesamt: O(B2·N) Beispiel

16 5.b Verbesserung des Grundalgorithmus
Beobachtung: SSE([j, i]) fällt monoton über j. Damit ist es nicht nötig, die Schleife über j komplett zu durchlaufen: j von oben nach unten durchlaufen. Das bisher gefundene Minimum S0 von SSE*(j, k-1) + SSE([j+1, i]) wird gespeichert. Wird ein Wert von SSE([j+1, i]) > S0 berechnet kann abgebrochen werden.

17 5.b Verbesserung des Grundalgorithmus
Weitere Beobachtung: SSE*(j, k) wächst monoton über j. Finden einer untere Grenze für j über binäre Suche. Näheres siehe Skript. Aufwand des verbesserten Algorithmus: Im Worst-Case auch O(B2·N). Im allgemeinen Fall ist die Laufzeit deutlich besser.

18 5.c Approximationsverfahren
Vorheriges Aufteilen des Frequenzvektors F in L gleich große Bereiche. Berechnung des optimalen Histogramms mit B/L Containern für jeden Bereich. Insgesamt wieder B Container. Laufzeit: O((N2·B)/L2) Beispiel F F aufgeteilt H H zusammen

19 6. Vergleichsdaten Vergleichsdaten sind Zipf-verteilt.
B = 100 Container. Bei Approximationsverfahren L=20 Bereiche. Bsp. für Zipf-Verteilung

20 6. Vergleich der Laufzeiten
Laufzeiten der verschiedenen Algorithmen * weniger als 0,01 Sekunden

21 6. Vergleich der Laufzeiten
Laufzeiten der neuen Algorithmen

22 6. Vergleichsdaten Datensatz D1 Datensatz D2 Eine Funktion über das dritte Attribut des „SGI adult data set“ mit 732 unterschiedlichen Werten. Das Gehalt von Mitarbeitern von Census mit insgesamt unterschiedlichen Werten.

23 Auswirkung der Containergröße auf den Fehler
6. Vergleich des Fehlers Datensatz D1 Datensatz D2 Auswirkung der Containergröße auf den Fehler

24 Auswirkung der Datengröße auf den Fehler
6. Vergleich des Fehlers Datensatz D1 Auswirkung der Datengröße auf den Fehler

25 7. Error-Bounded Histogram
Zu einer gegebenen Fehlerschranke den Platzbedarf (Anzahl der Container) minimieren. Der Primäre Ansatz Iterativ über die Anzahl der Container das optimale Histogramm berechnen. Abbrechen sobald man ein Histogramm berechnet hat, das die Fehlerschranke erfüllt. Approximationsverfahren Siehe Skript.

26 8. Qualitätsgarantien Generelle Fehlerschranke für das gesamte Histogramm ist ungenau. Besser: Fehlerschranke eines jeden Containers einzeln zu dem Container abspeichern. Nachteil: Speicherbedarf. Evtl. auch nur Speichern eines binären Bitwertes „gut“ oder „schlecht“ zu jedem Container.

27 9. Arbeitslast-Informationen
Informationen über den Einsatzzweck des Histogramms nutzen. Den Fehler im praktischen Einsatz weiter verbessern. Beispiel: Daten: Umsätze eines Geschäfts mit Zeitangabe. Anfragen beziehen sich häufig auf ganze Monate. Fehlermetrik so wählen, dass sie einen großen Fehler erzeugt, wenn Daten aus verschiedenen Monaten in einem Container liegen. Beispiel für den Einfluss von Arbeitslast-Informationen

28 10. Resümee Effektive Berechnung eines optimalen Histogramms durch dynamische Programmierung. Aufwand durch Verbesserungen weiter reduziert. Approximationsverfahren verbessert Laufzeit weiter um zwei Größenordnungen. Trotzdem wesentlich bessere Genauigkeit als bisher bekannte Methoden. Mit zusätzlichen Speicherbedarf gute Fehlerabschätzungen

29 10. Resümee Arbeitslast-Informationen können in die Berechnung des Histogramms einfließen. Dadurch gute Anpassung an den praktischen Einsatz.

30 Quellen H. V. Jagadish, Nick Koudas, S. Muthukrishnan, Viswanath Poosala, Ken Sevcik, Torsten Suel, Optimal Histograms with Quality Gurantees, 1998. Grafik zur Sonntagsfrage, Grafik zu Zipf,


Herunterladen ppt "Inhalt Einführung Problemstellung / Ziele Definitionen"

Ähnliche Präsentationen


Google-Anzeigen