1.3.1 partitionierendes und hierarchisches clustern...

41
1.3.1 Partitionierendes und Hierarchisches Clustern: CLARANS und BIRCH Constanze Hofmann FernUniversität in Hagen Seminar 01912 im Sommersemester 2008 Data Mining

Upload: others

Post on 30-Aug-2019

1 views

Category:

Documents


0 download

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.