1.3.1 partitionierendes und hierarchisches clustern...
TRANSCRIPT
1.3.1 Partitionierendes und HierarchischesClustern: CLARANS und BIRCH
Constanze Hofmann
FernUniversität in Hagen
Seminar 01912im Sommersemester 2008
Data Mining
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 2
Gliederung
EinleitungÜbersicht über Clustering-AlgorithmenBegriffe zur Clusteranalyse
Partitionierendes Clustern — CLARANSAlgorithmusKostenbetrachtungAnsätze zur Beschleunigung des Algorithmus
Hierarchisches Clustern — BIRCHBegriffe und DatenstrukturenAlgorithmusKostenbetrachtung
Vergleich der Methoden, Vorteile und GrenzenKriterien zur Beurteilung von Clusteringverfahren
Zusammenfassung
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 2
Gliederung
EinleitungÜbersicht über Clustering-AlgorithmenBegriffe zur Clusteranalyse
Partitionierendes Clustern — CLARANSAlgorithmusKostenbetrachtungAnsätze zur Beschleunigung des Algorithmus
Hierarchisches Clustern — BIRCHBegriffe und DatenstrukturenAlgorithmusKostenbetrachtung
Vergleich der Methoden, Vorteile und GrenzenKriterien zur Beurteilung von Clusteringverfahren
Zusammenfassung
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 2
Gliederung
EinleitungÜbersicht über Clustering-AlgorithmenBegriffe zur Clusteranalyse
Partitionierendes Clustern — CLARANSAlgorithmusKostenbetrachtungAnsätze zur Beschleunigung des Algorithmus
Hierarchisches Clustern — BIRCHBegriffe und DatenstrukturenAlgorithmusKostenbetrachtung
Vergleich der Methoden, Vorteile und GrenzenKriterien zur Beurteilung von Clusteringverfahren
Zusammenfassung
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 2
Gliederung
EinleitungÜbersicht über Clustering-AlgorithmenBegriffe zur Clusteranalyse
Partitionierendes Clustern — CLARANSAlgorithmusKostenbetrachtungAnsätze zur Beschleunigung des Algorithmus
Hierarchisches Clustern — BIRCHBegriffe und DatenstrukturenAlgorithmusKostenbetrachtung
Vergleich der Methoden, Vorteile und GrenzenKriterien zur Beurteilung von Clusteringverfahren
Zusammenfassung
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 2
Gliederung
EinleitungÜbersicht über Clustering-AlgorithmenBegriffe zur Clusteranalyse
Partitionierendes Clustern — CLARANSAlgorithmusKostenbetrachtungAnsätze zur Beschleunigung des Algorithmus
Hierarchisches Clustern — BIRCHBegriffe und DatenstrukturenAlgorithmusKostenbetrachtung
Vergleich der Methoden, Vorteile und GrenzenKriterien zur Beurteilung von Clusteringverfahren
Zusammenfassung
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 3
Übersicht über Clustering-Algorithmen
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 4
Begriffe zur Clusteranalyse
I Modellierung der Ähnlichkeit zwischen zwei Objektenmittels einer Distanzfunktion, die mindestens folgendeEigenschaften erfüllen muss:
1. dist(o1, o2) = d ∈ R≥0,2. dist(o1, o2) = 0 gdw. o1 = o2,3. dist(o1, o2) = dist(o2, o1) (Symmetrie).
I Gilt zusätzlich die Dreiecksungleichung, ist dist eineMetrik. Dies ist dann der Fall, wenn für alle o1, o2, o3 ∈ Ogilt:
dist(o1, o3) ≤ dist(o1, o2) + dist(o2, o3)
I Alternativ kann auch eine Ähnlichkeitsfunktion verwendetwerden.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 5
Partitionierendes Clustern — CLARANS
I Partitionierendes Clustern: Unterteilung desMerkmalsraumes in eine vorgegebene Anzahl vonBereichen
I Schrittweise Verbesserung einer initialen Zuordnung durchiterativen Ansatz
I CLARANS steht für “Clustering Large Applications basedon RANdomized Search”.
I CLARANS ist ein Medoid-basiertes Verfahren.I Distanzmaß: euklidischer Abstand zwischen den Zentren
zweier Objekte
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 5
Partitionierendes Clustern — CLARANS
I Partitionierendes Clustern: Unterteilung desMerkmalsraumes in eine vorgegebene Anzahl vonBereichen
I Schrittweise Verbesserung einer initialen Zuordnung durchiterativen Ansatz
I CLARANS steht für “Clustering Large Applications basedon RANdomized Search”.
I CLARANS ist ein Medoid-basiertes Verfahren.I Distanzmaß: euklidischer Abstand zwischen den Zentren
zweier Objekte
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 5
Partitionierendes Clustern — CLARANS
I Partitionierendes Clustern: Unterteilung desMerkmalsraumes in eine vorgegebene Anzahl vonBereichen
I Schrittweise Verbesserung einer initialen Zuordnung durchiterativen Ansatz
I CLARANS steht für “Clustering Large Applications basedon RANdomized Search”.
I CLARANS ist ein Medoid-basiertes Verfahren.I Distanzmaß: euklidischer Abstand zwischen den Zentren
zweier Objekte
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 5
Partitionierendes Clustern — CLARANS
I Partitionierendes Clustern: Unterteilung desMerkmalsraumes in eine vorgegebene Anzahl vonBereichen
I Schrittweise Verbesserung einer initialen Zuordnung durchiterativen Ansatz
I CLARANS steht für “Clustering Large Applications basedon RANdomized Search”.
I CLARANS ist ein Medoid-basiertes Verfahren.
I Distanzmaß: euklidischer Abstand zwischen den Zentrenzweier Objekte
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 5
Partitionierendes Clustern — CLARANS
I Partitionierendes Clustern: Unterteilung desMerkmalsraumes in eine vorgegebene Anzahl vonBereichen
I Schrittweise Verbesserung einer initialen Zuordnung durchiterativen Ansatz
I CLARANS steht für “Clustering Large Applications basedon RANdomized Search”.
I CLARANS ist ein Medoid-basiertes Verfahren.I Distanzmaß: euklidischer Abstand zwischen den Zentren
zweier Objekte
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 6
CLARANS — Algorithmus
Für jeden Durchlauf des Algorithmus:I Erzeugen einer zufällig ausgewählten Menge von k
Medoiden.I Solange die Anzahl der Durchläufe j kleiner maxneighbor :
I Ersetzen eines zufällig ausgewählten Medoids durch einenNicht-Medoid.
I Berechnung der Gesamtdifferenz der Distanzen als Summeder Distanzdifferenzen für alle Objekte
I Ist die Differenz kleiner 0, ersetzt der neue Medoid denalten, j wird auf 1 zurückgesetzt. Andernfalls wird j um 1erhöht.
I Berechnung der Gesamtdistanz des neuen ClusteringsI Ist diese kleiner der aktuell kleinsten Gesamtdistanz,
ersetzt die neue Clusterung die bis jetzt beste Clusterung.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 7
CLARANS — KostenbetrachtungAnnahmen:
I Menge der Medoiden kann im Hauptspeicher gehaltenwerden, alle anderen Objekte müssen vom Datenträgergelesen werden
I Die I/O-Kosten für Lesezugriffe auf die Platte sindwesentlich höher als die CPU-Kosten, deshalb werden nurdiese betrachtet
I Innere Schleife wird im Verhältnis zur äußeren Schleifesehr häufig durchlaufen
I Berechnung der Gesamtdifferenz greift auf alle Objekte zuund hat damit Laufzeit O(n)
I Gesamtlaufzeit verhält sich nahezu quadratisch zur Anzahlder Objekte
Ansätze zur Beschleunigung des Algorithmus müssen an derDifferenzberechnung ansetzen
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 8
Ansätze zur Beschleunigung des Algorithmus
Konzentration auf repräsentative ObjekteI Die Objekte jedes Blattknotens eines R*-Baumes werden
durch das der Mitte der Bounding Box des Knotens amnächsten liegende Objekt repräsentiert und derAlgorithmus nur auf diesen Repräsentanten durchgeführt
Konzentration auf relevante ClusterI Nur bestimmte Objekte können aufgrund des Austausches
eines Medoids ihre Zuordnung zu einem Cluster ändernund somit zur Gesamtdifferenz beitragen
I Es müssen nur die Objekte betrachtet werden, die vor demAustausch zum alten und die, die nach dem Austauschzum neuen Medoid zugeordnet werden
I Es ist deshalb eine effektive Selektion dieser Objektenotwendig
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 8
Ansätze zur Beschleunigung des Algorithmus
Konzentration auf repräsentative ObjekteI Die Objekte jedes Blattknotens eines R*-Baumes werden
durch das der Mitte der Bounding Box des Knotens amnächsten liegende Objekt repräsentiert und derAlgorithmus nur auf diesen Repräsentanten durchgeführt
Konzentration auf relevante ClusterI Nur bestimmte Objekte können aufgrund des Austausches
eines Medoids ihre Zuordnung zu einem Cluster ändernund somit zur Gesamtdifferenz beitragen
I Es müssen nur die Objekte betrachtet werden, die vor demAustausch zum alten und die, die nach dem Austauschzum neuen Medoid zugeordnet werden
I Es ist deshalb eine effektive Selektion dieser Objektenotwendig
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 9
Mögliche Änderungen der Clusterzuordnung beiAustausch eines Medoids
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 10
Selektion der zum Cluster gehörigen Punkte überVoronoi-Zelle
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 11
Hierarchisches Clustern — BIRCH
I hierarchisches Clustern ordnet die Objekte innerhalb einerHierarchie von Clustern an
I es sind verschiedene Detailtiefen des Clusteringserkennbar
I BIRCH steht für “Balanced Iterative Reducing andClustering using Hierarchies”
I der Algorithmus basiert auf demClustering-Feature(CF)-Baum
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 11
Hierarchisches Clustern — BIRCH
I hierarchisches Clustern ordnet die Objekte innerhalb einerHierarchie von Clustern an
I es sind verschiedene Detailtiefen des Clusteringserkennbar
I BIRCH steht für “Balanced Iterative Reducing andClustering using Hierarchies”
I der Algorithmus basiert auf demClustering-Feature(CF)-Baum
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 11
Hierarchisches Clustern — BIRCH
I hierarchisches Clustern ordnet die Objekte innerhalb einerHierarchie von Clustern an
I es sind verschiedene Detailtiefen des Clusteringserkennbar
I BIRCH steht für “Balanced Iterative Reducing andClustering using Hierarchies”
I der Algorithmus basiert auf demClustering-Feature(CF)-Baum
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 11
Hierarchisches Clustern — BIRCH
I hierarchisches Clustern ordnet die Objekte innerhalb einerHierarchie von Clustern an
I es sind verschiedene Detailtiefen des Clusteringserkennbar
I BIRCH steht für “Balanced Iterative Reducing andClustering using Hierarchies”
I der Algorithmus basiert auf demClustering-Feature(CF)-Baum
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 12
Begriffe
Definition von Eigenschaften eines Clusters, bestehend aus Nd-dimensionalen Datenpunkten:
I der Centroid ~X0 =PN
i=1~Xi
N ,
I der Radius R =
√PNi=1(
~Xi− ~X0)2
N ist der durchschnittlicheAbstand der Punkte im Cluster vom Centroid,
I der Durchmesser D =
√PNi=1
PNj=1(
~Xi−~Xj )2
N(N−1) ist diedurchschnittliche Distanz zwischen je zwei Punkten einesClusters.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 13
Distanzmaße für den Abstand zwischen Clustern
I Euklidischer Abstand zwischen den Centroiden ~X01 und~X02:
D0 =
√( ~X01 − ~X02)2
I Manhattan distance zwischen den Centroiden:
D1 = | ~X01 − ~X02|
I Durchschnittlicher Inter-Cluster-Abstand (averageinter-cluster distance)
D2 =
√∑N1i=1
∑N1+N2j=N1+1(
~Xi − ~Xj)2
N1N2
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 14
Clustering Feature
Tripel CF = (N, ~LS, SS), mit dessen Hilfe die wesentlichenInformationen zu einem Cluster zusammengefasst werden.Dabei ist
- N die Anzahl der d-dimensionalen Punkte im Cluster,- ~LS die lineare Summe der N Punkte:
∑Ni=1
~Xi und
- SS die Quadratsumme der N Punkte:∑N
i=1~Xi
2.
Additivitätstheorem für Clustering Features: WennCF1 = (N1, ~LS1, SS1) und CF2 = (N2, ~LS2, SS2) dieCF-Vektoren zweier Cluster sind, die keine Objekte gemeinsamhaben, so gilt:
CF1 + CF2 = (N1 + N2, ~LS1 + ~LS2, SS1 + SS2).
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 15
CF-Baumhöhenbalancierter Baum mit zwei Parametern:
I dem Verzweigungsgrad B, der festlegt, wie viele Einträgeder Form [CFi, childi ] jeder innere Knoten des Baumesmaximal haben kann, und
I dem Schwellwert T , der den maximalen Radius oderDurchmesser für die Cluster in den Blattknoten festlegt.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 16
BIRCH — Algorithmus
Der Algorithmus besteht aus 4 Phasen:1. Lesen aller Daten und Aufbau eines initialen CF-Baumes
im Hauptspeicher,
2. Optional: Weiteres Komprimieren der Daten in einenkleineren CF-Baum,
3. Anwendung eines globalen oder semi-globalenClustering-Verfahrens auf die Blattknoten des CF-Baumesund
4. Optional: Weitere Verfeinerung des Clusterings.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 16
BIRCH — Algorithmus
Der Algorithmus besteht aus 4 Phasen:1. Lesen aller Daten und Aufbau eines initialen CF-Baumes
im Hauptspeicher,2. Optional: Weiteres Komprimieren der Daten in einen
kleineren CF-Baum,
3. Anwendung eines globalen oder semi-globalenClustering-Verfahrens auf die Blattknoten des CF-Baumesund
4. Optional: Weitere Verfeinerung des Clusterings.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 16
BIRCH — Algorithmus
Der Algorithmus besteht aus 4 Phasen:1. Lesen aller Daten und Aufbau eines initialen CF-Baumes
im Hauptspeicher,2. Optional: Weiteres Komprimieren der Daten in einen
kleineren CF-Baum,3. Anwendung eines globalen oder semi-globalen
Clustering-Verfahrens auf die Blattknoten des CF-Baumesund
4. Optional: Weitere Verfeinerung des Clusterings.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 16
BIRCH — Algorithmus
Der Algorithmus besteht aus 4 Phasen:1. Lesen aller Daten und Aufbau eines initialen CF-Baumes
im Hauptspeicher,2. Optional: Weiteres Komprimieren der Daten in einen
kleineren CF-Baum,3. Anwendung eines globalen oder semi-globalen
Clustering-Verfahrens auf die Blattknoten des CF-Baumesund
4. Optional: Weitere Verfeinerung des Clusterings.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 17
BIRCH — Kostenbetrachtung
I Nur ein Datendurchlauf in Phase 1–3 für den Aufbau desinitialen CF-Baumes in Phase 1.
I Die I/O-Kosten verhalten sich demnach wie O(n).I Weitere Durchläufe durch die Daten können in Phase 4
durchgeführt werden, um das Ergebnis zu verfeinern. Aucheine Zuordnung der einzelnen Objekte zum jeweiligenCluster ist in dieser Phase möglich.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 18
Kriterien zur Beurteilung von Clusteringverfahren
1. Effizienz und Skalierbarkeit für die Verarbeitung großerDatenmengen
2. Erkennen komplexer Formen3. Unempfindlichkeit gegen Rauschen4. Unabhängigkeit von der Reihenfolge der Eingabedaten5. Kein Vorab-Wissen über die Struktur der Daten notwendig6. Verarbeitung höherdimensionaler Daten möglich
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 18
Kriterien zur Beurteilung von Clusteringverfahren
1. Effizienz und Skalierbarkeit für die Verarbeitung großerDatenmengen
2. Erkennen komplexer Formen
3. Unempfindlichkeit gegen Rauschen4. Unabhängigkeit von der Reihenfolge der Eingabedaten5. Kein Vorab-Wissen über die Struktur der Daten notwendig6. Verarbeitung höherdimensionaler Daten möglich
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 18
Kriterien zur Beurteilung von Clusteringverfahren
1. Effizienz und Skalierbarkeit für die Verarbeitung großerDatenmengen
2. Erkennen komplexer Formen3. Unempfindlichkeit gegen Rauschen
4. Unabhängigkeit von der Reihenfolge der Eingabedaten5. Kein Vorab-Wissen über die Struktur der Daten notwendig6. Verarbeitung höherdimensionaler Daten möglich
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 18
Kriterien zur Beurteilung von Clusteringverfahren
1. Effizienz und Skalierbarkeit für die Verarbeitung großerDatenmengen
2. Erkennen komplexer Formen3. Unempfindlichkeit gegen Rauschen4. Unabhängigkeit von der Reihenfolge der Eingabedaten
5. Kein Vorab-Wissen über die Struktur der Daten notwendig6. Verarbeitung höherdimensionaler Daten möglich
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 18
Kriterien zur Beurteilung von Clusteringverfahren
1. Effizienz und Skalierbarkeit für die Verarbeitung großerDatenmengen
2. Erkennen komplexer Formen3. Unempfindlichkeit gegen Rauschen4. Unabhängigkeit von der Reihenfolge der Eingabedaten5. Kein Vorab-Wissen über die Struktur der Daten notwendig
6. Verarbeitung höherdimensionaler Daten möglich
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 18
Kriterien zur Beurteilung von Clusteringverfahren
1. Effizienz und Skalierbarkeit für die Verarbeitung großerDatenmengen
2. Erkennen komplexer Formen3. Unempfindlichkeit gegen Rauschen4. Unabhängigkeit von der Reihenfolge der Eingabedaten5. Kein Vorab-Wissen über die Struktur der Daten notwendig6. Verarbeitung höherdimensionaler Daten möglich
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 19
Zusammenfassung
I Clusteringverfahren ermöglichen eine automatischeKlassifizierung von Daten in Gruppen mit möglichstähnlichen Eigenschaften.
I CLARANS als partitionierendes Clusteringverfahren ist nurzum Erkennen konvexer Cluster geeignet.
I BIRCH als hierarchisches Clusterverfahren erstellt eineHierarchie ineinander verschachtelter Cluster.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 19
Zusammenfassung
I Clusteringverfahren ermöglichen eine automatischeKlassifizierung von Daten in Gruppen mit möglichstähnlichen Eigenschaften.
I CLARANS als partitionierendes Clusteringverfahren ist nurzum Erkennen konvexer Cluster geeignet.
I BIRCH als hierarchisches Clusterverfahren erstellt eineHierarchie ineinander verschachtelter Cluster.
Constanze Hofmann, 1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Seite 19
Zusammenfassung
I Clusteringverfahren ermöglichen eine automatischeKlassifizierung von Daten in Gruppen mit möglichstähnlichen Eigenschaften.
I CLARANS als partitionierendes Clusteringverfahren ist nurzum Erkennen konvexer Cluster geeignet.
I BIRCH als hierarchisches Clusterverfahren erstellt eineHierarchie ineinander verschachtelter Cluster.