Data Mining 3-1. Kapitel 3: Mining Data Streams. Johannes Zschache Wintersemester 2018/19
|
|
- Dominik Diefenbach
- vor 5 Jahren
- Abrufe
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 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.
MehrData 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
MehrData 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.
MehrData 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.
MehrData 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.
MehrStream 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
MehrData 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.
MehrLiteratur: 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
MehrApproximate 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
Mehr2. 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
MehrStreaming 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 1 Alle so markierten Folien werden online gestellt Download über STINE (GSS-Übung) ONLINE Organisatorisches Den Foliensatz mit Hinweisen zur Organisation
MehrNumerische 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)
MehrEin 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
Mehr13. 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
MehrPraktische 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
MehrKorollar 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
MehrInformatik 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
MehrVorverarbeitung 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:
MehrInformatik 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
Mehr5.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
MehrAlgorithmen 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
MehrWann 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
Mehr12. 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
MehrHashing 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
MehrHashing 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
MehrSeminar ü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
MehrAlgorithmen 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
Mehr4. 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
MehrFallstudie: 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);...
MehrKollision 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
MehrGrundlagen: 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
Mehr1. 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
Mehr3.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,
Mehr6/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
MehrBerechnung 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
MehrMAINTAINING 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
MehrHashing. Ü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
MehrTeil 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:
MehrWichtige 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
MehrKapitel 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
MehrStatistik 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
MehrEinfü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
MehrVorlesung 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
MehrUntersuchen 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
MehrSTL-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
MehrHash-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.
MehrWS 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
MehrAlgorithmen 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)
MehrIntegriertes 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
MehrHash-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.
MehrSeminar: 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
MehrP ( 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
MehrNumerische 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
MehrUniversitä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
Mehr2.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
Mehrelementare 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
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
Mehr2. 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
MehrOrdnen 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:
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
MehrKapitel 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
MehrIR 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
Mehr6.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
MehrThemen. 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
Mehr14. 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,
Mehr7. Ü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
Mehr3.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
MehrInformatik 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
Mehr1. 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
MehrAssoziationsregeln & 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
Mehr4. Ü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
MehrProgrammiertechnik 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
Mehr3.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
MehrInformatik 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:
MehrGrundgesamtheit 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
MehrData 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
MehrSignalverarbeitung 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
MehrAlgorithmen 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
MehrHMMs 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,
MehrDas 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
MehrDas 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
MehrEADS 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:
MehrHumboldt-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
MehrHashing 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
MehrVorlesung 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
MehrMehrwegbä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
MehrTheorie 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
MehrAnfrageoptimierung 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
MehrBucketsort. 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:
MehrEingabe: 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
Mehr3. Ü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:
MehrAchtung: 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
Mehr3. 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
MehrDr. 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
MehrPareto 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
Mehr1 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
MehrSuchbä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