Clustering - Fraunhofer-Gesellschaft: Karin...

96
Clustering Kursfolien Karin Haenelt 12.11.2015

Transcript of Clustering - Fraunhofer-Gesellschaft: Karin...

Page 1: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

Clustering

Kursfolien

Karin Haenelt

12.11.2015

Page 2: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 3: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 4: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 5: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 6: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 7: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

ClusteringAnwendungsbeispiele im Information Retrieval

7

Tag-Clustering

Beispiel:

http://www.flickr.com/photos/tags/apple/clusters/

Einführung

© Karin Haenelt, Clustering, 12.11.2015

Page 8: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 9: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 10: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 11: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 12: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 13: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 14: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 15: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 16: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 17: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 18: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 19: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 20: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 21: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 22: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 23: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 24: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 25: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 26: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 27: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 28: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 29: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 30: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 31: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 32: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 33: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 34: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 35: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 36: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 37: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 38: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 39: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 40: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 41: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 42: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 43: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 44: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 45: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 46: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 47: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 48: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 49: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 50: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 51: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 52: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 53: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 54: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 55: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

� 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

Page 56: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 57: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 58: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 59: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 60: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 61: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 62: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 63: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 64: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 65: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 66: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 67: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 68: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 69: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 70: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 71: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 72: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 73: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 74: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 75: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 76: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

Clustering: hierarchische Methoden

� Beispiele

� Single Link

� Complete Link

� Average Link

76

Clusteringalgorithmenhierarchische Methoden

© Karin Haenelt, Clustering, 12.11.2015

Page 77: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 78: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 79: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 80: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 81: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 82: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 83: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 84: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 85: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 86: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 87: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 88: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 89: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 90: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 91: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 92: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 93: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 94: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 95: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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

Page 96: Clustering - Fraunhofer-Gesellschaft: Karin Haeneltkontext.fraunhofer.de/haenelt/kurs/folien/Haenelt_Clustering.pdf · Clustering Historie lange Historie in den Sozialwissenschaften

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