Effiziente und effektive Clustering-Methode:
CLARANS
Seminar zu Datenbanksystemen im SS 2007Name: Chen Jin
Betreuer: Christian Stahlhut10.Juli 2007
Gliederung
Einführung in die Clusteranalyse Definition Ähnlichkeitsmaße Klassifikation der Clustering Algorithmen Charakteristika eines Clusters Partitionierungsverfahren
Clustering Algorithmen basierend auf K-Medoid PAM (Partitioning Around Medoids) CLARA (Clustering LARge Applications)
CLANRANS: Clustering Algorithmus basierend auf zufälliger Suche
Motivation CLARANS Algorithmus Experiment
Räumliches Data Mining
Einführung in die Clusteranalyse
Die Clusteranalyse dient dazu, eine Menge von Objekten aufgrund ihrer Ähnlichkeit bzgl. der gemessenen Eigenschaften in Cluster zu unterteilen,
Die derselben Gruppe (Cluster) zugeordneten Objekte sollen eine möglichst hohe Ähnlichkeit aufweisen
Die Objekte unterschiedlicher Gruppen (Cluster) sollen deutlich verschieden voneinander sein
Clustering ist eine unüberwachte Klassifikation (unsupervised classification)
Keine vordefinierten Gruppen (Cluster) Die Konstruktion der Cluster, evtl. mit der Angabe einer Zahl k, die die
gewünschte Anzahl der Cluster beschreibt. Die Objekte werden untersucht und dann anhand der gemessenen
Ähnlichkeit ihrer Eigenschaften in k Cluster aufgeteilt.
Definition von Clustering
Gegeben sei eine Menge von Objekten. Das Clustering-Problem ist, eine Abbildung zu definieren für einen bestimmten Wert , wobei jedes
einem Cluster , , zugewiesen wird. Jedes Cluster beinhaltet genau diejenigen Objekte, die diesem zugewiesen wurden. D.h.
},......,{ 1 nOOD },......,1{: kDf
kj 1jCk iO
)1( nijC
},1,1,)(|{ DOundkjnijOfOC iiij
Ähnlichkeitsmaße
Festlegen, bzgl. welcher Eigenschaften die Objekte miteinander verglichen werden sollen.
Bestimmung eines Maßes, mit dem die Ähnlichkeit oder Unähnlichkeit zwischen den Objekten numerisch ausgedrückt wird
Distanzfunktion, zur Bestimmung des Abstands zweier Objekte Euklidische Distanz
Berechnung des Mittelpunktes oder Schwerpunktes eines Clusters
Cluster nach geometrischem Abstand Cluster nach Form-Eigenschaft
Klassifikation der Clustering Algorithmen
Clustering
Hierarchisch Partitionierend
Agglomerierend Unterteilend
Hierarchisches Clustering
Gegeben seien Objekte und Ähnlichkeitsmaße, nun soll ein Baum hierarchischer Struktur von Clustern erzeugt werden, der die Ähnlichkeit der Objekte ausdrückt.
In der höchsten Ebene ist jedes Objekt in einem eigenen Cluster In der untersten Ebene sind alle Objekte in einem einzigen Cluster
Visualisierung der Clusterhierarchien.
{{1}, {2}, {3}, {4}, {5}}
{{1, 2}, {3}, {4}, {5}}
{{1, 2}, {3}, {4, 5}}
{{1, 2, 3}, {4, 5}}
{{1, 2, 3, 4, 5}}
1 2 3 4 5
Agglomerierend
Unterteilend
Partitionierende Clusterverfahren
Generierung der Partitionierung auf einer einzelnen Hierarchieebene. Versuchen, die besten k Partitionen der Objekte zu finden, Die Anzahl k muss vorgegeben sein Die Partitionierungen werden so lange optimiert, bis sie
untereinander so heterogen und innerhalb so homogen wie möglich sind.
Zwei wichtige Algorithmen von Partitionierungsverfahren: K-Means und K-Medoids
Bemerkungen: K Cluster, die von einem Partitionierungsverfahren gefunden
wurden, sind oft hochwertiger (d.h. ähnlicher) als jene, die durch eine hierarchische Methode produziert wurden.
Charakteristika eines Clusters (I)Es sei ein Cluster C mit n Objekten gegeben
Distanzfunktion:
Bemerkung: Berechnet den Abstand zwischen den Objekten und Der Abstand beschreibt den Grad der Übereinstimmung der Objekte und Kleine Distanz (Abstand) ≈ ähnliche Objekte Große Distanz (Abstand) ≈ unähnliche Objekte
Centroid:
Bemerkungen: Der Centroid eines Clusters ist als Mittelwert der Cluster-Elemente aufzufassen. Er muß nicht selber ein tatsächliches Objekt im Cluster sein.
nO
CCentroidn
i i 1::
},......,{ 1 nOO
ji OOd ,
iO jOiO jO
Charakteristika eines Clusters (II) Medoid: , wobei ein zentrales Objekt im Cluster ist.
Bemerkung: Medoid eines Cluster C ist ein Objekt, für das die Summe aller Distanzen
von allen anderen Objekten zu diesem Objekt minimal ist.
Absoluter Abstand(Unähnlichkeit) := Summe aller Distanzen
wobei , der Centroid/Medoid des Clusters C ist.
Durchschnittlicher Abstand (Unähnlichkeit)
iOMMedoid :: iO
COwobeiOOd jij ,,
CClusterimElementederAnzahl AbstandAbsoluter :
CO j iO
ij OOd ,
Clustering Algorithmen
Vorbemerkungen: Viele Partitionsmethoden, einige basieren auf K-Medoid.
Der im Paper vorgestellte Algorithmus „CLARANS“ hat die K-Medoid-Methoden als Grundlage gewählt, aus folgenden Gründen:
Sehr robust gegenüber der Beeinflußung durch Ausreißer(Outliers) Von der Reihenfolge, in der die Objekte verarbeitet werden,
unabhängig Sehr effizient und effektiv bei großen Datenmengen
Es werden zuerst die Algorithmen PAM und CLARA eingeführt, da CLARANS auf diesen basiert
PAM (Partitioning Around Medoids)
EinführungsbeispielEs sei angenommen: D= { , , , , , , , } K = 3 Cluster Distanzfunktion:
wobei n die Dimension des Objekts ist, in diesem Fall also 2, , sind die Koordinaten des Objekts
1O 2O 3O 4O 5O
n
iiiqp qpOOD
1
2,
6O 7O 8O
ip iq
Graphische Darstellung des PAM-Verfahrens
5O3O
2O
4O
1O
6O
7O
8O
x
y
Graphische Darstellung des PAM-Verfahrens
Wähle zufällig k Medoids aus: z.B. {O1,O4,O8}
5O3O
2O
4O
1O
6O
7O
8O
x
y
Graphische Darstellung des PAM-Verfahrens
Wähle zufällig k Medoids aus: z.B. {O1,O4,O8}
Teile die übrigen Objekte nach Ähnlichkeitsmaßen den entsprechenden Clustern zu, die durch {O1,O4,O8} repräsentiert werden, d.h. gegenwärtige Nicht-Medoid-Objekte werden dem Cluster zugeordnet, zu dessen Medoid sie am nächsten sind
5O3O
2O
4O
1O
6O
7O
8O
x
y
Graphische Darstellung des PAM-Verfahrens
Wähle zufällig k Medoids aus: z.B. {O1,O4,O8}
Teile die übrigen Objekte nach Ähnlichkeitsmaßen den entsprechenden Clustern zu, die durch {O1,O4,O8} repräsentiert werden, d.h. gegenwärtige Nicht-Medoid-Objekte werden dem Cluster zugeordnet, zu dessen Medoid sie am nächsten sind
Im folgenden Schritt vertauscht PAM einen gegenwärtigen Medoid und ein nicht ausgewähltes Objekt, solange dies eine Verbesserung der Qualität des Clusterings zur Folge hat
5O3O
2O
4O
1O
6O
7O
8O
x
y
Graphische Darstellung des PAM-Verfahrens
Wähle zufällig k Medoids aus: z.B. {O1,O4,O8}
Teile die übrigen Objekte nach Ähnlichkeitsmaßen den entsprechenden Clustern zu, die durch {O1,O4,O8} repräsentiert werden, d.h. gegenwärtige Nicht-Medoid-Objekte werden dem Cluster zugeordnet, zu dessen Medoid sie am nächsten sind
Im folgenden Schritt vertauscht PAM einen gegenwärtigen Medoid und ein nicht ausgewähltes Objekt, solange dies eine Verbesserung der Qualität des Clusterings zur Folge hat
5O3O
2O
4O
1O
6O
7O
8O
x
y
Graphische Darstellung des PAM-Verfahrens
Ein einfaches Beispiel veranschaulicht die Vorgehensweise
Om,1
Op
Om,2
Oj
Om,1
Oj
Op
Om,2Fall 1
Fall 2
Fall 3
Fall 4
Cluster B
Cluster A
Cluster C Cluster C
Cluster A
Cluster B
4 Fälle
0,, 1,2, mjmjjmp OOdOOdC
1,,, mjpjjmp OOdOOdC
0jmpC
Fall 1:
Fall 2:
Fall 3:
Fall 4: 0,, 2, mjpjjmp OOdOOdC
j
jmpmp CTC
PAM Algorithmus
Input: Objektmenge {O1,O2….,On}, gewünschte Anzahl der Cluster kOutput: k Cluster
1. Wähle k beliebige repräsentative Objekte als Medoids aus.2. Berechne TCmp für alle Objekt-Paare Om und Op , wobei Om ein gegenwärtig
ausgewählteter Medoid ist, und Op nicht.
3. Wähle dasjenige Paar (Om, Op) aus, das min Om, Op TCmp entspricht. Wenn das minimale TCm negativ ist, Om mit Op ersetzen und zurück zu Schritt 2.
4. Andernfalls finde den ähnlichsten Medoid für jedes nicht ausgewählte Objekt. Halt.
Bemerkung: Komplexität von einer Iteration :
nicht geeignet für größere Daten-Sets
2knkO
CLARA (Clustering LARge Applications)
Suche die Medoids nicht in der gesamten Datenmenge
Wähle eine Stichprobe aus der Menge aus
Wende PAM auf diese Probe an und findet so deren Medoids
Bemerkung: Wählen die Probe zufällig aus Die Medoids der Probe
approximieren die der gesamten Menge
Ziehe mehrere Stichproben und gebe das beste Clustering als Ausgabe zurück
Experimente haben ergeben, daß fünf Proben der Größe zufriedenstellende Resultate liefern.
k240
Algorithmus CLARA
Input: Objektmenge {O1,O2….,On}, gewünschte Anzahl der Cluster kOutput: k Cluster
1. Für i = 1 bis 5, wiederhole die folgenden Schritte:2. Ziehe eine Stichprobe von 40+2k Objekten aus der gesamten Menge zufällig
aus, rufe danach den Algorithmus PAM auf, um k Medoids in der Probe zu finden
3. Stelle für jedes Objekt Oj in der gesamten Datenmenge fest, welcher der k Medoids zu Oj das Ähnlichste ist.
4. Berechne die durchschnittliche Unähnlichkeit des Clusterings, das der vorherige Schritt hervorbrachte. Wenn dieser Wert kleiner als das gegenwärtige Minimum ist, verwende diesen Wert als das neue Minimum, und merke die k Medoids, die in Schritt 2 gefunden wurden, diese sind die beste bisher gefundene Menge an Medoids.
5. Zu Schritt 1 zurückgehen, um mit der nächsten Iteration zu beginnen.
PAM vs. CLARA vs. CLARANS
Mit Hilfe einer Graphen-Theorie Graph Gn,k
Knoten :=
wobei , , die vorausgewählten Medoids sind.
Zwei Knoten sind Nachbarn (d.h. sie sind mit einer Kanten verbunden) gdw. ihre Mengen sich nur durch ein Objekt unterscheiden
},.....,,{21 kmmm OOO
imO ki 1
Beispiel: n=5 Objekte A,B,C,D,E k=2 Cluster G5,2 wird unten dargestellt:
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
Analyse des Graphs
Jeder Knoten beschreibt eine Clustering-Möglichkeit Jeder Knoten hat k(n-k) = 6 Nachbarn Kosten werden jedem Knoten zugewiesen Die Differenz der Kosten zwischen zwei Nachbarn wird durch
TCmp angegeben
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS Angenommen {C,E} ist das gewünschte Cluster PAM
Fängt mit Knoten {A,B} an
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS Angenommen {C,E} ist das gewünschte Cluster PAM
1.Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS Angenommen {C,E} ist das gewünschte Cluster PAM
2.Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS Angenommen {C,E} ist das gewünschte Cluster PAM
3.Iteration Halt
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARA
Schränkt die Suche nur auf einen Subgraph ein, hier z.B. nur auf A,B,C,D
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARA
Schränkt die Suche nur auf einen Subgraph ein, hier z.B. nur auf A,B,C,D
Fängt mit Knoten {A,B} an
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARA
Schränkt die Suche nur auf einen Subgraph ein, hier z.B. nur auf A,B,C,D
1.Iteration
A,B
A,D
A,C
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARA
Schränkt die Suche nur auf einen Subgraph ein, hier z.B. nur auf A,B,C,D
2.Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARA
Schränkt die Suche nur auf einen Subgraph ein, hier z.B. nur auf A,B,C,D
3.Iteration Halt
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARANS
Fängt mit Knoten {A,B} an
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARANS
1. Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARANS
1. Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARANS
1. Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARANS
2. Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARANS
2.Iteration
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
PAM vs. CLARA vs. CLARANS CLARANS
3.Iteration Halt
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
Vorbemerkungen: CLARANS hat zwei Parameter
maxneighbor, beschreibt die Höchstzahl der zu überprüfenden Nachbarn
numlocal :beschreibt die Anzahl der zu erreichenden lokalen Minima
A,B
A,C
A,D
A,E
B,C
D,EC,E
C,D
B,EB,D
Vorbemerkungen (Fort.):
Je höher der Wert von maxneighbor, desto genauer ist CLARANS im Vergleich zu PAM und desto länger dauert jede Suche nach einem
lokalen Minimum
Passende Werte für die beiden Parameter wurden durch Experimente ermittelt.
Algorithmus CLARANS:
Input: Gn,k, Eingabeparameter numlocal und maxneighbor.Output: Der Knoten, der die optimalen Medoid-Objekte enthält
1. Initialisiere Variable i auf 1 und mincost auf eine große Zahl.2. Setze Variable current auf einen beliebigen Knoten in .3. Setze j = 1.4. Ziehe einen zufällig ausgewählten Nachbar S von current und berechne die Kostendifferenz
zwischen den beiden Knoten.5. Wenn S im Vergleich zu current niedrigere Kosten cost hat, setzte current auf S und gehe
zurück zu Schritt 3.6. Ansonsten setze j = j+1. Wenn j<=maxneighbor, gehe zurück zu Schritt 4.7. Andernfalls wenn j>maxneighbor, vergleiche die Kosten cost von current mit mincost, wenn
cost niedriger ist, setze mincost = cost und setze bestnote=current.8. Erhöhe i = i+1. Wenn i>numlocal, gebe bestnote aus und Halt. Sonst gehe zurück zu
Schritt 2.
knG ,
Experiment I
maxneighbor = (1.25% ~1.5%)* k(n-k)
Fig. 1 : Determining the maximum number of neighbors. (a) Relative efficiency. (b) Relative quality.
Experiment II
numlocal=2
Experiment III
Fig.2 Efficiency: CLARANS versus PAM.
Experiment IV
Fig.3 Experiment 3 Relative Quality: Same Time for CLARANS and CLARA.
Räumliches Data Mining
Ein spezielles Forschungsgebiet des Data Minings
Ziel: interessante Verhältnisse, Eigenschaften zu entdecken, die implizit in räumlichen Datenbanken bestehen können
Methode: Cluster Analyse, z.B. CLARANS Keine vordefinierte Hierarchie Effizient
Kern-Frage:
Wie kann man den Abstand zwischen räumlichen Objekten errechnen ?
Räumliche Daten Räumliche Daten können
Punktförming vorliegen z.B. ein kleines Haus, ein Baum usw. Standardabstands-Metrik
Aus Flächen, z.B. Polygonen, bestehen z.B. der Welfengarten in Hannover Drei mögliche Vorgehen:
Separation Distance MV-Approximation IR-Approximation
Separation Distance versusMV-Approximation versus IR-Approximation
Separation Distance Mindestabstand zwischen irgendeinem Paar von Punkten in A und B
MV-Approximation Mindestabstand zwischen Eckpunkten
IR-Approximation Abstand zwischen achsen-parallelen „bounding boxen“ (isothetischen
Rechtecken)
c)
a)b)
AB
Abbildung 4: Separation Distance versus MV-Approximation versus IR-Approximation.a) Separation Distance. b) MV-Approximation. c) IR-Approximation
Experiment I
Efficiency of the approximations.
Experiment II
IR-Approximation das effizienteste und effektivste Vorgehen CLARANS verwendet IR-Approximation, um polygonale Objekte zu
clustern.
Clustering efficiency of the approximations.(a) 10-Sided polygons. (b) 4-to-20-Sided polygons.
Fragen?
Top Related