Approximate Frequency Counts over Data Streams

Ähnliche Dokumente
Seminar über Algorithmen Übersicht über streaming (Datenstrom-)Algorithmen

Stream Processing II

Mining top-k frequent itemsets from data streams

Vorlesung Wissensentdeckung

Vorlesung Wissensentdeckung

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Vorlesung Wissensentdeckung

Informatik II, SS 2014

Komplexität von Algorithmen:

Suchen und Sortieren Sortieren. Heaps

Informatik II, SS 2014

Datenstrukturen und Algorithmen. 7. Suchen in linearen Feldern

Streaming Algorithmen Dynamische Zuordnung von Objekten mit größter Häufigkeit

Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik

MAINTAINING STREAM STATISTICS OVER SLIDING WINDOWS

Kap. 4.7 Skiplisten. 15./16. VO DAP2 SS /10. Juni 2008

Kap. 4.7 Skiplisten. 14./15. VO DAP2 SS /16. Juni 2009

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Informatik II, SS 2014

Dies ist gerade der konstruktive Schritt beim Aufbau von Binomialbäumen.

Informatik II, SS 2018

Algorithmen und Datenstrukturen in der Bioinformatik Erstes Übungsblatt WS 05/06 Musterlösung

Informatik II, SS 2016

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

Informatik II, SS 2018

Algorithmen und Datenstrukturen 2. Stefan Florian Palkovits, BSc Juni 2016

4 Probabilistische Analyse und randomisierte Algorithmen

Paralleler Cuckoo-Filter. Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21.

Übung Algorithmen und Datenstrukturen

elementare Datenstrukturen

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Ordnen Sie die folgenden Funktionen nach ihrer asymptotischer Komplexität in aufsteigender Reihenfolge: i=1 4i + n = 4 n. i=1 i + 3n = 4 ( n(n+1)

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

1.3 Knuth-Morris-Pratt-Algorithmus

Informatik II, SS 2014

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Systemnahe Software I (WS 2017/2018)

Manipulation binärer Bäume Binäre Bäume II

Übung Algorithmen I

Beschleunigung von kräftebasierten Graphzeichenalgorithmen mittels wohlseparierten Paardekompositionen

Algorithmen und Datenstrukturen

Abschnitt 7: Komplexität von imperativen Programmen

Übungen zur Vorlesung Datenstrukturen und Algorithmen SS 07 Beispiellösung Blatt 5

3. Übungsblatt zu Algorithmen I im SoSe 2017

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Zufall oder Absicht?

Lernmodul 7 Algorithmus von Dijkstra

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 3

4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)

Algorithmen und Datenstrukturen II

Kapitel 1. Exakte Suche nach einem Wort. R. Stiebe: Textalgorithmen, WS 2003/04 11

Berechnung minimaler Spannbäume. Beispiel

1.8 Shift-And-Algorithmus

5. Assoziationsregeln

Informatik II, SS 2016

Algorithmen und Datenstrukturen

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Copyright, Page 1 of 7 Heapsort

Informatik II, SS 2016

Graphalgorithmen Minimale Spannbäume. Kruskal: Minimaler Spannbaum

Seminar: Data Mining. Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen. Ein Vortrag von Mathias Rohde. 11.

Proportional Symbol Maps

Präsentation BDDs Binary Decision Diagrams

Kryptographische Protokolle

Schriftliche Ausarbeitung zum Seminarvortrag: Einführung in die Perfekte Simulation. Propp-Wilson-Algorithmus

Algorithmen und Datenstrukturen (für ET/IT)

Assoziationsregeln & Sequenzielle Muster. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007

Algorithmen und Komplexität Lösungsvorschlag zu Übungsblatt 8

9. Rekursion. 1 falls n 1 n (n 1)!, andernfalls. Experiment: Die Türme von Hanoi. Links Mitte Rechts. Mathematische Rekursion

Mehrwegbäume Motivation

Datenstrukturen und Algorithmen

Rolf Wanka Sommersemester Vorlesung

Maschinelles Lernen: Symbolische Ansätze

Datenströme. Prof. Dr. Nicole Schweikardt. Arbeitsgruppe Logik in der Informatik Humboldt-Universität zu Berlin

Algorithmen und Datenstrukturen, FS17 Prof Dr Christian Tschudin

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Java. public D find(k k) { Listnode K, D n = findnode(k); if(n == null) return null; return n.data; Java

Einführung in die Informatik

Peer-to-peer Netzwerke Peer-to-peer Netzwerke sind verteilte Systeme: Chord. Chord als DHT. Chord

Splay-Bäume. Joseph Schröer. Seminar über Algorithmen SoSe 2011, Prof. Dr. Helmut Alt

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -


Chord. Zusätzliche Quelle: Christian Schindelhauer, Vorlesung: Algorithmen für Peer-to-Peer-Netzwerke

Dynamisches Huffman-Verfahren

1.5 Boyer-Moore-Algorithmus

Algorithmen und Datenstrukturen

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Vorlesung Datenstrukturen

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 10, Donnerstag 9.

Klausur Algorithmen und Datenstrukturen I WS 05/06

Informatik II, SS 2018

4.2 Fibonacci-Heaps Aufbau Potenzialfunktion. Knoten v hat folgende Felder:

Data Mining auf Datenströmen Andreas M. Weiner

Maschinelles Lernen: Symbolische Ansätze

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing

Algorithmen und Datenstrukturen

Transkript:

Approximate Frequency Counts over Data Streams Gurmeet Singh Manku Rajeev Motwani Näherungsweise Häufigkeitszählung in Datenströmen Seminarvortrag von Marco Möller 1

Wofür ist das gut? Was sind die Top Ten der Suchanfragen bei g**gle.de? Lernen von Assoziationsregeln: Kunden, die das neue MS Office bestellen, bestellen auch häufig zusätzlichen RAM IP Traffic Mangagement: finden von viel genutzten Links in Netzwerken um Routen danach zu optimieren Denial of Service Attacken aufdecken 2

Worum geht s? N Elemente die häufiger als s N mit s 0,1 vorkommen extrahiert werden In einem Datenstrom der Länge sollen alle jeweils mit Angabe von Häufigkeit in einem Durchlauf durch die Daten also gut für Data Streams geeignet beweisbarer, möglichst kleiner Speicherbedarf f 3

Was heißt näherungsweise? 0,1 einstellbarer (garantierter) Genauigkeit dabei nicht exakt zählen, sondern mit alle Elemente die häufiger als sn vorkommen werden gefunden kein Element das seltener als s N vorkommt wird ausgegeben angegebene Raten sind kleiner gleich den richtigen um maximal N wird definitiv nicht ausgegeben f in Wirklichkeit wird definitiv ausgegeben 0% s s f aus Algorithmus 100% 4

Algorithmen Grundgerüst Initialisierung K = FOR_EACH neues eintreffendes Element IF bereits ein Eintrag in K für e existiert? THEN in Datenstruktur Zäher für e inkrementieren ELSE evtl. neuen Eintrag in K einfügen IF Zeit zum Aufräumen THEN Elemente aus K entfernen Ausgabe: alle Elemente aus, die häufig genug vorkamen K e 5

Sticky Sampling - Übersicht Stochastik bzw. Stichproben basiert Anforderungen nur mit wählbarer Wahrscheinlichkeit 1 erfüllt Speicher maximal 2 log s 1 1 6

Sticky Sampling - Benennung Datenstruktur ist Menge von Einträgen der Form e, f e Element im Datenstrom f N genäherte Häufigkeit S Variable r für sampling rate wird mitgeführt 7

Sticky Sampling - Algorithmus (1) Initialisierung S :=, r :=1, t := 1 log s 1 1 FOR_EACH neues eintreffendes Element e IF bereits ein Eintrag in S für e existiert? THEN entsprechendes f um eins erhöhen 1 ELSE Mit Wahrscheinlichkeit neuen Eintrag der Form e,1 in S einfügen r IF N =2 r t THEN r :=2 r S ausdünnen (siehe nächste Folie) N 8

S ausdünnen: FOR_EACH Sticky Sampling - Algorithmus (2) e, f S WHILE Münzwurf = Kopf f := f 1 IF f =0 THEN lösche Element aus S Ausgabe: Alle Elemente e, f S mit f s N 9

Sticky Sampling - Beispiel s=0,1 =0,01 =0,01 t= 1 0,001 log 2 1 0,1 1 0,01 =1000 N=4000... b g a c f f f f schnitt f a 700 + 699 b 1221 + 1221 c 80 + 79 d 2 delete e 1511 1510 (f) 1/2->F 1 + + delete 1/4->F (g) 1/2->F r=2 r=4 1/4 ->f := 4-seitiger Würfel landet nicht auf der richtgen Seite 10

Lossy Counting - Übersicht deterministisch exakt in Anforderungsschranken keinen Parameter Speicher maximal 1 log N Im Gegensatz zu Sticky Sampling abhängig von N 11

Lossy Counting - Benennung Eingangsstrom in gedachte Behälter der Länge unterteilen nummeriere Behälter durch aktuelle Behälternummer ist Datenstruktur D Menge von Einträgen der Form w= 1 e, f, e Element im Datenstrom f N genäherte Häufigkeit maximal möglicher Fehler id =1,2, id max = N 12

Lossy Counting - Algorithmus Initialisierung FOR_EACH neues eintreffendes Element IF bereits ein Eintrag in D für e existiert? THEN entsprechendes f um eins erhöhen ELSE neuen Eintrag der Form e,1, id max 1 in D einfügen IF N mod w=0 THEN alle Elemente aus D löschen, für die gilt Ausgabe: alle Elemente mit f s N D= e, f, D e N f id max = N w 13

Lossy Counting - Beispiel s=0,1 =0,01 w= 1 =100 N=4000 -> id max =100 (f,δ)... b g a c f f f schnitt f a a (700,12) + (701,12) + b (1221,1) + (1222,1) c (80,20) + (81,20) d (2,98) -- e (1511,0) (1511,0) f -- 1 + + (3,98) + g -- 1 -- 14

Vergleich - Memory Sticky Sampling 2 log s 1 1 Lossy Counting 1 log N Uniq: Alle Elemente Einzigartig Zipf: Zipf-Verteilung mit Parameter 1,25 Häufigkeit proportional zu 1 / (Rangfolge der Elements in der Gesamtmenge) s=10 =1 =0,1 15

Praxis Lossy Counting benötigt wesentlich weniger Speicher und ist praktisch nicht abhängig von N Beide Algorithmen arbeiten wesentlich genauer als die Angegebene Schranke es verlangt Lossy Counting: Falls im ersten Fenster alle wichtigen Elemente vorkommen, ist die Zählung sehr warscheinlich exakt Lossy Counting prozessorlastig geeignet um Daten direkt von Platte zu lesen ohne Performance Einbuße 16

Literatur J. Fürnkranz, G. Grieser. Vorlesungsskript Maschinelles Lernen: Symbolische Ansätze. WS2006/07 G. S. Manku and R. Motwani. Approximate Frequency Counts over Streaming Data. In Proceedings of VLDB 2002, Aug. 2002 Wikipedia. 11.11.2006 http://en.wikipedia.org/wiki/zipf%27s_law Cordula Nimz. Seminarvortrag. 15.12.2005 http://www.inf.fu-berlin.de/lehre/ws05/seminar-algorithmen/vortrag20051215.pdf 17