Clustering
Kursfolien
Karin Haenelt
12.11.2015
Themen
� Einführung
� Beispiele
� informelle Bestimmung
� Schritte zur Clusterbildung
� Variablenauswahl: Objekte, Attribute, Objekt-Attribut-Matrix
� 1. Klassifikation: Ähnlichkeitsberechnung
� 2. Klassifikation: Clustering
� Clustering-Algorithmen
� Übersicht
� nicht-hierarchische Cluster
� graphenbasierte Methoden
� Zentroid-Methoden
� hierarchische Cluster
2© Karin Haenelt, Clustering, 12.11.2015
ClusteringZiele
� Clustering: Gruppierung einer Menge von Objekten in Teilmengen
� Ziel
� ähnliche Objekte in dieselbe Teilmenge
� unähnliche Objekte in unterschiedliche Teilmengen
� Ziel der Entwicklung von Clusteringmethoden ist es, mathematische Modelle zu finden,die informative Klassifikationen erzeugen
3
Janowitz, 2010:15
Einführung
© Karin Haenelt, Clustering, 12.11.2015
ClusteringHistorie
� lange Historie in den Sozialwissenschaften und in den Lebenswissenschaften
� später im Information Retrieval
� Terminologie und Algorithmen von vielen Leuten in vielen verschiedenen Feldern unabhängig voneinander entwickelt
� Folge:
� keine einheitliche Terminologie
� viele nicht-formale Entwicklungen
� → Notation und Definitionen in jeder Darstellung ansehen
4
Einführung
© Karin Haenelt, Clustering, 12.11.2015
ClusteringBeispiele
� Term-Cluster� S = {Arbeit, Diplomat, Münze, Note, Regierung, Schule, Takt,
Tempo, Zeugnis}� Aufteilung in Teilmengen „ähnlicher“ Elemente
� T1: Note, Takt, Tempo
� T2: Note, Arbeit, Zeugnis, Schule
� T3: Note, Münze
� T4: Note, Diplomat, Regierung
5
1
3
8
5
2
6
4
7
9
Einführung
© Karin Haenelt, Clustering, 12.11.2015
ClusteringAnwendungsbeispiele im Information Retrieval
6
Term-Clustering
Ziel: thematische Gruppierung von Termen
Kriterium: gemeinsames Vorkommen in Dokumenten
Anwendung: Erweiterung der Retrievalanfrage
Dokument-Clustering
Ziel: thematische Gruppierung von Dokumenten
Kriterium: gemeinsame Terme
Anwendung: - Erweiterung der Antwortmenge
- Browsing über Dokumentgruppen
Einführung
© Karin Haenelt, Clustering, 12.11.2015
ClusteringAnwendungsbeispiele im Information Retrieval
7
Tag-Clustering
Beispiel:
http://www.flickr.com/photos/tags/apple/clusters/
Einführung
© Karin Haenelt, Clustering, 12.11.2015
ClusteringInformelle Bestimmung
� Clustering: Gruppierung einer Menge von Objekten in Teilmengen von Objekten mit ähnlichen Eigenschaften
� gegeben: eine endliche Menge S von Objekten
� gesucht: eine innere Struktur der Menge S
� Ableitung einer Struktur: aus Attributen der Elemente von S
� gebräuchliche Strukturen
� Klassifikation
� Partition
� Quasihierarchie (Abfolge von Klassifikationen)
� Hierarchie (Abfolge von Partitionen)
8
Einführung
© Karin Haenelt, Clustering, 12.11.2015
ClusterstrukturenKlassifikation und Partition
� Klassifikation
� Partition
� Beispiel
� S = {a, b, c, d, e, f, g}
� T1 = {a, e, g}, T2 = {a, b, c, d}, T3 = {b, e, f} Klassifikation
� C1 = {a, b, d}, C2 = {c, e, g}, C3 = {f} Partition
9
� überlappende Teilmengen
� eine Menge T1, T2, …, Tk von Teilmengen aus S
�
� Ti ist paarweise verschieden (d.h. keine zwei Elemente von Ti sind gleich)
Ui iTS =
Janowitz, 2002:3
Einführung
� disjunkte Teilmengen
� Mengen Ti sind paarweise disjunkt
© Karin Haenelt, Clustering, 12.11.2015
ClusterstrukturenQuasihierarchie und Hierarchie
� Quasi- Hierarchie
� Hierarchie
� Darstellung als Dendrogramm
10
� Folge von Klassifikationen
� T1 < T2 < … < Tk = S
Janowitz, 2002:3
Einführung
� Folge von Partitionen
� T1 < T2 < … < Tk = S
a b d fec
© Karin Haenelt, Clustering, 12.11.2015
ClusteringInformelle Bestimmung
� Cluster: Klasse T von Objekten mit gemeinsamen Attributen� T ist Teilmenge einer endlichen Menge S von Objekten
� Elemente von T haben eine gewisse Ähnlichkeit bezüglich ausgewählter Attribute
� Vereinigung der Teilmengen Ti ergibt S
� Clustering-Algorithmen
� ordnen die Objekte einer endlichen Menge S einer oder mehreren Teilmengen T zu
11
Einführung
© Karin Haenelt, Clustering, 12.11.2015
Themen
� Einführung
� Beispiele
� informelle Bestimmung
� Schritte zur Clusterbildung
� Variablenauswahl: Objekte, Attribute, Objekt-Attribut-Matrix
� 1. Klassifikation: Ähnlichkeitsberechnung
� 2. Klassifikation: Clustering
� Clustering-Algorithmen
� Übersicht
� nicht-hierarchische Cluster
� graphenbasierte Methoden
� Zentroid-Methoden
� hierarchische Cluster
12© Karin Haenelt, Clustering, 12.11.2015
Themen: Schritte zur Clusterbildung
� Variablenauswahl
1. Auswahl der Objekte
2. Auswahl einer Menge von Attributen
3. Erzeugung einer Objekt-Attribut-Matrix
� 1. Klassifikation: Ähnlichkeitsberechnung
4. Auswahl eines Ähnlichkeitsmaßes
5. Darstellung der Ähnlichkeit als Ähnlichkeitsmatrix
6. Festlegung eines Schwellenwertes
7. Darstellung der Ähnlichkeit als Relationsmatrix
� 2. Klassifikation: Clustering
8. Ableitung besser interpretierbarer Klassen aus den Ähnlichkeitsklassen
13
Schritte zur Clusterbildung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur ClusterbildungVariablenauswahl: Objekte
� S = {s1, s2, …, sn}, n ≥ 3 Menge der Eingabe-Objekte,die klassifiziert werden sollen
� Beispiele
� Dokument-Clustering: Dokumente
� Term-Clustering: Terme
� Tag-Clustering: Tags
14
Schritte zur ClusterbildungVariablenauswahl
© Karin Haenelt, Clustering, 12.11.2015
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
Dok 1 0 4 0 0 0 2 1 3
Dok 2 3 1 4 3 1 2 0 1
Schritte zur ClusterbildungVariablenauswahl: Attribute
� A = {A1, A2, …, At}
� Menge von Attributen, die ein Eingabe-Objekt haben kann
� Beispiele
� Dokument-Clustering: Terme in den Dokumenten
� Term-Clustering: Dokumente mit den Termen
� Tag-Clustering: Dokumente, denen die Tags zugeordnet sind
15
Schritte zur ClusterbildungVariablenauswahl
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
Dok 1 0 4 0 0 0 2 1 3
Dok 2 3 1 4 3 1 2 0 1
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur ClusterbildungVariablenauswahl: Attribute
Beispiel: Dokument-Clustering
� häufig gewählte Attribute:Worte, die im Dokument vorkommen
� Auswahl
� nach Wortarten
� Nomina als wichtige Indikatoren betrachtet
� Adjektive, als weniger nützlich betrachtetAdverbien
� Präpositionen, als „Stoppwörter“ aussortiertKonjunktionen,Artikel
� Volltext
16
Schritte zur ClusterbildungVariablenauswahl
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur ClusterbildungVariablenauswahl: Attributwerte
17
� Werte in der Regel numerisch
� einfache Termfrequenz
� normalisierte Termfrequenz
� Termgewichtung nach inverser Dokumentfrequenz (idf)
� …
� oder binär
� kommt vor: 1
� kommt nicht vor: 0
Schritte zur ClusterbildungVariablenauswahl
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
Dok 1 0 4 0 0 0 2 1 3
Dok 2 3 1 4 3 1 2 0 1
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur ClusterbildungEingabe: Objekt-Attribut-Matrix
� Objekte können als Vektoren mit den Attributwerten m1, … mt
dargestellt werden
� so entspricht dem Objekt si der Vektor (mi1, mi2, …, mit)
� mij ist der Wert von Aj für si
� Objekt-Attribut-Matrix
� M = mij mit n Zeilen (Objekte) und t Spalten (Attribute)
� Beispiel (Kowalski 1997: 132)
18
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
Dok 1 0 4 0 0 0 2 1 3
Dok 2 3 1 4 3 1 2 0 1
Dok 3 3 0 0 0 3 0 3 0
Dok 4 0 1 0 3 0 0 2 0
Dok 5 2 2 2 3 1 4 0 2
Schritte zur ClusterbildungVariablenauswahl
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. und 2. Klassifikation
� häufig zwei Schritte
� Berechnung einer Ähnlichkeit über einen Ähnlichkeitskoeffizienten
� Ähnlichkeitsklassen oft schwierig zu interpretieren
� Überlappungen zwischen den Klassen
� oft keine direkte Interpretation im Anwendungsbereich erkennbar
� ClusteringAbleitung besser interpretierbarer Klassen aus den Ähnlichkeitsklassen
19
Janowitz, 2010:7
Schritte zur Clusterbildung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung 1. Klassifikation: Ähnlichkeitsberechnung
� Betrachtung der Daten nach einem Ähnlichkeitsmaß erzeugt eine erste Klassifikation
� Interpretationsschritte
� Auswahl eines Ähnlichkeitsmaßes
� Darstellung der Ähnlichkeit in einer Ähnlichkeitsmatrix
� Auswahl eines Schwellenwertes
� Darstellung der ersten Klassifikation in einer Relationsmatrix
Schritte zur ClusterbildungÄhnlichkeitsberechnung
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8 Dok 1 0 4 0 0 0 2 1 3 Dok 2 3 1 4 3 1 2 0 1 Dok 3 3 0 0 0 3 0 3 0 Dok 4 0 1 0 3 0 0 2 0 Dok 5 2 2 2 3 1 4 0 2
27.11.2004
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung
Objektdarstellung: Vektoren mit Attributwerten: Dokument-Term-Vektor
1 2 3 4 5 6 7 8 1 0 1 1 1 1 0 0 2 0 1 0 1 0 1 3 1 0 1 0 0 4 0 1 0 0 5 0 0 0 6 0 1 7 1 8
Relationsmatrix der Terme 1 2 3 4 5 6 7 8
1 7 16 15 14 14 9 7 2 8 12 3 18 6 17 3 18 6 16 0 8 4 6 18 6 9 5 6 9 3 6 2 16 7 3 8
Ähnlichkeitsmatrix der Terme
Ähnlichkeitsmaß Beispiel: Skalarprodukt: 0·4 + 3·1 + 3·0 + 0·1 + 2·2 = 7
Schwellen-Wert: 10
21© Karin Haenelt, Clustering, 12.11.2015
Schritte zur ClusterbildungÄhnlichkeitsberechnung
Schritte zur Clusterbildung 1. Klassifikation: Ähnlichkeitsberechnung Beispiel - 1 -
� Ähnlichkeitsmaß
� Beispiel: einfache Methode
� Formel
� Berechnung der Ähnlichkeit
22
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
Dok 1 0 4 0 0 0 2 1 3
Dok 2 3 1 4 3 1 2 0 1
Dok 3 3 0 0 0 3 0 3 0
Dok 4 0 1 0 3 0 0 2 0
Dok 5 2 2 2 3 1 4 0 2
∑=
=Doks
k
kjkiji TermTermTermTermsim#
1
,, ))((),(
(Kowalski, 1997, 132)
p(T1,T2) = sim(T1,T2) = 0 ∙ 4 + 3 ∙ 1 + 3 ∙ 0 + 0 ∙ 1+ 2 ∙ 2 = 7
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
23
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
Dok 1 0 4 0 0 0 2 1 3
Dok 2 3 1 4 3 1 2 0 1
Dok 3 3 0 0 0 3 0 3 0
Dok 4 0 1 0 3 0 0 2 0
Dok 5 2 2 2 3 1 4 0 2
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 7 16 15 14 15 9 7
T 2 7 8 12 3 18 6 17
T 3 16 8 18 6 16 0 8
T 4 15 12 18 6 18 6 9
T 5 14 3 6 6 6 9 3
T 6 14 18 16 18 6 2 16
T 7 9 6 0 6 9 2 3
T8 7 17 8 9 3 16 3
∑=
=Doks
k
kjki
ji
TermTerm
TermTermsim#
1
,, ))((
),(
(Kowalski, 1997, 132)
Schritte zur ClusterbildungÄhnlichkeitsberechnung
� Darstellung der Ähnlichkeit als Ähnlichkeitsmatrix
Schritte zur Clusterbildung 1. Klassifikation: Ähnlichkeitsberechnung Beispiel - 2 -
© Karin Haenelt, Clustering, 12.11.2015
24
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 7 16 15 14 15 9 7
T 2 7 8 12 3 18 6 17
T 3 16 8 18 6 16 0 8
T 4 15 12 18 6 18 6 9
T 5 14 3 6 6 6 9 3
T 6 14 18 16 18 6 2 16
T 7 9 6 0 6 9 2 3
T8 7 17 8 9 3 16 3
(cf. Janowitz, 2010: 16)
� Matrix ist symmetrisch, obere Hälfte der Diagonalen reicht zur Spezifikation� Matrix lässt sich kompakt repräsentieren als Vektor:
(7,16,15,14,15,9,7,8,12,3,18,6,17,18,6,16,0,8,6,18,6,9,6,9,3,2,16,3)� Das Bild (die Wertemenge) der Ähnlichkeitsfunktion ist:
{0,2,3,6,7,8,9,12,14,15,16,17,18}
Schritte zur ClusterbildungÄhnlichkeitsberechnung
� Darstellung der Ähnlichkeit als Ähnlichkeitsmatrix
Schritte zur Clusterbildung 1. Klassifikation: Ähnlichkeitsberechnung Beispiel - 3 -
© Karin Haenelt, Clustering, 12.11.2015
25
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 7 16 15 14 15 9 7
T 2 7 8 12 3 18 6 17
T 3 16 8 18 6 16 0 8
T 4 15 12 18 6 18 6 9
T 5 14 3 6 6 6 9 3
T 6 14 18 16 18 6 2 16
T 7 9 6 0 6 9 2 3
T8 7 17 8 9 3 16 3
(Kowalski, 1997, 132)
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 7 16 15 14 15 9 7
T 2 7 8 12 3 18 6 17
T 3 16 8 18 6 16 0 8
T 4 15 12 18 6 18 6 9
T 5 14 3 6 6 6 9 3
T 6 14 18 16 18 6 2 16
T 7 9 6 0 6 9 2 3
T8 7 17 8 9 3 16 3
Schwellenwert h = 10
Schritte zur ClusterbildungÄhnlichkeitsberechnung
� Schwellenwert
Schritte zur Clusterbildung 1. Klassifikation: Ähnlichkeitsberechnung Beispiel - 4 -
© Karin Haenelt, Clustering, 12.11.2015
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 7 16 15 14 15 9 7
T 2 7 8 12 3 18 6 17
T 3 16 8 18 6 16 0 8
T 4 15 12 18 6 18 6 9
T 5 14 3 6 6 6 9 3
T 6 14 18 16 18 6 2 16
T 7 9 6 0 6 9 2 3
T8 7 17 8 9 3 16 3
26
(Kowalski, 1997, 133)
Schwellenwert h = 10
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 0 1 1 1 1 0 0
T 2 0 0 1 0 1 0 1
T 3 1 0 1 0 1 0 0
T 4 1 1 1 0 1 0 0
T 5 1 0 0 0 0 0 0
T 6 1 1 1 1 0 0 1
T 7 0 0 0 0 0 0 0
T8 0 1 0 0 0 1 0
Schritte zur ClusterbildungÄhnlichkeitsberechnung
� Relationsmatrix
Schritte zur Clusterbildung 1. Klassifikation: Ähnlichkeitsberechnung Beispiel - 5 -
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung Definition: Ähnlichkeit
� Eingabe
� Objekte
� Attribute
� Objekt-Attribut-Matrix
27
S = {s1, s2, …, sn} | n ≥ 3A = {A1, A2, …, At}M = mij mit n Zeilen, t Spalten
Abbildung p: S x S ⟼ ℝ, so dassp(si,sj) ≥ 0.p(si,sj) = p(sj,si).p(si,sj) ≤ p(sh,sh) für alle i, j, h.
je höher der Wert von p,desto ähnlicher die Objekte
� Ähnlichkeitsmaß / Korrelationskoeffizient
Abbildung d: S x S ⟼ ℝ, so dass
d(si,sj) ≥ 0.
d(si,sj) = d(sj,si).
d(si,si) = 0.
je niedriger der Wert von d,desto ähnlicher die Objekte
� Unähnlichkeitsmaß / Distanzmaß
Janowitz, 2002:4
Schritte zur ClusterbildungÄhnlichkeitsberechnung
alle Unähnlich-keitsmaße haben ein Optimum
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung Korrespondenz: Ähnlichkeit - Unähnlichkeit
� Sei p ein Ähnlichkeitsmaß und d definiert durch
� d(si,sj) = p(sk,sk) – p(si,sj)
� dann ist d ein Unähnlichkeitsmaß
� Seid ein Unähnlichkeitsmaß,k eine reelle Zahl, die eine obere Grenze für d ist undp definiert durch
� p(si,sj) = k – d(si,sj)
� dann ist p ein Ähnlichkeitsmaß
28
Janowitz, 2002:5
Notationskonvention: wir verwenden in diesen Folien p gleichbedeutend mit sim
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung Ähnlichkeitsmaße im Information Retrieval
� Ähnlichkeitsmaße / Korrelationskoeffizienten
� Einfache Methode
� Dice-Koeffizient
� Jaccard-Koeffizient
� Overlap-Koeffizient
� Cosinus des Winkels zwischen Vektoren
� …
� Unähnlichkeitsmaße / Distanzmaße
� Euklidische Distanz
� Manhattan Distanz
� …
29
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
30
Binäre Vektoren1)
Vektoren mit reellen Werten2)
Einfache Übereinstimmg.
|| YX ∩ ∑=
nDimensione
k
ykxk weightweight#
1
))((
Cosinus-Koeffizient ||||
||
YX
YX
×∩
∑∑
∑
==
=⋅
⋅ n
k yk
n
k xk
n
kykxk
weightweight
weightweight
1
2
1
2
1
Dice- Koeffizient
||||
||2
YX
YX
+∩
∑ ∑
∑
= =
=
+
⋅n
k
n
k ykxk
n
k ykxk
weightweight
weightweight
1 1
1)(2
Jaccard (oder Tanimoto)-Koeffizient
||
||
YX
YX
∪∩
∑ ∑ ∑
∑
= = =
=
⋅−+
⋅n
k
n
k
n
k ykxkykxk
n
k ykxk
weightweightweightweight
weightweight
1 1 1
1
)(
)(
Overlap- Koeffizient |)||,min(|
||
YX
YX ∩
∑ ∑
∑
= =
=n
k
n
k ykxk
n
k ykxk
weightweight
weightweight
1 1
1
),min(
),min(
1)(Manning/Schütze, 2000, 300/301)2)(Ferber, 2003)
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung Ähnlichkeitsmaße im Information Retrieval
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung Ähnlichkeitsmaß - Auswahl
� Welches Ähnlichkeitsmaß soll man wählen?
� hängt von den Daten ab
� kein mathematisches Modell für Entscheidung verfügbar
� Ergeben alle Ähnlichkeitsmaße dieselbe Rangfolge der Ähnlichkeit der Objekte?
� nein
� Soll man die Vektoren normalisieren (z.B. bezüglich der Länge)
� Normalisierung führt nicht immer zu einem besseren Clustering
� Gutes Standardmaß
� Cosinus oder Euklidische Distanz
31
(Janowitz 2002: 7,9)
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung Ähnlichkeitsmaß: Einfache Methode – Vorsicht!
� Bei Anwendung auf nicht-normalisierte Vektoren kann es absurde Ergebnisse geben� sim(T1,T3) > sim(T1,T2), obwohl T1 und T2 identische Eigenschaften
haben
� Auf diesen Folien wird die einfache Methode verwendet, weil damit das Berechnungsprinzip mit einfachen Zahlen illustriert werden kann
32
Ähnlichkeit: Einfache Übereinstimmung T 1 T 2 T 3 T 4 T 5 T 6
T 1 - 6.0 12.0 3.0 21.0 9.0
T 2 6.0 - 12.0 3.0 21.0 9.0
T 3 12.0 12.0 - 6.0 42.0 18.0
T 4 3.0 3.0 6.0 - 9.0 9.0
T 5 21.0 21.0 42.0 9.0 - 35.0
T 6 9.0 9.0 18.0 9.0 35.0 -
T 1 T 2 T 3 T 4 T 5 T 6
Dok 1 1 1 2 1 1 1
Dok 2 1 1 2 0 2 0
Dok 3 1 1 2 1 3 3
Dok 4 1 1 2 0 4 0
Dok 5 1 1 2 1 5 5
Dok 6 1 1 2 0 6 0
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung Definition: Schwellenwert
� Sei h ≥ 0 eine reelle Zahl,dann ist der Schwellenwert h definiert durch
� R{h} = {(a,b) | sim(a,b) ≥ h}
� jedes Paar (a,b) ist bei einem Schwellenwert h ähnlich oder unähnlich
� Orientierungsgrößen für die praktische Auswahl eines oder mehrerer geeigneter Schwellenwerte können sein
� Experimente mit dem jeweils vorliegenden Datenmaterial
� Wertemenge der Ähnlichkeitsfunktion
33
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung1. Klassifikation: Ähnlichkeitsberechnung
� Die Berechnung eines Ähnlichkeitskoeffizienten führt bereits zu einer Klassifikation:
� auf jeder gegebenen Ebene h ist jedes Objektpaar entweder ähnlich oder unähnlich
� auf jeder Ebene lassen sich nach dieser Unterscheidung maximale Klassen bilden
� im Beispiel bei h = 10: {1,2,3,4,6,8} und {7}
� Die Klassifikation lässt sich in Ähnlichkeitsmatrizen für die einzelnen Schwellenwerte darstellen
34
(Janowitz 2010: 7)
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung Beispiel1. Klassifikation: Ähnlichkeitsberechnung Ähnlichkeitsmatrix, Relationsmatrix, Relationsgraph
35
(Kowalski, 1997, 135)
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 7 16 15 14 15 9 7
T 2 7 8 12 3 18 6 17
T 3 16 8 18 6 16 0 8
T 4 15 12 18 6 18 6 9
T 5 14 3 6 6 6 9 3
T 6 14 18 16 18 6 2 16
T 7 9 6 0 6 9 2 3
T8 7 17 8 9 3 16 3
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 0 1 1 1 1 0 0
T 2 0 0 1 0 1 0 1
T 3 1 0 1 0 1 0 0
T 4 1 1 1 0 1 0 0
T 5 1 0 0 0 0 0 0
T 6 1 1 1 1 0 0 1
T 7 0 0 0 0 0 0 0
T8 0 1 0 0 0 1 0
1 3
8
52
6
4
7
Schritte zur ClusterbildungÄhnlichkeitsberechnung
© Karin Haenelt, Clustering, 12.11.2015
Schritte zur Clusterbildung2. Klassifikation: Clustering
� Die Betrachtung einer Datenmenge mit einem Ähnlichkeitskoeffizienten führt oft zu einer Klassifikation, die schwierig zu interpretieren ist
� Clustering-Methoden versuchen Ähnlichkeitskoeffizienten in Ähnlichkeitskoeffizienten zu überführen, die bedeutungsvolle Klassen erzeugen und besser zu interpretieren sind
� Clustering:
� Die gegebene Ähnlichkeit lässt sich in eine zweite Ähnlichkeit transformieren: sim ⟼ F(sim)
� Diese Transformation nennt man Clustering
36
(Janowitz 2010: 7)
Schritte zur ClusterbildungClustering
© Karin Haenelt, Clustering, 12.11.2015
Themen
� Einführung
� Beispiele
� informelle Bestimmung
� Schritte zur Clusterbildung
� Variablenauswahl: Objekte, Attribute, Objekt-Attribut-Matrix
� 1. Klassifikation: Ähnlichkeitsberechnung
� 2. Klassifikation: Clustering
� Clustering-Algorithmen
� Übersicht
� nicht-hierarchische Cluster
� graphenbasierte Methoden
� Zentroid-Methoden
� hierarchische Cluster
37© Karin Haenelt, Clustering, 12.11.2015
Clusteringalgorithmen
� Es gibt eine große Vielzahl von Clustering-Methoden
� (dieselbe Methode ist teilweise unter verschiedenen Namen in Gebrauch)
� Clusteringalgorithmen unterscheiden sich durch
� Cluster-Strukturen
� Komplexität der Darstellung der Ähnlichkeitsberechnung
� Ähnlichkeitswerte / Zentroide / Ähnlichkeitsmatrizen / Relationsmatrizen
� Komplexität der Ableitung der Cluster aus der Ähnlichkeitsberechnung
� algorithmische Umsetzung des Clustering-Prozesses
38
ClusteringalgorithmenÜbersicht
© Karin Haenelt, Clustering, 12.11.2015
ClusteringalgorithmenÜbersicht
� Man kann Clustering-Methoden nach unterschiedlichen Kriterien klassifizieren.Eine der möglichen Klassifikationen folgt auf der nächsten Folie.
39
ClusteringalgorithmenÜbersicht
© Karin Haenelt, Clustering, 12.11.2015
Clusteringeinige Methoden in der Übersicht
40
Clustering-
Methode
Clusterstruktur Cluster-
Stadium
verwendete Darstellung
der Ähnlichkeits-
berechnung
Clustering-
Algorithmus
Single Link nicht-
hierar-
chisch
Partition erzeugend
Objekt-/Objekt-
Ähnlichkeitsmatrix +
Objekt/Objekt-
Relationsmatrix
Graphtraversion
Clique Klassifikation
Star
String Partition
K-Means erzeugend /
aktualisie-
rend
Objekt/Zentroid-
Ähnlichkeitswerte
Zuordnung zu
Zentroiden One Pass
Single Link /
Complete
Link /
Average Link
hierar-
chisch
Sequenzen von
geschachtelten
Partitionen
erzeugend Objekt/Objekt-
Ähnlichkeitsmatrix
agglomerativ
Wards
Methode
divisiv
ClusteringalgorithmenÜbersicht
© Karin Haenelt, Clustering, 12.11.2015
Themen
� Einführung
� Beispiele
� informelle Bestimmung
� Schritte zur Clusterbildung
� Variablenauswahl: Objekte, Attribute, Objekt-Attribut-Matrix
� 1. Klassifikation: Ähnlichkeitsberechnung
� 2. Klassifikation: Clustering
� Clustering-Algorithmen
� Übersicht
� nicht-hierarchische Cluster
� graphenbasierte Methoden
� Zentroid-Methoden
� hierarchische Cluster
41© Karin Haenelt, Clustering, 12.11.2015
Clustering: Graphbasierte Methoden
42
1 3
8
52
64
7
Clique
1 3
8
52
64
7
String
1 3
8
52
64
7
Star
1 3
8
52
64
7
Single Link
(Kowalski, 1997, 133)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single-Link-ClusteringPrinzip
� Jedes Element, das einem Element des Clusters ähnlich ist, wird Element des Clusters
� Kein Element kann mehreren Clustern zugehören
43
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 0 1 1 1 1 0 0
T 2 0 0 1 0 1 0 1
T 3 1 0 1 0 1 0 0
T 4 1 1 1 0 1 0 0
T 5 1 0 0 0 0 0 0
T 6 1 1 1 1 0 0 1
T 7 0 0 0 0 0 0 0
T8 0 1 0 0 0 1 0
1 3
8
52
6
4
7
( Kowalski, 1997, 134)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
SingleLink-ClusteringAlgorithmus
1. Select a term that is not in a class and place it in a new class2. Place in that class all other terms that are related to it3. For each term entered into the class, perform step 24. When no new terms can be identified in step 2, goto step 1
44
(Kowalski, 1997, 134)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Clique-ClusteringPrinzip
� Jedes Element eines Clusters muss mit allen Elementen des Clusters eine Ähnlichkeit oberhalb des festgelegten Schwellenwertes haben
� Ein Element kann mehreren Clustern zugehören
45
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 0 1 1 1 1 0 0
T 2 0 0 1 0 1 0 1
T 3 1 0 1 0 1 0 0
T 4 1 1 1 0 1 0 0
T 5 1 0 0 0 0 0 0
T 6 1 1 1 1 0 0 1
T 7 0 0 0 0 0 0 0
T8 0 1 0 0 0 1 0
1 3
8
52
6
4
7
(Kowalski, 1997, 133)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Clique-ClusteringAlgorithmus
� separate Folien: Karin Haenelt (2010) Cliquen in Graphen. Mathematische Grundlagen und der Bron-Kerbosch-Algorithmus. Kursfolien. 14.11.2010 (¹10.08.2006). 44 S. http://kontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clique.pdf
46
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Star-ClusteringPrinzip
� Jedes Element bildet ein Cluster mit den Elementen, die ihm ähnlich sind
� Ein Element kann mehreren Clustern zugehören
47
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 0 1 1 1 1 0 0
T 2 0 0 1 0 1 0 1
T 3 1 0 1 0 1 0 0
T 4 1 1 1 0 1 0 0
T 5 1 0 0 0 0 0 0
T 6 1 1 1 1 0 0 1
T 7 0 0 0 0 0 0 0
T8 0 1 0 0 0 1 0
1 3
8
52
6
4
7
(cf. Kowalski, 1997, 134/135)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Star-ClusteringAlgorithmus
� Select a term,place in the class all terms that are related to that term
� Terms not yet in classes are selected as new seedsuntil all terms are assigned to a class
48
(Kowalski, 1997, 134)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
String-ClusteringPrinzip
� Elemente werden kettenweise zu Clustern zusammengefügt� Die Ketten entsprechen zyklenfreien Pfaden durch den
Relationsgraphen� Meist sind mehrere Zerlegungen möglich� Jedes Element kann nur einem Cluster angehören
49
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 8
T 1 0 1 1 1 1 0 0
T 2 0 0 1 0 1 0 1
T 3 1 0 1 0 1 0 0
T 4 1 1 1 0 1 0 0
T 5 1 0 0 0 0 0 0
T 6 1 1 1 1 0 0 1
T 7 0 0 0 0 0 0 0
T8 0 1 0 0 0 1 0
52
47
1 3
86
eine mögliche Zerlegung
52
47
1 3
86
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
String-ClusteringAlgorithmus
� Start with a terma
� Repeat until terma does not have another term related OR theterms related to terma are already in the class
� Include in the class one additional termb that is similar to terma
and not already in the class
� Use termb as new terma
� Start a new class with a term not yet in a class
50
(Kowalski, 1997, 135)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Graphbasierte ClusteringverfahrenVergleich der Techniken
� Single Link� Schwache Ähnlichkeiten zwischen Elementen eines Clusters� Geringe Anzahl von Clustern� Anwendbar bei gering gefüllten Term-Matrizen
� Clique� Starke Ähnlichkeiten zwischen Elementen eines Clusters� Überlappung der Cluster� große Anzahl von Clustern� Anwendbar bei dicht gefüllten Term-Matrizen
� Andere Techniken liegen zwischen diesen Extremen� Star und String: reihenfolgeabhängig
51
(Kowalski, 1997, 136)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Themen
� Einführung
� Beispiele
� informelle Bestimmung
� Schritte zur Clusterbildung
� Variablenauswahl: Objekte, Attribute, Objekt-Attribut-Matrix
� 1. Klassifikation: Ähnlichkeitsberechnung
� 2. Klassifikation: Clustering
� Clustering-Algorithmen
� Übersicht
� nicht-hierarchische Cluster
� graphenbasierte Methoden
� Zentroid-Methoden
� hierarchische Cluster
52© Karin Haenelt, Clustering, 12.11.2015
Zentroid-Methoden
� Ziel� Reduzierung des Berechnungsaufwandes� Methoden der Klasse O(n) (einige sind komplexer)
� Methode� Anfangszuordnung von Termen zu Clustern� (iterative) Revision der Startzuordnung bis zur Stabilisierung� Minimierung der Berechnungsschritte durch Verwendung von
Mittelwerten (Zentroide)� Ausgewählte Algorithmen (Erzeugung neuer und/oder
Aktualisierung vorhandener Cluster)
� k-Means-Algorithmus
� One-Pass-Assignment-Algorithmus
53
(Kowalski, 1997, 133/137)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-ClusteringPrinzip
� Erzeugung einer Partition mit k Klassen
� initiale Erzeugung der Partition
� Reorganisation einer gegebenen Partition
� Einordnung weiterer Elemente
� Anzahl der Klassen am Anfang des Prozesses bestimmt
� kann kleiner werden
� aber nicht wachsen
� Anwendbar auf sehr große Datenmengen
� Alle Elemente werden einer Klasse zugeordnet, auch wenn die Ähnlichkeit schwach ist
� Ergebnis beeinflusst von der Wahl der Startwerte
54
(Kowalski 1997, 137)(Janowitz 2003, 30)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
� Zufällige Cluster erzeugen
� Zentroide der Cluster berechnen
� Ähnlichkeit der Terme mit den Zentroiden berechnen
� Terme dem Cluster mit den ähnlichsten Zentroiden zuweisen
� Bis zur Stabilisierung wiederholen
k-Means-ClusteringAlgorithmus
55
(Kowalski, 1997, 135)(Ebert/Rättig/Kolb, 1998, 21)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-AlgorithmusBeispiel
56
Startzuordnung
5
2
4
7
13
86
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
1. Reallokation
5
2
4
7
13
86
2. Reallokation 3. Reallokation
5
2
4
7
13
86 5
2
4
7
13
86
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-AlgorithmusBeispiel-Trace (1): Startzuordnung
57
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
T7, T8neueinzu-ordnen
Zentroid K 1(0+4)/2=4/2(3+1)/2=4/2(3+0)/2=3/2(0+1)/2=1/2(2+2)/2=4/2
Zentroid K 2(0+0)/2=0/2(4+3)/2=7/2(0+0)/2=0/2(0+3)/2=3/2(2+3)/2=5/2
Zentroid K 3(0+2)/2=2/2(1+2)/2=3/2(3+0)/2=3/2(0+0)/2=0/2(1+4)/2=5/2
K 1 = {T1,T2}Klassen (K) der Terme (T) und Zentroide der Klassen
Dokument-Term-Matrix
K 2 = {T3,T4}K 3 = {T5,T6}
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-AlgorithmusBeispiel-Trace (2):Ähnlichkeit und Klassenzuordnung (1. Reallokation)
58
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
4/24/23/21/24/2
0/27/20/23/25/2
2/23/23/20/25/2
Z 1 Z 2 Z 3
∑=
=D
k
kjkiji ZTZTsim#
1
,, ))((),(
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 829/2 29/2 24/2 27/2 17/2 32/2 15/2 24/2Z 131/2 20/2 38/2 45/2 12/2 34/2 6/2 17/2Z 228/2 21/2 22/2 24/2 17/2 30/2 11/2 19/2Z 3
Klasse 2 1 2 2 3 2 1 1
sim(T8,Z1):
3 ∙ 4/2+ 1 ∙ 4/2+ 0 ∙ 3/2+ 0 ∙ 1/2+ 2 ∙ 4/2= 24/2
sim
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-AlgorithmusBeispiel-Trace (3): Neuberechnung der Zentroide
59
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
Zentroid K 18/32/33/33/33/3
Zentroid K 22/412/43/43/14
11/14
Zentroid K 301301
K1={T2,T7,T8}Klassen (K) der Terme (T) und Zentroide der Klassen
Dokument-Term-Matrix
K2={T1,T3,T4,T6}K3={T5}
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-AlgorithmusBeispiel-Trace (4):Ähnlichkeit und Klassenzuordnung (2. Reallokation)
60
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
8/32/33/33/34/3
2/412/43/43/411/4
01301
Z 1 Z 2 Z 3
∑=
=D
k
kjkiji ZTZTsim#
1
,, ))((),(
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 823/3 45/3 16/3 27/3 15/3 36/3 23/3 34/3Z 167/4 45/4 70/4 78/4 33/4 72/4 17/4 40/4Z 212 6 6 6 11 6 9 3Z 3
Klasse 2 1 2 2 3 2 3 1
sim(T8,Z1):
3 ∙ 8/3+ 1 ∙ 2/3+ 0 ∙ 3/3+ 0 ∙ 3/3+ 2 ∙ 4/3= 34/3
sim
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-AlgorithmusBeispiel-Trace (5): Neuberechnung der Zentroide
61
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
Zentroid K 17/22/20
1/24/2
Zentroid K 22/412/43/43/14
11/14
Zentroid K 31/21/26/22/21/2
K1={T2,T8}Klassen (K) der Terme (T) und Zentroide der Klassen
Dokument-Term-Matrix
K2={T1,T3,T4,T6}K3={T5,T7}
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-Means-AlgorithmusBeispiel-Trace (6):Ähnlichkeit und Klassenzuordnung (3. Reallokation)
62
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
7/22/20
1/24/2
2/412/43/43/411/4
1/21/26/22/21/2
Z 1 Z 2 Z 3
∑=
=D
k
kjkiji ZTZTsim#
1
,, ))((),(
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 814/2 29/2 16/2 21/2 6/2 32/2 9/2 31/2Z 167/4 45/4 70/4 78/4 33/4 72/4 17/4 40/4Z 223/2 9/2 6/2 10/2 20/2 8/2 23/2 6/2Z 3
Klasse 2 1 2 2 3 2 3 1
sim(T8,Z1):
3 ∙ 7/2+ 1 ∙ 2/2+ 0 ∙ 0/2+ 0 ∙ 1/2+ 2 ∙ 4/2= 31/2
sim
Klassenzuordnung ident. mit 2. Reallokation
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
k-MeansKomplexität
Zeit: O(n∙m∙k∙i)
� n Anzahl der Objekte
� m Anzahl der Attribute
� k Anzahl der Cluster
� i Anzahl der Iterationen
� bei sehr großem n: O(n)
Platz: O(n∙(m+k ))
63© Karin Haenelt, Clustering, 10.5.2012
One-Pass-AssignmentPrinzip
� Minimaler Rechenaufwand� Nur ein Durchgang zur Zuordnung aller Terme benötigt� Maximale Rechenzeit: O(n)
� Keine optimal geclusterten Klassen� Klasseneinteilung hängt ab von Reihenfolge der Analyse� Orientierung an Durchschnittswerten (Zentroide) kann
einander ähnliche Terme unterschiedlichen Klassen zuordnen
64
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
One-Pass-AssignmentAlgorithmus
65
� Erstes Objekt dem ersten Cluster zuordnen� Zentroid des neuen Clusters berechnen� Ähnlichkeit des nächsten Objekts mit allen Zentroiden berechnen� Wenn Objekt/Zentroid-Ähnlichkeit > Schwellenwert
� Zuweisung des Objekts zu ähnlichstem Cluster� Sonst neues Cluster erzeugen
� Bis alle Objekte zugewiesen sind
(Kowalski, 1997, 137/138)(Ebert/Rättig/Kolb, 1998, 21)
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
One-Pass-AssignmentBeispiel-Trace (1)
� sei die folgende Dokument-Term-Matrix gegeben
� sei h = 10 der Schwellenwert für die Ähnlichkeit eines Terms zu einem Zentroiden, d.h. R{10} = {(Ti,Zk) | sim(Ti,Zk) ≥ 10}
� dann ergibt sich die folgende Einteilung der Terme in Ähnlichkeitsklassen:
66
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
T 1 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
One-Pass-AssignmentBeispiel-Trace (2)
67
K1 = {T1} Z 103302
K1 = {T1} Z 103302
K2 = {T2}Z 241012
sim(Z1,T2)= 0 ∙ 4 + 3 ∙ 1 + 3 ∙ 0 + 0 ∙ 1 + 2 ∙ 2 = 7
1
2
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
T 1 T 2 T 3 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
T 1 T 2 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
One-Pass-AssignmentBeispiel-Trace (3)
68
K1={T1,T3} Z 10
7/23/20
4/2
K1={T1,T3,T4} Z 10
10/33/33/37/3
K2={T2}Z 241012
sim(Z1,T4)= 23/2
sim(Z1,T3) = 10
Z 241012
sim(Z2,T3) = 8
sim(Z2,T4) = 9
K2={T2}
3
4
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
T 1 T 2 T 3 T 4 T 5 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
T 1 T 2 T 3 T 4 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
One-Pass-AssignmentBeispiel-Trace (4)
69
K1={T1,T3,T4} Z 103302
sim(Z1,T6)= 16
sim(Z1,T5)= 26/3
K1={T1,T3,T4} Z 10
10/33/33/37/3
K2={T2,T6}Z 26/22/20
1/26/2
K2={T2}Z 241012
sim(Z2,T5)= 3
Z 301301
K3={T5}
Z 301301
K3={T5}
sim(Z2,T6)= 18 sim(Z3,T6)= 6
5
6
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
T 1 T 2 T 3 T 4 T 5 T 6 T 70 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
T 1 T 2 T 3 T 4 T 5 T 6 T 7 T 80 4 0 0 0 2 1 3D 13 1 4 3 1 2 0 1D 23 0 0 0 3 0 3 0D 30 1 0 3 0 0 2 0D 42 2 2 3 1 4 0 2D 5
One-Pass-AssignmentBeispiel-Trace (5)
70
sim(Z1,T8)= 8
7
8
sim(Z1,T7)= 5
K1={T1,T3,T4} Z 10
10/33/33/37/3
K2={T2,T6,T8}Z 29/34/30
1/38/3
Z 301301
K3={T5}
K1={T1,T3,T4} Z 10
10/33/33/37/3
K2={T2,T6}Z 26/22/20
1/26/2
Z 301301
K3={T5}
sim(Z2,T7)= 4 sim(Z3,T7)= 9
Z 410320
K4={T7}
Z 410320
K4={T7}
sim(Z2,T8)= 31/2 sim(Z3,T8)= 3 sim(Z4,T8)= 3
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Vergleich der Algorithmen
71© Karin Haenelt, Clustering, 10.5.2012
Single
Link
Clique Star String k-Means One-Pass-
Assignment
Variablenauswahl
Objekte + + + + + +
Attribute + + + + + +
Objekt-Attribut-
Matrix
+ + + + + +
1. Klassifikation: Ähnlichkeitsberechnung
Ähnlichkeitsmaß + + + + + +
Ähnlichkeitsmatrix Objekt/
Objekt
Objekt/
Objekt
Objekt/
Objekt
Objekt/
Objekt
Objekt/
Zentroid
Objekt/
Zentroid
Schwellenwert + + + + + +
Relationsmatrix + + + +
2. Klassifikation: Clustering
Ableitung besser
interpretierbarer Klassen
Prüfung teils komplexer
Ähnlichkeitsrelationen
direkte Partition gemäß
Ähnlichkeit zu Zentroid
mit
Reallokation
one-Pass-
Assignment
Single Link
75
2
4
1
86
3
Clique
5 7
3
8
Star
5 7
String
5 7
One Pass
5
2
4
7
13
86
k-Means
5
2
4
7
13
86
2
4
1
86
321
3
8
Beispiel: Termclustering - ErgebnisseVergleich der Termcluster
72
4
1
4
2
6
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
6
D1 D 2 D 3 D 4 D 5
D 1 11 3 6 22
D 2 11 12 10 36
D 3 3 12 6 9
D 4 6 10 6 11
D 5 22 36 9 11
Beispiel: Dokumentclustering
73
Schwellenwert h = 10
Term 1 Term 2 Term 3 Term 4 Term 5 Term 6 Term 7 Term 8
Dok 1 0 4 0 0 0 2 1 3
Dok 2 3 1 4 3 1 2 0 1
Dok 3 3 0 0 0 3 0 3 0
Dok 4 0 1 0 3 0 0 2 0
Dok 5 2 2 2 3 1 4 0 2
∑=
=Terme
k
kjkiji DDDDsim#
1
,, ))((),(
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Beispiel: Dokumentclustering - ErgebnisseVergleich der Dokumentcluster
74
Star String One Pass
k-means
5
3
4
1
2
5
3
4
1
2
5 44
2
1 1 3
Single Link
2
1
4
3
5
3
Clique
4
1
5
3
2
2
5
Clusteringalgorithmennicht-hierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Themen
� Einführung
� Beispiele
� informelle Bestimmung
� Schritte zur Clusterbildung
� Variablenauswahl: Objekte, Attribute, Objekt-Attribut-Matrix
� 1. Klassifikation: Ähnlichkeitsberechnung
� 2. Klassifikation: Clustering
� Clustering-Algorithmen
� Übersicht
� nicht-hierarchische Cluster
� graphenbasierte Methoden
� Zentroid-Methoden
� hierarchische Cluster
75© Karin Haenelt, Clustering, 12.11.2015
Clustering: hierarchische Methoden
� Beispiele
� Single Link
� Complete Link
� Average Link
76
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Hierarchische MethodenStärken und Schwächen
� Stärke� Geringer Rechenaufwand
mit jeder Bildung bzw. Aufteilung eines Clusters wird die Anzahl der zu berücksichtigenden Möglichkeiten weiter eingeschränkt
� Schwäche� Frühe Entscheidungen können nicht revidiert werden
77
(Anderberg, 1973, 131/132)
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Hierachische MethodenÜbersicht
78
� Linkage Methoden
� Single Link, CompleteLink, Average Link
� Zentroid Methoden
� Zentroid Methode
� Ward Methode(Fehlersumme der Quadrate der Euklidischen Distanz)
� Agglomerativ
� Agglomerativ
� Divisiv
Die meisten Methoden sind Variantender folgenden Grundkonzepte
(Anderberg, 1973, 132)
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single-Link Clustering
� Clustering erfolgt auf der Basis einer einzigen Verbindung zwischen zwei Clustern:zwischen den beiden ähnlichsten Einheiten
� Bildet nicht nur ellipsoide Cluster, sondern z.B. auch U-förmige
� Einheiten an den entgegengesetzten Enden des Clusters können sehr unähnlich sein
79
(Anderberg, 1973)
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Link-Cluster
� Single Link� große Cluster� schwach ähnliche Elemente
� Complete link� kleine Cluster� stark ähnliche Elemente
� Average Link� ähnlich Complete Link
80
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Agglomerative Methoden
� effiziente Algorithmen in der Literatur
� auf den nächsten Folien folgt ein Beispiel-Algorithmus, der
� nicht sehr effizient ist, aber
� leicht zu visualisieren ist.
81
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Agglomerative Methoden: Allgemeiner Algorithmus
82
• Search the similarity matrix for the most similar pair of clusters.
• Let the chosen clusters be labeled p and q and
• Let their associated similarity be sim(p,q), p< q
• Reduce the number of clusters by 1 through merger of clusters p and q.
• Label the product of the merger t and
• Update the similarity matrix entries in order to reflect the revised similaritiesbetween cluster t and all other existing clusters
• Delete the row and column of S (similarity matrix) pertaining to cluster p.
� Begin with n clusters consisting of exactly one entity.
� Let the clusters be labeled with the numbers 1 through n.
• Perform steps 2 and 3 a total of n-1 times. At each stage record the identiy ofthe clusters which are merged and the value of similarity between them in oder to have a complete record of results.
1
2
3
4
(Anderberg, 1973, 133)
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 1.12.2014 / 12.11.2015
Agglomerative Methoden: Allgemeiner AlgorithmusSchritt 2 u. 3: Aktualisierung der Ähnlichkeitsmatrix
83
p,q
t
zusammen-geführteCluster
aus p und qerzeugtes Cluster
alle anderenCluster
1
2
3
4
5
6
7
8
1
-71615141497
8
717893
163-
2
7-8
123
186
17
7
960692-3
3
168-
186
1608
6
141816186-2
16
4
151218-61869
5
14366-693
1
2
3
4
5
6
7
8
1
--
161514
97
8
7-893
3-
2
--------
7
9-069
-3
3
16--
186
08
6
-
-
4
15-
18-6
69
5
14-66-
93
spq
p q t
r
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
qp NN
rqsimrpsimrtsim
⋅+= ),(),(
),(
Agglomerative Methoden: Allgemeiner AlgorithmusSchritt 2 u. 3: Aktualisierung der Ähnlichkeitsmatrix
84
sim(t,r)=min(sim(p,r),sim(q,r))
sim(t,r)=max(sim(p,r),sim(q,r))
sim(t,r)=max(sim(p,r),sim(q,r))sim(t,r)=min(sim(p,r),sim(q,r))
SingleLink
CompleteLink
bei Distanzmaßen
bei Korrel.maßen
bei Distanzmaßenbei Korell.maßen
AverageLink
Ni Anzahl derElementein Clusteri
(Anderberg, 1973, 137-140)
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 1.12.2014 / 12.11.2015
p,qt
zusammengeführte Clusteraus p und q erzeugtes Clusteralle anderen Clusterr
Single LinkBeispiel-Trace (1)
85
2 66
1
2
3
4
5
6
7
8
1
-71615141497
8
717893163-
2
7-812318617
7
960692-3
3
168-
1861608
6
141816186-216
4
151218-61869
5
14366-693
1
2
3
4
5
6
7
8
1
--
1615141497
8
7-893173-
2
--------
7
9-0696-3
3
16--
1861608
6
14-
16186-617
4
15-
18-61869
5
14-66-693
max( , )
→
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single LinkBeispiel-Trace (2)
86
2 6 46 4
3
1
2
3
4
5
6
7
8
1
--
1615141497
8
7-893173-
2
--------
7
9-0696-3
3
16--
1861608
6
14-
16186-617
4
15-
18-61869
5
14-66-693
1
2
3
4
5
6
7
8
1
---
16141497
8
7--93173-
2
--------
7
9--696-3
3
--------
6
14--
186-617
4
16---61869
5
14--6-693
max( , )
→
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single LinkBeispiel-Trace (3)
87
2 6 46 4
6
3
1
2
3
4
5
6
7
8
1
---
16141497
8
7--93173-
2
--------
7
9--692-3
3
--------
6
14--
186-617
4
16---61869
5
14--6-693
1
2
3
4
5
6
7
8
1
----
141697
8
7---3173-
2
--------
7
9---96-3
3
--------
6
16---6-617
4
--------
5
14----693
max( , )
→
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single LinkBeispiel-Trace (4)
88
2 6 46 4
68
83
1
2
3
4
5
6
7
8
1
----
141697
8
7---3173-
2
--------
7
9---96-3
3
--------
6
16---6-617
4
--------
5
14----693
1
2
3
4
5
6
7
8
1
----
14-916
8
16---6-6-
2
--------
7
9---9--6
3
--------
6
--------
4
--------
5
14-----96
max( , )
→
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single LinkBeispiel-Trace (5)
89
2 6 4 16 4
68
8
83
1
2
3
4
5
6
7
8
1
----
14-916
8
16---6-6-
2
--------
7
9---9--6
3
--------
6
--------
4
--------
5
14-----96
1
2
3
4
5
6
7
8
1
--------
8
----
14-9-
2
--------
7
----9--9
3
--------
6
--------
4
--------
5
------914
max( , )
→
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single LinkBeispiel-Trace (6)
90
2 6 4 1 56 4
68
88
83
1
2
3
4
5
6
7
8
1
--------
8
----
14-9-
2
--------
7
----9--6
3
--------
6
--------
4
--------
5
------914
1
2
3
4
5
6
7
8
1
--------
8
------9-
2
--------
7
-------9
3
--------
6
--------
4
--------
5
--------
max( , )
→
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single LinkBeispiel-Trace (7)
91
1
2
3
4
5
6
7
8
1
--------
8
------9-
2
--------
7
-------9
3
--------
6
--------
4
--------
5
--------
1
2
3
4
5
6
7
8
1
--------
8
--------
2
--------
7
--------
3
--------
6
--------
4
--------
5
--------
max( , )
→
72 6 4 1 56 4
68
88
83
8
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Single LinkEigenschaften
� Clustering ist reihenfolgeabhängig
� Alternative: auf jeder Ebene h alle möglichen Fusionen bilden (Jardine/Sibson 1971)
92
Clusteringalgorithmenhierarchische Methoden
© Karin Haenelt, Clustering, 12.11.2015
Clustering-BibliothekenBeispiel http://docs.scipy.org/doc/scipy/reference/cluster.html
� Clustering-Algorithmen (z.B. k-means, hierarchische Cluster)
� Datenstrukturen
� Statistiken u.a. Auswertefunktionen
� Visualisierungsfunktionen
93© Karin Haenelt, Clustering, 10.5.2012
Vielen Dank
Für das Aufspüren von Fehlern in früheren Versionen und für Verbesserungsvorschläge danke ich
Jette Klein-Berning, Max Jacob, Mario di Marzo, Eva Mujdricza, Christian Roth, Peter Schönfelder
Versionen: 12.11.2015, 1.12.2014, 5.7.2012, 10.5.2012, 5.4.2012, 20.11.2011, 15.11.2000
94© Karin Haenelt, Clustering, 12.11.2015
Literatur
� Michael R. Anderberg,1973). Cluster Analysis for Applications. New York: Academic Press,
� Ebert, Christian; Rättig, Dirk; Kolb, Peter: Thesaurusgenerierung. Seminarfolien. Hauptseminar Information Retrieval. Heidelberg 28.01.1998
� Reginald Ferber (2003). Information Retrieval. Suchmodelle und Data-Mining-Verfahren für Textsammlungen und das Web. Heidelberg: dpunkt-Verlag. http://information-retrieval.de/irb/ir.htmlfrühere Fassung (1998): Data Mining und Information Retrieval. Skript zur Vorlesung an der TH Darmstadt WS 1998/99
� Nicholas Jardine und Robin Sibson (1971). Mathematical Taxonomy, Wiley, New York.
� Kowalski, Gerald (1997): Information Retrieval Systems: Theory and Implementation. Kluwer Academic Publishers: Boston/Dordrecht/London.
� Melvin F. Janowitz (2010). Ordinal and relational clustering. World Scientific Publishing Co. Pte.Ltd., Singapore
� Melvin F. Janowitz (2002). A Combinatorial Introduction to Cluster Analysis. Short Course http://dimax.rutgers.edu/~melj/tutorial.pdf.
� Christopher Manning; Hinrich Schütze(2000): Foundations of Statistical Natural Language Processing. Cambridge, Mass.: MIT Press.
95© Karin Haenelt, Clustering, 12.11.2015
Copyright
� © 2000, 2004, 2007, 2011, 2012 Karin HaeneltAll rights reserved. No part of these slides may be reproduced in any form by any electronic or nonelectronic means (includingphotocopying, recording, or information storage and retrieval) without permission in writing from the author.
� Bibliographic data. Karin Haenelt, Clustering. Kursfolien. 12.11.2015 (1. Fassung 15.11.2000) + URL
� Please quote correctly. If you use the presentation or parts of it foreducational and scientific purposes, please observe the laws(copyright, Urheberrecht, etc.). Please include the bibliographicdata (author, title, date, page, URL) in your publication (book, paper, course slides, etc.).
� For commercial use: No commercial use is allowed without writtenpermission from the author. In case you are interested in commercial use please contact the author.
96© Karin Haenelt, Clustering, 12.11.2015