Data Mining 3-1. Kapitel 3: Mining Data Streams. Johannes Zschache Wintersemester 2018/19

Größe: px
Ab Seite anzeigen:

Download "Data Mining 3-1. Kapitel 3: Mining Data Streams. Johannes Zschache Wintersemester 2018/19"

Transkript

1 Data Mining Kapitel 3: Mining Data Streams Johannes Zschache Wintersemester 2018/19 Abteilung Datenbanken, Universität Leipzig Data Mining 3-1

2 3-2 Data Mining Übersicht Hochdimension. Daten Locality sensitive hashing Clustering Dimension. reduction Graphdaten PageRank, SimRank Network Analysis Spam Detection Unbegrenzte Daten Filtering data streams Web advertising Queries on streams Maschinelles Lernen Support Vector Machines Decision Trees Nearest Neighbors Anwendung Recommen. Systems Association Rules Duplicate document detection

3 Inhaltsverzeichnis Data Streams Ziehen einer Stichprobe Fester Anteil Feste Größe: Reservoir Sampling Anfragen mit Sliding Window DGIM Methode Exponentially Decaying Window Filter auf Data Streams: Bloom Filter Anzahl eindeutiger Elemente: Flajolet-Martin Algorithmus Schätzung von Momenten: Alon-Matias-Szegedy Algorithmus Data Mining 3-3

4 Data Stream In vielen Situationen liegt der Datensatz zum Zeitpunkt der Analyse nicht vollständig vor Daten sind unbegrenzt und die Rate der Eingabe ist nicht kontrollierbar Annahmen Daten treten mit einer sehr großen Rate über einen oder mehrere Streams auf Zugängliche Speicherung der Streams (auf Festplatte) nicht möglich Daten werden sofort verarbeitet und danach verworfen Frage: Wie sind kritische Berechnungen über den Stream mit einer begrenzten Menge an (sekundärem) Speicher möglich? Data Mining 3-4

5 Stream Processing Model Ad-Hoc Anfragen... 1, 5, 2, 7, 0, 9, 3... a, r, v, t, y, h, b... 0, 0, 1, 0, 1, 1, 0 Ständige Anfragen Prozessor Ausgabe Zeit Data Streams Bestehend aus Elementen/Tupeln verschiedenen Typs Unterschiedliche Raten Speicher für Zwischenergebnisse (RAM/Festplatte) Archive (schwer zugänglich) Data Mining 3-5

6 Beispiele Sensordaten Milliarden Sensoren senden Daten an zentrale Einheit z.b. Wasserstand/Temperatur in Flüssen/Seen/Meeren Anfragen an Suchmaschine Welche Anfragen werden heute häufiger gestellt, als gestern? z.b. Anfragen wie Symptome Grippe können auf Grippewelle hinweisen Clickstream Welche Wikipedia-Seiten wurden in der letzten Stunde besonders häufig besucht? Welche Nachrichten/Themen sind aktuell? News-Feed auf Sozialen Medien IP/Telefon-Daten Informationen für optimales Routing der Packete / Denial-of-Service-Attacken Erstellung von Abrechnungen für Kunden/Unternehmen Online Machine Learning (z.b. Stochastic Gradient Descent) Data Mining 3-6

7 Inhaltsverzeichnis Data Streams Ziehen einer Stichprobe Fester Anteil Feste Größe: Reservoir Sampling Anfragen mit Sliding Window DGIM Methode Exponentially Decaying Window Filter auf Data Streams: Bloom Filter Anzahl eindeutiger Elemente: Flajolet-Martin Algorithmus Schätzung von Momenten: Alon-Matias-Szegedy Algorithmus Data Mining 3-7

8 Ziehen einer Stichprobe Auswahl und Speicherung einer repräsentativen Teilmenge der Daten Anfragen auf Stichprobe anstatt gesamten Daten Zwei Arten 1. Fester Anteil des Data Stream: z.b. 1 von 10 Elementen, d.h. die Stichprobe wächst kontinuierlich mit der Zeit (mit dem Stream) 2. Feste Anzahl an Elemente: z.b Elemente, d.h. die Stichprobe hat eine feste maximale Größe Data Mining 3-8

9 Stichprobe mit festen Anteil Beispiel: Anfragen an Suchmaschine Element: (Nutzer, Zeit, Anfrage) Frage: Wie oft stellt ein Nutzer die gleiche Anfrage am selben Tag? Anteil: 1 von 10 Elementen Naive Lösung: Generiere eine zufällige ganze Zahl zwischen 0 und 9 Speichere das Element genau dann, wenn diese Zahl der 0 gleicht Annahme: Nutzer stellt x einzigartige Anfrage und d Duplikate Exakte Antwort: d d+x der Anfragen sind Duplikate ABER: Erwartungswert der naiven Schätzung: Data Mining 3-9 d 19d+10x Grund: Duplikate tauchen mit Wahrscheinlichkeit 1 Wahrscheinlichkeit als einzigartige Anfrage auf als Duplikat und

10 Stichprobe mit festen Anteil Lösung im Beispiel: Wähle 1 von 10 Nutzern zufällig aus und speichere alle Anfragen dieser Nutzer Implementierung: Verwendung eine Hashfunktion um Nutzer (deren Namen/ID) gleichmäßig auf 10 Buckets zu verteilen Allgemeine Lösung: Wähle eine/mehrere Komponenten des Elements als Schlüssel (von Anwendung/Frage abhängig) Für einen Anteil von a, verwende b Buckets und speichere ein Element des Stream b falls der Hash-Wert des Schlüssels in einen der ersten a Buckets fällt z.b. für eine 30%-Stichprobe: Data Mining 3-10

11 Stichprobe fester Größe Stichprobe darf eine Größe s nicht überschreiten, z.b. aufgrund von Speicherbeschränkungen Erwünschte Eigenschaft: Nachdem n Elemente des Stream eintrafen, ist jedes dieser Elemente mit Wahrscheinlichkeit s Teil der Stichprobe n Beispiel mit s = 2: a x c y z k c d e g Nach n = 7, alle 7 Elemente sind mit Wahrscheinlichkeit 2 7 Teil der Stichprobe Nach n = 10, alle 10 Elemente sind mit Wahrscheinlichkeit 2 10 Teil der Stichprobe Algorithmus (a.k.a. Reservoir Sampling) Speichere die ersten s Elemente des Stream Angenommen es trifft das nte Element ein (n > s) Mit Wahrscheinlichkeit s/n, speichere das nte Element Falls das nte Element gespeichert wurde, ersetze eins der vorhandenen s Elemente (zufällig ausgewählt nach Gleichverteilung) durch dieses Element Data Mining 3-11

12 Beweis der erwünschten Eigenschaft Vollständige Induktion IA: Nachdem n = s Elemente eintrafen, sind alle Elemente mit Wahrscheinlichkeit s = s = 1 in der Stichprobe n s IS: Angenommen die erwünschte Eigenschaft gilt nachdem n Elemente eintrafen. Für das Eintreffen des (n + 1)ten Elements gilt: Das (n + 1)te Element ist mit Wahrscheinlichkeit Data Mining 3-12 s n+1 in der Stichprobe Jedes Elemente aus vorherigen Stichprobe bleibt darin mit Wahrscheinlichkeit 1 s n s n + 1 s 1 s = n n + 1 Jedes der ersten n Elemente ist in Stichprobe mit Wahrscheinlichkeit s n n n + 1 = s n + 1

13 Inhaltsverzeichnis Data Streams Ziehen einer Stichprobe Fester Anteil Feste Größe: Reservoir Sampling Anfragen mit Sliding Window DGIM Methode Exponentially Decaying Window Filter auf Data Streams: Bloom Filter Anzahl eindeutiger Elemente: Flajolet-Martin Algorithmus Schätzung von Momenten: Alon-Matias-Szegedy Algorithmus Data Mining 3-13

14 Anfragen mit Sliding Window Anfragen sind auf ein Sliding Window der Länge N, d.h. auf die neuesten N Elemente, beschränkt Beispiel mit N = 6: q w e r t y u i o p a s d f g h j k l z x c v b n m Problematisch: N ist so groß, dass Sliding Window nicht direkt gespeichert werden kann (oder: zu viele Streams mit Sliding Window) Anwendung eines Online Händlers Jedes Produkt ergibt ein 0/1-Stream für die Information, ob das Produkt in der nten Transaktion verkauft wurde Anfrage: Wie oft wurde ein Produkt in den letzten k Transaktionen verkauft? Data Mining 3-14

15 Bits Zählen Gegeben ist ein 0/1-Stream, ein Sliding Window der Länge N und Anfragen der Form: Wie viele Einsen sind unter den letzten k Bits (k N)? N Vergangenheit Zukunft Exakte Antwort nur durch Speichern aller N Bits möglich Approximative Antwort bei weniger Bits z.b. Annahme der Gleichverteilung (schlechte Lösung) 2 Zähler: S: Anzahl der Einsen seit Beginn Z: Anzahl der Nullen seit Beginn Anzahl der Einsen unter den letzten k Bits: k S S+Z Data Mining 3-15

16 DGIM Methode Datar-Gionis-Indyk-Motwani-Algorithmus Keine Annahme der Gleichverteilung erforderlich Speicherbedarf: O(log 2 N) pro Data Stream Schätzung der Anzahl der Einsen mit einem Fehler von max. 50% 1. Idee: Exponentiell wachsende Bereiche Bereich aus 16 Bits mit 10 Einsen Länge N Data Mining 3-16

17 DGIM Methode Vorteil der Exponentiell wachsenden Bereiche : Speicherbedarf Speichern der Anzahl der Einsen pro Bereich benötigt maximal log N Bits Anzahl der Bereiche: O(log N) Insgesamt: O(log 2 N) Bits Nachteil: Fehler bei der Berechnung der Anzahl der Einsen ist nur dann kleiner als 50% wenn Einsen gleichmäßig über Sliding Window verteilt Falls alle Einsen im letzten Bereich: Unbegrenzter Fehler Länge ? 6 10 N Data Mining 3-17

18 DGIM Methode Lösung: Anstatt von Bereichen mit bestimmter Länge, Zusammenfassen von Bereichen mit bestimmter Anzahl an Einsen 2 Bereiche der Größe 1 Mind. 1 Bereich der Größe 16 2 Bereiche der Größe 8 2 Bereiche der Größe 4 1 Bereich der Größe N Data Mining 3-18

19 DGIM-Bereiche Jedes Bit des Stream hat einen Timestamp: 1, 2, Ein DGIM-Bereich besteht aus A. Dem Timestamp des neuesten Eintrags B. Anzahl der Einsen im Bereich = die Größe des DGIM-Bereichs Regeln Das rechte Ende eines Bereichs enthält eine Eins. Jedes 1-Bit fällt in einen Bereich. Jedes Bit fällt in maximal einen Bereich. Die Größe eines Bereichs (Anzahl der Einsen) muss eine Zweierpotenz sein Speicherung der Größe benötigt nur log log N Bits Von dem neuesten zu älteren Bereichen ist dessen Größe monoton steigend Timestamps werden modulo N gespeichert Speicherung des Timestamp benötigen somit nur log N Bits Bereiche verschwinden, wenn dessen Timestamp größer N ist (dazu zusätzliche Speicherung des modulo des aktuellsten Bits erforderlich). Es gibt entweder einen oder zwei Bereiche einer Größe O log N Bereiche Data Mining 3-19

20 Aktualisierung der DGIM-Bereiche Ankommen eines neuen Bit Evtl. verschwindet ältester Bereich (falls sein Timestamp modulo N gleich dem aktuellen Timestamp modulo N ist) Falls neuer Bit eine Null: keine weiteren Änderungen notwendig Falls neuer Bit eine Eins: 1. Erstelle neuen Bereich der Größe 1 und Timestamp des neuen Bit 2. Falls nun 3 Bereich der Größe 1: Kombiniere die älteren beiden Bereich zu einem Bereich der Größe 2 3. Falls nun 3 Bereich der Größe 2: Kombiniere die älteren beiden Bereich zu einem Bereich der Größe 4 4. Usw. Maximal log N Schritte: O log N Zeitkomplexität Data Mining 3-20

21 DGIM: Beispiel Current state of the stream: Bit of value 1 arrives Two orange buckets get merged into a yellow bucket Next bit 1 arrives, new orange bucket is created, then 0 comes, then 1: Buckets get merged State of the buckets after merging Data Mining 3-21

22 DGIM: Anfragen Wie viele Einsen sind unter den letzten k Bits (k N)? Suche den ältesten Bereich B dessen Timestamp noch innerhalb der neuesten k Bits liegt Schätze die Anzahl der Einsen durch: Summe der Größen aller Bereiche, die neuer als B sind Plus die Hälfte der Größe von B Fehler: max. 50 % Sei 2 r die Größe von B Dann beträgt die wahre Anzahl der Einsen mind r = 2 r Man addiert also maximal die Hälfte der wahren Anzahl Bzw. es fehlt maximal die Hälfte von B Mind 16 Einsen N Data Mining 3-22

23 DGIM: Erweiterungen Reduzierung des Fehlers über höheren Speicherbedarf Erlaube r oder r-1 Bereiche pro Größe und beliebige Anzahl (1,, r) für den kleinsten und den größten Bereich Fehler ist beschränkt durch 1 r 1 Anstatt 0/1-Stream: Anzahl beliebiger natürlicher Zahlen (2 Möglichkeiten) 1. Natürliche Zahlen aus Bereich 1 bis 2 m Jedes Bit ist eigener 0/1-Stream mit Summe c i nach der DGIM Methode Gesamt Summe: σ m 1 i=0 c i 2 i 2. Größe eines Bereichs mit mehr als einem Element ist maximal 2 b Bereichsgrößen: Data Mining 3-23

24 Inhaltsverzeichnis Data Streams Ziehen einer Stichprobe Fester Anteil Feste Größe: Reservoir Sampling Anfragen mit Sliding Window: DGIM Methode Exponentially Decaying Window Filter auf Data Streams: Bloom Filter Anzahl eindeutiger Elemente: Flajolet-Martin Algorithmus Schätzung von Momenten: Alon-Matias-Szegedy Algorithmus Data Mining 3-24

25 Suche nach häufigen Elementen Stream aus beliebigen Elementen, z.b. a, b, c, d, a, a, e, c, Welche Elemente kommen häufiger als s mal vor? Beschränkung auf die neuesten Elemente über Window Einen (virtuellen) 0/1-Stream pro Element 1. Möglichkeit: Sliding Window und DGIM Nur möglich bei relativ wenig Elementen, da Bereiche gespeichert werden müssen Weniger geeignet bei häufigen Paaren oder Mengen 2. Möglichkeit: Exponentially Decaying Window (EDW) Anstatt Festlegung auf die letzten N Elemente, Aggregation über gesamten Stream und höhere Gewichtung der neuesten Elemente Seien a 1, a 2, die 0/1-Elemente eines Streams x und c eine Konstante (z.b oder 10 9 ): t Bei Ankunft eines neuen Elements in x: S t (x) = a i 1 c t i S t+1 x = c S t x S t+1 y = (1 c)s t (y) für alle y x i=1 Data Mining 3-25

26 Suche nach häufigen Elementen über EDW Speicherung von nur einem Zähler pro Element/Stream Außerdem: Löschen von Zählern S t x, die kleiner als s sind Eigenschaft: S t (x) = x i=1 t 1 c t i < i=0 1 c i = 1 1 (1 c) = 1 c Für jeden Schwellenwert s (z.b. s = 1 Τ2), kann es maximal 1 Τcs Elemente mit S t x s geben Die Anzahl der Elemente für die ein Wert S t x gespeichert wird, ist begrenzt durch s Data Mining 3-26

27 Erweiterung zu Mengen Beispiel: Produkte, die oft zusammen gekauft werden Problem: Zu viele Kombinationen von Elementen Bei insgesamt 20 verschiedenen Elementen: Millionen Teilmengen Bei insgesamt 100 Elementen: Quintillion Teilmengen Konservatives Vorgehen: Bei Ankunft einer neuen Menge B: Multipliziere alle vorhandenen Zähler S t (Y) mit (1 c) Für jede Teilmenge X B, füge einen Zähler S t X hinzu, falls für jede echte Teilmenge bereits vor der Ankunft von B ein Zähler vorhanden war Annahme: S t ( ) ist immer vorhanden Beispiel: Zähler für X = i, j, k wird hinzugefügt, falls i, j, j, k und i, k schon einen Zähler besitzen Intuition: Potential für eine häufige Menge, falls echte Teilmengen schon häufig Für jede Menge X B: Addiere 1 zu S t (X), falls S t (X) existiert Entferne alle Zähler mit S t Y < s Data Mining 3-27

28 Inhaltsverzeichnis Data Streams Ziehen einer Stichprobe Fester Anteil Feste Größe: Reservoir Sampling Anfragen mit Sliding Window DGIM Methode Exponentially Decaying Window Filter auf Data Streams: Bloom Filter Anzahl eindeutiger Elemente: Flajolet-Martin Algorithmus Schätzung von Momenten: Alon-Matias-Szegedy Algorithmus Data Mining 3-28

29 Filter auf Data Streams Leicht umsetzbare Filter: Attribut Alter > 18 Attribut Kategorie == A Schwieriger: Attribut ist Element einer Menge S und S ist sehr groß S passt nicht in Hauptspeicher oder mehrere Millionen Filter, die zusammen nicht in Speicher passen Beispiele: -Spam-Filter: S ist die Menge von 1 Milliarde -Adressen Publish-Subscribe-Systeme: z.b. Newsletter, die aus vielen Nachrichten/Blogeinträgen zusammengestellt und an Abonnenten mit unterschiedlichen Interessen gesendet werden Content-Filter: Jede Anzeige sollte nur einmal pro Nutzer geschaltet werden Data Mining 3-29

30 Filter über eine einzelne Hash-Funktion Array B aus n Bits und Hash-Funktion h aus dem Wertebereich von S gleichmäßig auf die Menge {0,1,, n 1} abbildet Initialisierung: Setze alle Bits auf 0 Für jedes s S, setze B[h(s)] = 1 Gegeben ein Element eines Data Stream mit Attribut a: Wähle Element genau dann aus, wenn B[h(a)] = 1 Element Hash- Funktion h Ausgabe des Elements, falls B[h(a)] = Bit-Array B Verwirf Element, falls B[h(a)] = 0 Data Mining 3-30

31 Filter über eine einzelne Hash-Funktion Sei S eine Menge von m Elementen und B eine Array aus n Bits (m << n) Ungefähr ein Anteil m aller Bits sind auf Eins gesetzt n Falls ein Attribut a eines Elements zu S gehört, dann ist B[h(a)] = 1 garantiert Keine False Negatives Falls ein Attribut b nicht zu S gehört, wird es mit einer Wahrscheinlichkeit von ungefähr 1 e mτn einem Bit mit einer Eins zugeordnet False Positive Wahrscheinlichkeit eines False Positive : n m = n n m n 1 e mτn Beispiel: 1 Milliarde -Adressen und 1 GB Array, d.h. m = 10 9 und n = : 1 e 1Τ8 = Data Mining 3-31

32 Bloom Filter Verwende k unabhängige Hash-Funktionen h 1, h 2,, h k Initialisierung: Setze alle Bits von B auf 0 Für jedes s S setze B[h i (s)] = 1 für alle i = 1,.., k Für ein Element aus Data Stream mit Attribut a: Falls B[h i (a)] = 1 für alle i = 1,.., k, gib Element aus Ansonsten: Verwirf Element Anteil der Bits aus B mit einer Eins: n km 1 e km Τ n Wahrscheinlichkeit eines False Positive 1 e km Τ n k Data Mining 3-32

33 False Positive Rate Bloom Filter: Optimierung Beispiel: 1 Milliarde -Adressen und 1 GB Array d.h. m = 10 9 und n = k = 1: 1 e 1Τ k = 2: 1 e 1Τ Optimum: k opt = n m ln 2 Beispiel: k opt = 8 ln Anzahl Hash-Funktionen k Fehler für k = 6: 1 e Τ Data Mining 3-33

34 Inhaltsverzeichnis Data Streams Ziehen einer Stichprobe Fester Anteil Feste Größe: Reservoir Sampling Anfragen mit Sliding Window: DGIM Methode Exponentially Decaying Window Filter auf Data Streams: Bloom Filter Anzahl eindeutiger Elemente: Flajolet-Martin Algorithmus Schätzung von Momenten: Alon-Matias-Szegedy Algorithmus Data Mining 3-34

35 Anzahl eindeutiger Elemente Anfrage: Anzahl der eindeutigen Elemente, die bisher auftraten Beispiele Wie viele verschiedene Nutzer haben eine Webseite im letzten Monat besucht? Wie viele verschiedene Webseiten wurden von einem Nutzer aufgerufen? Wie viele verschiedene Produkte wurden letzte Woche verkauft? Welches Vorgehen eignet sich, wenn die bisher gesehenen Elemente nicht in den Hauptspeicher passen bzw. tausende Streams gleichzeitig verarbeitet werden? Ziel: Schätzung der Anzahl mit möglichst geringem Fehler Data Mining 3-35

36 Flajolet-Martin Algorithmus Hash-Funktion h, die eine Menge von m verschiedenen Elementen auf eine Sequenz von mind. log m Bits abbildet z.b. h e = Für jedes Element e, sei r(e) die Anzahl der hinteren Nullen von h(e) z.b. falls h e = 10100, dann ist r e = 2 Speichere R als das Maximum von r e über alle bisherigen Elemente Schätzer für die Anzahl der eindeutigen Element: 2 R Intuition: Je mehr verschiedene Elemente beobachtet werden (je größer m), desto mehr unterschiedliche Hash-Werte werden berechnet Je mehr unterschiedliche Hash-Werte berechnet werden, desto wahrscheinlicher ist das Auftreten eines sehr seltenen Hash-Wertes Zum Beispiel ist ein Hash-Wert mit vielen hinteren Nullen sehr selten Auch andere seltene Eigenschaften würden funktionieren Data Mining 3-36

37 Flajolet-Martin Schätzer: Begründung Die Werte von h e haben gleiche Wahrscheinlichkeit Die Wahrscheinlichkeit einen Hash-Wert mit r hinteren Nullen zu berechnen is 2 r Ungefähr 50% der Werte haben die Form ***0 Ungefähr 25% der Wert haben die Form **00 Wahrscheinlichkeit mindestens einen Hash-Wert mit r hinteren Nullen durch die Eingabe von m verschiedenen Elementen zu beobachten ist r m = r 2r m2 r 1 e m2 r =: p p 0 falls m 2 r 0 und p 1 falls m 2 r Der Schätzer 2 R ist also mit hoher Wahrscheinlichkeit weder viel zu groß noch viel zu klein Data Mining 3-37

38 Flajolet-Martin Schätzer: Probleme Alleinige Betrachtung der Grenzwerte ist problematisch Simulation mit m = 1000 und Bit-Array der Größe 20; Wiederholungen Falls R = 10, dann Schätzung von m durch 2 R = 1024 Aber extreme Überschätzung durch 2 11 = 2048 oder 2 12 = 4096 Lösung: Verwendung mehrerer Hash-Funktionen Mittelwert: anfällig gegenüber Ausreißern (Simulation: 5243) Median: nur Zweierpotenzen (Simulation: 1024) Alternative: Unterteilung in kleine Gruppen von Hash-Funktionen und Median der Mittelwerte als Schätzer (oder: Mittelwert der Mediane) Data Mining 3-38

39 Inhaltsverzeichnis Data Streams Ziehen einer Stichprobe Fester Anteil Feste Größe: Reservoir Sampling Anfragen mit Sliding Window: DGIM Methode Exponentially Decaying Window Filter auf Data Streams: Bloom Filter Anzahl eindeutiger Elemente: Flajolet-Martin Algorithmus Schätzung von Momenten: Alon-Matias-Szegedy Algorithmus Data Mining 3-39

40 Schätzung von Momenten Angenommen die Elemente eines Stream entstammen einer Menge A Sei m i die Anzahl des Vorkommens von i A im Stream Betrachtung des Falls: alle m i passen nicht in den Hauptspeicher Das k-te Moment ist definiert als m i k i A 0te Moment = Anzahl eindeutiger Elemente 1te Moment = Anzahl der Elemente 2te Moment = Maß der Ungleichheit ( surprise number ) z.b. Stream mit 100 Elementen aus 11 verschiedenen Werten m i : 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 2tes Moment: 910 m i : 90, 1, 1, 1, 1, 1, 1, 1,1, 1, 1 2tes Moment: = Data Mining 3-40

41 Alon-Matias-Szegedy Algorithmus Zunächst: Schätzung des 2-ten Moments Speicherung einer großen (aber durch den Hauptspeicher begrenzten) Anzahl an Variablen X 1, X 2,, X l mit X 1. elem bezeichnet ein Element i X 1. val enthält die Anzahl m i Sei n die Länge des Stream (eigentlich unbekannt) Für jede Variable X j Wähle (gleichmäßig) zufällig einen Zeitpunkt t (t n) X j. elem = i wobei i das Element des Stream zum Zeitpunkt t X j. val = c(i), wobei c(i) die Anzahl des Vorkommens von i ab Zeitpunkt t Sei f X j = n(2c(i) 1) Schätzer des 2-ten Moments: S = 1 l f X j j=1 l Data Mining 3-41

42 Alon-Matias-Szegedy Algorithmus c(i): Stream: m a (m a 1) m b (m b 1) (m a 2) a a b b a a a b a n 1 E f(x) = n(2c(t) 1) n = i A = i A j=1 = i A t=1 ( m i 3 + 2m i 1) m i (2j 1) = m i 2 i A 2 m i m i m i f(x) ist unverzerrter Schätzer des 2-ten Moments Data Mining 3-42

43 Alon-Matias-Szegedy Algorithmus Momente höherer Ordnung Für das k-te Moment: f X = n (c k c 1 k ), wobei X. val = c Beispiel: k = 3 f X = n (3c 2 3c + 1) In Praxis: Anstatt Mittelwert über alle Variablen, Median über Mittelwerte von kleineren Gruppen von Variablen Unbegrenzte Streams (n unbekannt): Lösung über Reservoir Sampling Stichprobengröße l Wähle ersten l Zeitpunkte für die Variablen Wenn das n-te Element (n > l) auftritt, wähle es mit Wahrscheinlichkeit l n Falls das n-te Element als neue Variable gewählt wird, entferne eine existierende Variable mit Wahrscheinlichkeit 1 l Data Mining 3-43

44 Referenzen, Beispiele, Übungen Kapitel 4 aus Mining of Massive Datasets : Übungen: Sliding Window: & Bloom Filter: & Anzahl eindeutiger Elemente: Momente: & Data Mining 3-44

45 Übung & Übung a) k = 5: 3 vs 3 Fehler: 0 b) k = 15: 10 vs 9 Fehler: 1 Übung Data Mining 3-47

46 Übung & Übung Beispiel: 1 Milliarde -Adressen und 1 GB Array d.h. m = 10 9 und n = k = 1: 1 e 1Τ k = 2: 1 e 1Τ k = 3: 1 e 3Τ k = 4: 1 e 1Τ Übung e kmτn k = 1 e m Τ( n Τ k) k Data Mining 3-50

47 Übung Stream: Anzahl eindeutiger Elemente: 7 a) h x = 2x + 1 mod = 1 b) h x = 3x + 7 mod = 16 c) h x = 4x mod = 16 Mittelwert: 11 Data Mining 3-52

48 Übung & Stream: Übung X i. val = c: Übung f X = n (3c 2 3c + 1) f X 1. val : Mittelwert: 51 Wahrer Wert: 51 (= ) Data Mining 3-55

Data Mining 7-1. Kapitel 7: Advertising on the Web. Johannes Zschache Wintersemester 2018/19

Data Mining 7-1. Kapitel 7: Advertising on the Web. Johannes Zschache Wintersemester 2018/19 Data Mining Kapitel 7: Advertising on the Web Johannes Zschache Wintersemester 2018/19 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de Data Mining 7-1 7-2 Data Mining Übersicht Hochdimension.

Mehr

Data Mining 2-1. Kapitel 2: Finding Similar Items. Johannes Zschache Wintersemester 2018/19

Data Mining 2-1. Kapitel 2: Finding Similar Items. Johannes Zschache Wintersemester 2018/19 Data Mining Kapitel 2: Finding Similar Items Johannes Zschache Wintersemester 28/9 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de Data Mining 2- WS 28/9 2-2 Data Mining WS 28/9 Übersicht

Mehr

Data Mining 5-1. Kapitel 5: Frequent Itemsets. Johannes Zschache Wintersemester 2018/19

Data Mining 5-1. Kapitel 5: Frequent Itemsets. Johannes Zschache Wintersemester 2018/19 Data Mining Kapitel 5: Frequent Itemsets Johannes Zschache Wintersemester 2018/19 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de Data Mining 5-1 5-2 Data Mining Übersicht Hochdimension.

Mehr

Data Mining Kapitel 11: Machine Learning. Johannes Zschache Wintersemester 2018/19

Data Mining Kapitel 11: Machine Learning. Johannes Zschache Wintersemester 2018/19 Data Mining Kapitel 11: Machine Learning Johannes Zschache Wintersemester 2018/19 Abteilung Datenbanken, Universität Leipzig http://dbs.unileipzig.de Data Mining 111 112 Data Mining Übersicht Hochdimension.

Mehr

Data Mining 8-1. Kapitel 8: Recommendation Systems. Johannes Zschache Wintersemester 2018/19

Data Mining 8-1. Kapitel 8: Recommendation Systems. Johannes Zschache Wintersemester 2018/19 Data Mining Kapitel 8: Recommendation Systems Johannes Zschache Wintersemester 08/9 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de Data Mining 8- 8- Data Mining Übersicht Hochdimension.

Mehr

Stream Processing II

Stream Processing II Stream Processing II K-Buckets Histogram Histogramme sind graphische Darstellungen der Verteilung von numerischen Werten Werden durch Intervalle, die sich nicht überlappen, dargestellt Ein Intervall wird

Mehr

Data Mining 4-1. Kapitel 4: Link Analysis. Johannes Zschache Wintersemester 2018/19

Data Mining 4-1. Kapitel 4: Link Analysis. Johannes Zschache Wintersemester 2018/19 Data Mining Kapitel 4: Link Analysis Johannes Zschache Wintersemester 2018/19 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de Data Mining 4-1 4-2 Data Mining Übersicht Hochdimension.

Mehr

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2 Hashorganisation HASHORGANISATION Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 982, Kapitel 2.2 Die Sätze der Datei werden auf eine Menge von Buckets aufgeteilt. Jedes Bucket

Mehr

Approximate Frequency Counts over Data Streams

Approximate Frequency Counts over Data Streams 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

Mehr

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

Streaming Data: Das Modell

Streaming Data: Das Modell Streaming Data: Das Modell Berechnungen, bei fortlaufend einströmenden Daten (x t t 0), sind in Echtzeit zu erbringen. Beispiele sind: - Verkehrsmessungen im Internet, - Datenanalyse in der Abwehr einer

Mehr

Übung GSS Blatt 1. SVS Sicherheit in Verteilten Systemen

Übung GSS Blatt 1. SVS Sicherheit in Verteilten Systemen Übung GSS Blatt 1 SVS Sicherheit in Verteilten Systemen 1 Alle so markierten Folien werden online gestellt Download über STINE (GSS-Übung) ONLINE Organisatorisches Den Foliensatz mit Hinweisen zur Organisation

Mehr

Numerische Verfahren und Grundlagen der Analysis

Numerische Verfahren und Grundlagen der Analysis Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 26 1. Folgen R. Steuding (HS-RM)

Mehr

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an.

Ein sortiertes Feld kann in O(log n) durchsucht werden, z.b. mit Binärsuche. Der Algorithmus 1 gibt den Pseudocode der binären Suche an. 2.5 Suchen Eine Menge S will nach einem Element durchsucht werden. Die Menge S ist statisch und S = n. S ist Teilmenge eines Universums auf dem eine lineare Ordnung definiert ist und soll so gespeichert

Mehr

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode

Mehr

Praktische Informatik I Algorithmen und Datenstrukturen Wintersemester 2006/07

Praktische Informatik I Algorithmen und Datenstrukturen Wintersemester 2006/07 6 Hashverfahren zum Namen Hash : engl für zerhacken gestreute Speicherung 61 Grundbegriffe Wir unterstellen ein direkt adressierbares Speichermedium mit einer Menge von Adressen, dem Adressraum Die Datensätze

Mehr

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden.

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Bemerkung: Die Wahl von a und b hängt wesentlich von der Anwendung

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log

Mehr

Vorverarbeitung von Sensordaten

Vorverarbeitung von Sensordaten Vorverarbeitung von Sensordaten Sensordaten sind oft verrauscht oder fehlerbehaftet. In roher Form sind die Sensordaten für die Anzeige oder die Weiterverarbeitung in der Regel ungeeignet. daher notwendig:

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)?

5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? 5.8.2 Erweiterungen Dynamische Hash-Funktionen (mit variabler Tabellengröße)? Ladefaktor: α, n aktuelle Anzahl gespeicherter Werte m Tabellengröße. Einfacher Ansatz: rehash() a z c h s r b s h a z Wenn

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 2 Effizienz

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group https://moves.rwth-aachen.de/teaching/ss-18/dsal/ 2 Effizienz

Mehr

Seminar über Algorithmen Übersicht über streaming (Datenstrom-)Algorithmen

Seminar über Algorithmen Übersicht über streaming (Datenstrom-)Algorithmen Seminar über Algorithmen Übersicht über streaming (Datenstrom-)Algorithmen von Roman Guilbourd Inhalt Was sind Datenströme Eigenschaften der Datenstromalgorithmen Anwendungen Einführungsbeispiel Mathematische

Mehr

Algorithmen des Internets

Algorithmen des Internets Algorithmen des Internets Sommersemester 2005 20.06.2005 10. Vorlesung schindel@upb.de Überblick Das Internet: Einführung und Überblick Mathematische Grundlagen IP: Routing im Internet TCP: Das Transport-Protokoll

Mehr

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1} 105 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen

Mehr

Fallstudie: Online-Statistik

Fallstudie: Online-Statistik Fallstudie: Online-Statistik Ziel: Klasse / Objekt, welches Daten konsumiert und zu jeder Zeit Statistiken, z.b. Mittelwert, Varianz, Median (etc.) ausgeben kann Statistics s = new Statistics(maxSize);...

Mehr

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen von

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1

1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit ** i=1 Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 05/06 ITI Wagner. Musterlösung Problem : Average-case-Laufzeit vs. Worst-case-Laufzeit ** (a) Im schlimmsten Fall werden für jedes Element

Mehr

3.3 Laufzeit von Programmen

3.3 Laufzeit von Programmen 3.3 Laufzeit von Programmen Die Laufzeit eines Programmes T(n) messen wir als die Zahl der Befehle, die für die Eingabe n abgearbeitet werden Betrachten wir unser Programm zur Berechnung von Zweierpotenzen,

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen

Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Definition Berechnung approximierter Voronoi-Zellen auf geometrischen Datenströmen Seminar über Algorithmen WS 2005/2006 Vorgetragen von Oliver Rieger und Patrick-Thomas Chmielewski basierend auf der Arbeit

Mehr

MAINTAINING STREAM STATISTICS OVER SLIDING WINDOWS

MAINTAINING STREAM STATISTICS OVER SLIDING WINDOWS MAINTAINING STREAM STATISTICS OVER SLIDING WINDOWS Von Mayur Datar, Aristides Gionis, Piotr Indyk, Rajeev Motwani Seminar aus maschinellem Lernen Vorgetragen von Matthias Beckerle Gliederung des Vortrags

Mehr

Hashing. Überblick Aufgabe Realisierung

Hashing. Überblick Aufgabe Realisierung Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion it Verkettung der Überläufer Offene Universelles 2/33 Überblick Aufgabe Realisierung Aufgabe Dynaische Verwaltung

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Wichtige Definitionen und Aussagen

Wichtige Definitionen und Aussagen Wichtige Definitionen und Aussagen Zufallsexperiment, Ergebnis, Ereignis: Unter einem Zufallsexperiment verstehen wir einen Vorgang, dessen Ausgänge sich nicht vorhersagen lassen Die möglichen Ausgänge

Mehr

Kapitel Andere dynamische Datenstrukturen

Kapitel Andere dynamische Datenstrukturen Institute of Operating Systems and Computer Networks Algorithms Group Kapitel 4.8-4.11 Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2018/2019 Vorlesung#15, 18.12.2018

Mehr

Statistik II SoSe 2006 immer von 8:00-9:30 Uhr

Statistik II SoSe 2006 immer von 8:00-9:30 Uhr Statistik II SoSe 2006 immer von 8:00-9:30 Uhr Was machen wir in der Vorlesung? Testen und Lineares Modell Was machen wir zu Beginn: Wir wiederholen und vertiefen einige Teile aus der Statistik I: Konvergenzarten

Mehr

Einführung in die Maximum Likelihood Methodik

Einführung in die Maximum Likelihood Methodik in die Maximum Likelihood Methodik Thushyanthan Baskaran thushyanthan.baskaran@awi.uni-heidelberg.de Alfred Weber Institut Ruprecht Karls Universität Heidelberg Gliederung 1 2 3 4 2 / 31 Maximum Likelihood

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. x 9

Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. x 9 Prof. aa Dr. Ir. G. Woeginger T. Hartmann, D. Korzeniewski, B. Tauer Globalübungsaufgabe1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion

Mehr

STL-Container und Laufzeit

STL-Container und Laufzeit STL-Container und Laufzeit Eine Übersicht Höhere Programmierung / C++ Yannick Kaiser, LMU 1 C++11 Array konstanter Länge, die bei der Initalisierung angegeben werden muss STL-Kapselung für klassische

Mehr

Hash-Verfahren. Einführung

Hash-Verfahren. Einführung Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

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

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 5, Donnerstag, 21. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 5, Donnerstag, 21. November 2013 (Wie baut man eine Hash Map, Universelles Hashing)

Mehr

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen?

Integriertes Seminar Datenbanken und Informationssysteme. Was sind Peer-to-Peer Systeme? Wie kann man diese effizient nutzen? Integriertes Seminar Datenbanken und Informationssysteme P2P-Computing Lehrgebiet Datenverwaltungssysteme Prof. Dr. Dr. h.c. Härder Prof. Dr. Deßloch Björn Jung b_jun@informatik.uni-kl.de Technische Universität

Mehr

Hash-Verfahren. Prof. Dr. T. Kudraß 1

Hash-Verfahren. Prof. Dr. T. Kudraß 1 Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.

Mehr

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

Seminar: Data Mining. Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen. Ein Vortrag von Mathias Rohde. 11. Referat: Andere Möglichkeiten des Data Mining in verteilten Systemen 11. Juni 2009 Gliederung 1 Problemstellung 2 Vektorprodukt Approximationen Samplesammlung 3 Schritte Lokalität und Nachrichtenkomplexität

Mehr

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2)

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2) 1 Hashing Einleitung Eine sehr naive Herangehensweise zur Implementierung eines Wörterbuchs ist die Benutzung eines hinreichend grossen unsortierten Arrays, in dem jeweils an eine freie Position eingefügt

Mehr

Numerische Methoden und Algorithmen in der Physik

Numerische Methoden und Algorithmen in der Physik Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 08.01.2009 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 32 Einführung Wahrscheinlichkeit Verteilungen

Mehr

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse Tobias Scheffer Thomas Vanck Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren . Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen

Mehr

elementare Datenstrukturen

elementare Datenstrukturen elementare Datenstrukturen Wie die Daten das Laufen lernten Andreas Ferber af@myipv6.de elementare Datenstrukturen p./40 KISS elementare Datenstrukturen p./40 KISS (Keep It Simple, Stupid) Immer die einfachste

Mehr

Überlaufbehandlung ohne Verkettung

Überlaufbehandlung ohne Verkettung 3.2 Statische Hash-Verfahren direkte Berechnung der Speicheradresse (Seitenadresse) eines Satzes über Schlüssel (Schlüsseltransformation) Hash-Funktion h: S {, 2,..., n} S = Schlüsselraum, n = Größe des

Mehr

2. Beispiel: n-armiger Bandit

2. Beispiel: n-armiger Bandit 2. Beispiel: n-armiger Bandit 1. Das Problem des n-armigen Banditen 2. Methoden zur Berechung von Wert-Funktionen 3. Softmax-Auswahl von Aktionen 4. Inkrementelle Schätzverfahren 5. Nichtstationärer n-armiger

Mehr

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)

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) für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Asymptotische Komplexität): Ordnen Sie die folgenden Funktionen nach

Mehr

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall: Laufzeit von Quicksort im Mittel. Wir wollen die erwartete Effizienz von Quicksort ermitteln. Wir nehmen an, die Wahrscheinlichkeit, dass das gewählte Pivot-Element a j das k-t kleinste Element der Folge

Mehr

Kapitel Andere dynamische Datenstrukturen

Kapitel Andere dynamische Datenstrukturen Institute of Operating Systems and Computer Networks Algorithms Group Kapitel 4.8-4.11 Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2017/2018 Vorlesung#13, 12.12.2017

Mehr

IR Seminar SoSe 2012 Martin Leinberger

IR Seminar SoSe 2012 Martin Leinberger IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite

Mehr

6.6 Vorlesung: Von OLAP zu Mining

6.6 Vorlesung: Von OLAP zu Mining 6.6 Vorlesung: Von OLAP zu Mining Definition des Begriffs Data Mining. Wichtige Data Mining-Problemstellungen, Zusammenhang zu Data Warehousing,. OHO - 1 Definition Data Mining Menge von Techniken zum

Mehr

Themen. Hashverfahren. Stefan Szalowski Programmierung II Hashverfahren

Themen. Hashverfahren. Stefan Szalowski Programmierung II Hashverfahren Themen Hashverfahren Einleitung Bisher: Suchen in logarithmischer Zeit --> Binärsuche Frage: Geht es eventuell noch schneller/effektiver? Finden von Schlüsseln in weniger als logarithmischer Zeit Wichtig

Mehr

14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i

14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i Motivation 14. Hashing Hash Tabellen, Geburtstagsparadoxon, Hashfunktionen, Perfektes und universelles Hashing, Kollisionsauflösung durch Verketten, offenes Hashing, Sondieren [Ottan/Widayer, Kap. 4.1-4.3.2,

Mehr

7. Übung: Aufgabe 1. b), c), e) Aufgabe 2. a), c), e) Aufgabe 3. c), e) Aufgabe 4. Aufgabe 5. Aufgabe 6. Aufgabe 7. Aufgabe 8. Aufgabe 9.

7. Übung: Aufgabe 1. b), c), e) Aufgabe 2. a), c), e) Aufgabe 3. c), e) Aufgabe 4. Aufgabe 5. Aufgabe 6. Aufgabe 7. Aufgabe 8. Aufgabe 9. 7. Übung: Aufgabe 1 b), c), e) Aufgabe a), c), e) Aufgabe 3 c), e) Aufgabe 4 b) Aufgabe 5 a) Aufgabe 6 b) Aufgabe 7 e) Aufgabe 8 c) Aufgabe 9 a), c), e) Aufgabe 10 b), d) Aufgabe 11 a) Aufgabe 1 b) Aufgabe

Mehr

3.3 Optimale binäre Suchbäume

3.3 Optimale binäre Suchbäume 3.3 Optimale binäre Suchbäume Problem 3.3.1. Sei S eine Menge von Schlüsseln aus einem endlichen, linear geordneten Universum U, S = {a 1,,...,a n } U und S = n N. Wir wollen S in einem binären Suchbaum

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte

Mehr

1. Grundbegri e der Stochastik

1. Grundbegri e der Stochastik Wiederholung von Grundwissen der Stochastik. Grundbegri e der Stochastik Menge der Ereignisse. Die Elemente! der Menge heißen Elementarereignisse und sind unzerlegbare Ereignisse. Das Ereignis A tritt

Mehr

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

Assoziationsregeln & Sequenzielle Muster. A. Hinneburg, Web Data Mining MLU Halle-Wittenberg, SS 2007 Assoziationsregeln & Sequenzielle Muster 0 Übersicht Grundlagen für Assoziationsregeln Apriori Algorithmus Verschiedene Datenformate Finden von Assoziationsregeln mit mehren unteren Schranken für Unterstützung

Mehr

4. Übung zu Algorithmen I 17. Mai 2017

4. Übung zu Algorithmen I 17. Mai 2017 4. Übung zu Algorithmen I 17. Mai 2017 Björn Kaidel bjoern.kaidel@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Lisa Kohl, Christian Schulz, Sebastian Schlag und Christoph Striecks) Organisatorisches

Mehr

Programmiertechnik II

Programmiertechnik II Hash-Tabellen Überblick Hashfunktionen: Abbildung von Schlüsseln auf Zahlen Hashwert: Wert der Hashfunktion Hashtabelle: Symboltabelle, die mit Hashwerten indiziert ist Kollision: Paar von Schlüsseln mit

Mehr

3.2. Divide-and-Conquer-Methoden

3.2. Divide-and-Conquer-Methoden LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 6 (7.5.2018) Dictionaries, Binäre Suche, Hashtabellen I / Yannic Maus Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary:

Mehr

Grundgesamtheit und Stichprobe

Grundgesamtheit und Stichprobe Grundgesamtheit und Stichprobe Definition 1 Die Menge der Untersuchungseinheiten {U 1,U 2,...,U N } heißt Grundgesamtheit. Die Anzahl N der Einheiten ist der Umfang der Grundgesamtheit. Jeder Einheit U

Mehr

Data Mining auf Datenströmen Andreas M. Weiner

Data Mining auf Datenströmen Andreas M. Weiner Technische Universität Kaiserslautern Fachbereich Informatik Lehrgebiet Datenverwaltungssysteme Integriertes Seminar Datenbanken und Informationssysteme Sommersemester 2005 Thema: Data Streams Andreas

Mehr

Signalverarbeitung 2. Volker Stahl - 1 -

Signalverarbeitung 2. Volker Stahl - 1 - - 1 - Überblick Bessere Modelle, die nicht nur den Mittelwert von Referenzvektoren sondern auch deren Varianz berücksichtigen Weniger Fehlklassifikationen Mahalanobis Abstand Besseres Abstandsmaß basierend

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 07..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

HMMs und der Viterbi-Algorithmus

HMMs und der Viterbi-Algorithmus July 8, 2015 Das Problem Wir haben gesehen: wir können P( w q)p( q) ohne große Probleme ausrechnen ( w = b 1...b i, q = q 1...q i. P( w q)p( q) = π(q 1 )τ(b 1, q 1 )δ(q 1, q 2 )τ(b 2, q 2 )...δ(q i 1,

Mehr

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle

Das Suchproblem. Gegeben Menge von Datensätzen. Beispiele Telefonverzeichnis, Wörterbuch, Symboltabelle 119 4. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.1-3,2.2-3,2.3-5] 120 Das Suchproblem Gegeben

Mehr

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array

Das Suchproblem 4. Suchen Das Auswahlproblem Suche in Array Das Suchproblem Gegeben. Suchen Lineare Suche, Binäre Suche, Interpolationssuche, Exponentielle Suche, Untere Schranken [Ottman/Widmayer, Kap. 3.2, Cormen et al, Kap. 2: Problems 2.-3,2.2-3,2.3-] Menge

Mehr

EADS 3.3 Gewichtsbalancierte Bäume 95/598 ľernst W. Mayr

EADS 3.3 Gewichtsbalancierte Bäume 95/598 ľernst W. Mayr 3.3 Gewichtsbalancierte Bäume Siehe zu diesem Thema Seite 189ff in Kurt Mehlhorn: Data structures and algorithms 1: Sorting and searching, EATCS Monographs on Theoretical Computer Science, Springer Verlag:

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt

Mehr

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren Dank an: Beate Bollig, TU Dortmund! 1/42 Hashing Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles Hashing 2/42

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11 Hashverfahren: Allgemeiner Rahmen) Prof. Dr. Susanne Albers Das Wörterbuch-Problem (1) Das Wörterbuch-Problem (WBP) kann wie folgt beschrieben

Mehr

Mehrwegbäume Motivation

Mehrwegbäume Motivation Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung

Mehr

Theorie Parameterschätzung Ausblick. Schätzung. Raimar Sandner. Studentenseminar "Statistische Methoden in der Physik"

Theorie Parameterschätzung Ausblick. Schätzung. Raimar Sandner. Studentenseminar Statistische Methoden in der Physik Studentenseminar "Statistische Methoden in der Physik" Gliederung 1 2 3 Worum geht es hier? Gliederung 1 2 3 Stichproben Gegeben eine Beobachtungsreihe x = (x 1, x 2,..., x n ): Realisierung der n-dimensionalen

Mehr

Anfrageoptimierung Kostenmodelle

Anfrageoptimierung Kostenmodelle Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Anfrageoptimierung Kostenmodelle Dr. Jérôme Kunegis Wintersemester 2013/14 Regel vs. Kostenbasierte Optimierung

Mehr

Bucketsort. Korrektheit. Beispiel. Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt.

Bucketsort. Korrektheit. Beispiel. Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt. Bucketsort Beispiel Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt 1 2 A.78.17 0 1 B.12.17 Sonst: Skalieren ( Aufwand O(n) ) 3.39 2.21.23.26 Idee:

Mehr

Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt

Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt Bucketsort Eingabe: Array A mit n Elementen im Bereich [0,1) Annahme: die Elemente sind in [0,1) gleichverteilt Sonst: Skalieren ( Aufwand O(n) ) Idee: Teile [0, 1) in n gleich große Buckets - Oder: n/k

Mehr

3. Übung Algorithmen I

3. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:

Mehr

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass

Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass Achtung: Groß O definiert keine totale Ordnungsrelation auf der Menge aller Funktionen! Beweis: Es gibt positive Funktionen f und g so, dass f O g und auch g O f. Wähle zum Beispiel und G. Zachmann Informatik

Mehr

3. Das Reinforcement Lernproblem

3. Das Reinforcement Lernproblem 3. Das Reinforcement Lernproblem 1. Agierender Agent in der Umgebung 2. Discounted Rewards 3. Markov Eigenschaft des Zustandssignals 4. Markov sche Entscheidung 5. Werte-Funktionen und Bellman sche Optimalität

Mehr

Dr. L. Meier Statistik und Wahrscheinlichkeitsrechnung Sommer Musterlösung

Dr. L. Meier Statistik und Wahrscheinlichkeitsrechnung Sommer Musterlösung Dr. L. Meier Statistik und Wahrscheinlichkeitsrechnung Sommer 014 Musterlösung 1. 8 Punkte) a) 1 Pt)Für das Komplement gilt PR A) = 1 PR c A) = 0.968. b) 1 Pt)Nach Definition der bedingten Wahrscheinlichkeit

Mehr

Pareto optimale lineare Klassifikation

Pareto optimale lineare Klassifikation Seminar aus Maschinellem Lernen Pareto optimale lineare Klassifikation Vesselina Poulkova Betreuer: Eneldo Loza Mencía Gliederung 1. Einleitung 2. Pareto optimale lineare Klassifizierer 3. Generelle Voraussetzung

Mehr

1 Univariate Statistiken

1 Univariate Statistiken 1 Univariate Statistiken Im ersten Kapitel berechnen wir zunächst Kenngrößen einer einzelnen Stichprobe bzw. so genannte empirische Kenngrößen, wie beispielsweise den Mittelwert. Diese können, unter gewissen

Mehr

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen

Suchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen

Mehr