Upload
phungdat
View
232
Download
0
Embed Size (px)
Citation preview
Balanced Iterative Reducing and Clustering using Hierarchies
Jan Oberst27 January 2009
BIRCH+ Example Implementation of BIRCH in Python
Clustering
Ziel: Ähnliche Punkte gruppierenHaben n PunkteSuchen sinnvolle Cluster
Ähnlichkeit?Es gibt kein “bestes” clustering
5
Distanz
Innere Distanz in einem Cluster“Durchmesser”: möglichst gering
Äußere Distanz zwischen Cluster“Abstand”: möglichst groß
7
CF Tree
11
Node
Leaf
Leaf Entry
n=27LS=(175,161)SS=357
n=54LS=(427,756)SS=1247
n=4LS=(14,9)SS=15
n=3LS=(-5,-24)SS=14
B+ Baum
Durchmesser eines Blattes D < T
Anzahl Einträge eines Blatts N < L
Anzahl Kinder eines Knoten N < B15
Das optimale T
Zu klein / zu groß?Ausprobieren!BIRCH beginnt mit T=0
Neues T wählen, von vorne beginnenSuche minimale DistanzNeues muss größer sein als das
17
Von Vorne beginnen
Bauen den Baum neu auf
Disk nicht angerührtBrauchen dafür doppelt soviel RAM
Entsorgen OutliersBlätter mit deutlich niedrigerer DichteAuf Disk schreiben, Später neu versuchen
18
Baum neu aufbauen
19
1. Beginnen beim ersten Blatt
2. Füge den kompletten Pfad in neuen Baum ein
3. Weiter links: einfügen Weiter rechts: den alten Pfad einfügen
Phase II
Vorbereitung für Phase 3Je nach Algorithmus notwendig
Falls Ausgabe von Phase 1 zu großWählen T größerEntsorgen mehr Outliers
21
Condensing (optional)
Phase III
Beliebiger Clustering Algorithmuslocal / non-localhierarchischAuch quadratische Laufzeit
22
Abstand zweier Cluster berechnen
Anzahl der Einträge
Linearsumme (Zentrum)
Quadratsumme (Abdeckung)
23
Phase III
Algorithmus sieht Blätter als PunkteDuck typing: Punkte haben Koordinaten!LS & SS verfeinern das Clustering
Algorithmus arbeitet mit dem BaumHierarchisches Clustering
24
Phase IV
Lesen alle Daten nochmalJeder Punkt bekommt sein Cluster
QualitätNeuer Mittelpunkt: Durchschnitt aller PunktePhase 4 kann Probleme aus 1-3 behebenWenig RAM: In Phase 4 investieren
26
finish
Skalierbarkeit
LinearIO “Should scale linearly with N”
KomprimiertHunderte Punkte in einem Cluster Feature
Single-passPhase IV nicht zwingend
31
Qualität
OutliersKönnen automatisch behandelt werdenMachen Algorithmus sogar schneller!
RAM NutzungKleine Limits = Viele Buckets = gute QualitätGroße Limits = Wenige Buckets = viele Daten
32
BIRCH
1996 ACM SIGMODInternational conference on Management of data
267 (Citeseer) / 1701 (Google) Citations
2006 Test of Time Award Winners
37
An efficient data clustering methodfor very large databasesTian ZhangRaghu RamakrishnanMiron Livny
Akademisch1996 - 1999 (?)
IBM, ~1999Santa Teresa Lab, San JoseDB2 Entwicklung
Microsoft, ~2004?
Tian Zhang
38
?
Raghu Ramakrishnan
AkademischB.Tech. IIT Madras,1983Ph.D. University of Texas at Austin,1987Professor, University of Wisconsin-Madison, 1987-ACM SIGKDD Innovation Award, 2008
Co-Founder QUIQ, 1999-2003collaborative customer support & knowledge managementAsk JeevesBusiness Objects, Compaq, Sun...
Yahoo! Research, 2006-Head of Community Systems GroupChief Scientist for Audience and Cloud Computing
39
Data Mining, Online Communities, Web-Scale Data Management
Miron Livny מירון לבני
AkademischB.Sc. Physics and Mathematics, Hebrew University, 1975M.Sc. Computer Science, Weizmann Institute of Science, 1978Ph.D. Weizmann Institute of Science, 1984 Professor, University of Wisconsin-Madison, 1984-
CondorHigh-Throughput Computing Systemdistributed parallelization of computationally intensive tasks
Open Science Grid
40
High Throughput Computing, Visual Data Exploration,Experiment Management Environments, Performance Evaluation