Algorithmus CAUCHYMEDIANIDEAL f ¨ur L1: • Generiere

Werbung
Algorithmus C AUCHY M EDIAN I DEAL für L1 :
• Generiere unabhängige, cauchyverteilte Zufallsvariablen
Xi,j , für i = 1, . . . , m und j = 1, . . . , r .
• Für j ∈ {1, . . . , r } berechne
m
X
Yj :=
fi∗ Xi,j .
i=1
• Ausgabe: Z := med(|Y1 |, . . . , |Yr |).
Satz 4.38:
Sei 0 ≤ ε ≤ 0,2 und δ > 0. Dann berechnet der
Algorithmus C AUCHY M EDIAN I DEAL für eine geeignete
Konstante c > 0 und r = c log(1/ε)/δ 2 eine
(ε, δ)-Approximation der L1 -Norm der Eingabe.
423
Beweis:
Falls L1 (a) = 0: Dann f1∗ = · · · = fm∗ = 0, Xi,j = 0 für alle i, j
und damit auch Ausgabe Z = 0.
Im Folgenden L1 (a) > 0. Sei C Zufallsvariable mit
(normalisierter) Cauchyverteilung.
Gemäß Satz 4.28:
Yj ∼ k(f1∗ , . . . , fm∗ )k1 · C = L1 · C.
Beobachtung 4.35, Lemma 4.37 liefern:
med(|Yj |) = med(L1 · |C|) = L1 · med(|C|) = L1 .
424
Für Anwendung von Satz 4.36 untersuche Steigung
der Inversen der Verteilungsfunktion F von |C|.
Es ist
F (x) =
2
· arctan(x), F −1 (y ) = tan((π/2)y ).
π
Damit:
2 π
′
π
F −1 (y ) =
·y
.
1 + tan
2
2
Taylorreihen-Abschätzung liefert: Für γ = 0,05 gilt
′
y ∈ [1/2 − γ , 1/2 + γ ] ⇒ F −1 (y ) ≤ 4 =: d.
425
Satz 4.36 liefert: Sei 0 ≤ ε ≤ γ d = 0,2, δ > 0,
dann existiert c > 0, sodass für r = c log(1/δ)/ε 2 und
Z = med(|Y1 |, . . . , |Yr |):
Pr{|Z − L1 | ≤ ε} ≥ 1 − δ.
Diskreter Wertebereich für Vektoren ⇒ L1 ≥ 1, damit auch
Schranke für relativen Fehler.
Effiziente Realisierung:
• Simulation von Cauchyverteilung gemäß Satz 4.29.
• Diskretisierung und Approximation mit
endlicher Genauigkeit.
• Arbeiten mit Pseudozufallszahlengenerator für
Algorithmen mit beschränktem Speicherplatz.
Indyk (2006) skizziert auch Erweiterung auf beliebige
p-Normen mit p ∈ (0, 2] mit Hilfe p-stabiler Verteilungen.
426
4.6.3 Sketching-Algorithmus für L0
Erinnerung: Hammingnorm, L0 :
m
X
L0 (x1 , . . . , xm ) =
[xi 6 = 0].
i=1
Verallgemeinerung von F0 / Anzahl verschiedene Elemente.
Arbeit: Cormode, Datar, Indyk und Muthukrishnan (2002).
Idee: Approximation mit p-Norm, p sehr klein.
Lemma 4.39:
Sei x = (x1 , . . . , xm ) ∈ {−w , . . . , w }m , 0 < ε ≤ 1 und
p = log(1 + ε)/ log w . Dann gilt
p
kxk0 ≤ kxkp ≤ (1 + ε)kxk0 .
427
Beweis: Da x1 , . . . , xm ∈ Z:
m
m
X
X
p
|xi |p = kxkp .
[xi 6 = 0] ≤
i=1
Andererseits:
m
X
i=1
|xi |p ≤
i=1
p
xi ≤ w p [xi 6 = 0], damit
m
X
w p [xi 6 = 0] = w p kxk0 .
i=1
Wegen p = log(1 + ε)/ log w :
w p = 2p log w = 1 + ε.
428
Grobalgorithmus für L0 damit:
• Für p := log(1 + ε)/ log w : Berechne Ausgabe Y von
Algorithmus mit randomisierten Projektionen gemäß
p-stabiler Verteilung, (ε, δ)-Approximation von Lp .
• Ausgabe Z = Y p .
Falls erster Schritt korrekt, folgt mit Lemma: Abweichung
nach oben höchstens um Faktor (1 + ε)2 ≤ 1 + 3ε,
Abweichung nach unten höchstens um Faktor 1 − ε. ⇒
Relativer Fehler höchstens 3ε.
Korrektheitsbeweis in Originalarbeit unvollständig
(Analyse für Lp -Algorithmus fehlt). In Experimenten
aber scheinbar vernünftiges Verhalten.
429
4.6.4 Anwendung im Datenbankszenario
Problemvariante hier: Attribut mit Werten aus {1, . . . , m}.
• Verwalte Vektor v ∈ Nm . Zu Anfang v = (0, . . . , 0).
0
• Operationen für x ∈ {1, . . . , m}:
– I NSERT (x): vx := vx + 1.
– D ELETE (x): vx := vx − 1.
– Q UERY : Liefert Fk (v ).
Versprechen: D ELETE-Operation nur, wenn vx > 0.
Sonst für Algorithmen beliebige Ausgabe erlaubt.
Motivation für Versprechen:
• Praktisch sinnvoll, da Datenbank Absicherung übernimmt.
• Problemvariante, wo D ELETE Nulloperation“, falls vi = 0:
”
Benötigt Speicherplatz (m) (ohne Beweis).
Problem effizient lösbar für k ∈ [0, 2] im Datenstromszenario
mit Algorithmen aus Abschnitten 4.6.1 – 4.6.3.
430
4.6.5 Abschätzung der Join-Größe
Gegeben: Relationen R1 , R2 mit gemeinsamem Attribut A.
Ziel: Abschätzung von |R1 ⋊
⋉R1 .A=R2 .A R2 |.
Arbeit: Alon, Gibbons, Mathias, Szegedy (2002).
Dort gezeigt:
Für Relationen R1 , R2 mit je n Tupeln und Versprechen,
dass Join-Größe mindestens B, n ≤ B ≤ n2 /2:
Sampling-Algorithmen für (ε, δ)-Approximation von
√
Join-Größe benötigen Samplegröße  (n − B)2 /B .
431
Datenbankrelationen → Skizzen.
Attribut habe Werte aus {1, . . . , m}.
• Seien X1 , . . . , Xm ∈ {−1, 1} 4-fach unabhängige
Zufallsvariablen.
• Relation R mit absoluten Häufigkeiten f1 , . . . , fm :
Definiere
m
X
S(R) :=
fi Xi .
i=1
Für Probability-Amplification betrachte Sr (R),
r Kopien für unabhängige Sätze von X1 , . . . , Xm .
432
Lemma 4.40:
E(S(R1 )S(R2 )) = |R1 ⋊
⋉ R2 | und
V (S(R1 )S(R2 )) ≤ 2 · F2 (R1 ) · F2 (R2 ).
Erwartungswert: Siehe Übungsaufgabe 6.3 zum
(alternativen) SimHash-Verfahren. Varianz hier nicht
(Standardrechnung ähnlich wie bei F2 -Algorithmus).
Satz 4.41:
Seien R1 , R2 Relationen mit |R1 ⋊
⋉ R2 | ≥ B1 und
F2 (R1 ), F2 (R2 ) ≤ B2 . Seien ε, δ > 0. Dann lässt sich für
r = 2 log(1/δ)/ε2 · B22 /B12 aus Sr (R1 ) und Sr (R2 ) eine
(ε, δ)-Approximation von |R1 ⋊
⋉ R2 | berechnen.
433
Beweis: Lemma und Tschebbyscheff liefern:
Pr S(R1 )S(R2 ) − |R1 ⋊
⋉ R2 | ≤ ε|R1 ⋊
⋉ R2 |
2F2 (R1 )F2 (R2 )
ε2 |R1 ⋊
⋉ R2 |
2
2B2
≤
.
ε2 B12
Probability-Amplification → Rest.
≤
434
Algorithmische Ergebnisse für Normprobleme:
Alles für Datenstromalgorithmen, die (ε, δ)-Approximation
für Konstanten ε, δ berechnen.
Ressourcen für Datenstromalgorithmus:
L2 :
S = O(log m + log n),
T = O(log m polylog m + log n)
(Abschnitt 4.6.1)
Lk , k ∈ [0, 2]
S, T = polylog(m, n, w )
(Abschnitte 4.6.2 (k = 1), 4.6.3 (k = 0)).
S = O ℓ1−2/k · polylog(m, n) ,
T = poly(log m, log n, w ), ℓ = min{m, n}.
Lk , k > 2:
435
4.7 Top-k -Listen
Problem:
Gegeben Datenstrom, berechne Top-k -Liste:
Häufigste k Werte zusammen mit ihren abs. Häufigkeiten.
Motivation:
• Käuferverhalten in E-Commerce-Anwendung.
• Top-k -Liste von Webseiten gemäß Ranking.
• Zusammenfassung von Datenbank-Relation
(größte Balken in Histogramm).
• Internet-Traffic-Management: Anomalien / Engpässe.
Ähnliches Problem: Häufigste Elemente
Finde alle Daten mit Attributwert oberhalb von Schwellwert.
Namen: Heavy Hitters, Hot Items, Iceberg Queries. . .
436
Top-1-Liste ist (im Wesentlichen) das Problem F∞ .
Bei Universumsgröße m Platz (m) notwendig. →
Betrachte Approximationen / Problem-Relaxationen.
Definition 4.42: Top-k -(ε, δ)-Approximation
Gegeben Datenstrom über U = {1, . . . , m} mit absoluten
Häufigkeiten f1 ≥ f2 ≥ · · · ≥ fm . Will Menge T von k Paaren
(Wert, absolute Häufigkeit), sodass mit Wahrscheinlichkeit
mindestens 1 − δ:
• Jeder Wert in T hat absolute Häufigkeit
mindestens (1 − ε)fk .
• Alle Werte mit absoluter Häufigkeit größer als (1 + ε)fk
kommen in T vor.
437
Im Folgenden effienzenter Datenstromalgorithmus unter
zusätzlichen Annahmen über Verteilung der Daten.
Arbeit: Charikar, Chen und Farach-Colton (2004).
Unter hier beschriebenen Annahmen sogar Schätzung aller
absoluten Häufigkeiten möglich.
Weitere Anwendungen z. B. bei raffinierteren Datenstromalgorithmen für Häufigkeitsmomente.
438
4.7.1 Schätzung aller Häufigkeiten
Datenstrom a = (a1 , . . . , an ) mit Werten aus U = {1, . . . , m},
absolute Häufigkeiten f1 ≥ · · · ≥ fm .
Idee:
Benutze 2-fach unabhängige ZVs X1 , . . . , Xm ∈ {−1, 1}.
Berechne wie in F2 -Algorithmus:
m
n
X
X
Y :=
fjXj =
Xa j .
j=1
j=1
Es gilt:
E(YX i ) = E
X
m
j=1
fjXjXi
=
m
X
j=1
f j E(X j X i ) = f i .
Super, damit alle absoluten Häufigkeiten und darauf
basierende Probleme. . .
439
Natürlich nicht:
E (YX i )2 = E Y 2 = F2 ,
V (YX i ) = F2 − f i2 .
Fehlerschranke mit Tschebbyscheff zu schlecht.
Idee für Abhilfe:
• Intuition: Für kleine f i Summe Y zu sehr durch große
Häufigkeitswerte verunreinigt“.
”
• Verteile Gesamtsumme Y auf mehrere Zähler, die für
Teilmengen des Wertebereichs zuständig.
Genauer:
• Benutze b ≤ m Zähler (typischerweise b ≪ m).
• Ordne Wert j ∈ {1, . . . , m} zufälligen Zähler zu, der
für diesen Wert zuständig“.
”
440
Algorithmus C OUNT S KETCH :
• Wähle H ∈ H zufällig, H 2-fach unabhängige Hashklasse.
• Berechne für z ∈ {1, . . . , b}:
n
X
X
Yz :=
[H(a j ) = z]Xa j =
fjXj,
j=1
j∈H −1 (z)
Schätzer für f i : X i YH(i) .
Behauptung: E(YH(i) X i ) = f i .
Beweis: Für eine feste Hashfunktion h ∈ H ist
X
X
Yh(i) X i =
fjXjXi = fi +
fjXjXi.
j∈h−1 (h(i))
j∈h−1 (h(i)),j6=i
Behauptung per Satz von der totalen Wahrscheinlichkeit. 441
Neuer Schätzer tatsächlich auch mit hoher
Wahrscheinlichkeit gut – für geeignete Verteilungen:
Satz 4.43 (Charikar u. a. 2004):
q
Pm
>k
2
Sei b ≥ 8k , F2 := i=k+1 f i und γ := F2>k /b. Dann gilt
für i ∈ {1, . . . , m}: Pr{|YH(i) X i − f i | ≤ 8γ } ≥ 5/8.
Beweis: Übersicht über Schritte:
1 Kleine Varianz, falls keiner der sehr häufigen Werte“
”
1, . . . , k auf Zähler für f i gehasht.
2 Sehr häufige Werte nur mit kleiner Wskt. auf
Zähler für f i gehasht.
3 Falls kleine Varianz, dann mit großer Wskt.
Abweichung des Schätzers von f i klein.
442
Erinnerung: Schätzer ist YH(i) X i , es gilt E(YH(i) X i ) = f i und
X
X
Yh(i) X i =
fjXjXi = fi +
fjXjXi.
j∈h−1 (h(i))
j∈h−1 (h(i)),j6=i
Varianz:
Feste Hashfunktion h, sei z := h(i).
Arbeite unter Bedingung, dass h−1 (z) ∩ {1, . . . , k } = ∅.
Dann:
2 V (Yh(i) X i ) = E Yh(i) X i − E(Yh(i) X i )
X
=
E(f j X j X i · fℓ Xℓ X i )
j,ℓ∈h−1 (z)−{i}
=
X
f j2 ≤
j∈h−1 (z),j6=i
Definiere v >k (h) :=
P
X
f j2 .
j∈h−1 (z),j>k
2
j∈h−1 (z),j>k f j .
443
Herunterladen