Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf...

45
Einführung in Web- und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Transcript of Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf...

Page 1: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Einführung in Web- und Data-ScienceClustering

Prof. Dr. Ralf MöllerUniversität zu Lübeck

Institut für Informationssysteme

Tanya Braun (Übungen)

Page 2: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Danksagung

• Zur Vorbereitung dieser Präsentationen wurdenMaterialien verwendet von – Eamonn Keogh (University of California – Riverside) und– Sascha Szott (HPI Potsdam)

2

Page 3: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Clustering

• Form des unüberwachten Lernens• Suche nach natürlichen Gruppierungen von Objekten

– Klassen direkt aus Daten bestimmen• Hohe Intra-Klassen-Ähnlichkeit• Kleine Inter-Klassen-Ähnlichkeit

– Ggs.: Klassifikation• Distanzmaße

3

Page 4: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Einflüsse des Distanzmaßes auf Clusterbildung

Abhilfe: Gewichtung, z. B. durch Normalisierung4

Page 5: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Hierarchisches Clustering

• Kostenfunktion– Substitution 1– Einfügung 1– Lösung 1

• Dist(Peter, Piotr) = 3• Dist(Ci,Cj)

5

Peter

Piter

Pioter

Piotr

Einfügung (o)

Lösung(e)

Substitution (i for e) Pi

otr

Pyot

r

Pete

r

Pie

ro

Piet

ro

Pier

re

Petro

s

Pedr

o

Dendrogramm

=1

"# $ |"&|' ' ()*+(-, /)

1∈345∈36

Page 6: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

0

1

2

3

4

5

0 1 2 3 4 5

Partitionierung: K-means Clustering (1)

c1

c2

c3

Distanzmaß: Euklidische Distanz

!"# = %&: %& − *"# + ≤ %& − *-# +forall3 = 1…6, 3 ≠ 9

Page 7: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

0

1

2

3

4

5

K-means Clustering (2)

c1

c2

c3

Distanzmaß: Euklidische Distanz

0 1 2 3 4 5

!"#$% =1("#

) *+,-∈/01

Page 8: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

0

1

2

3

4

5

K-means Clustering (3)Distanzmaß: Euklidische Distanz

c1

c2

c3

0 1 2 3 4 5

Page 9: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

0

1

2

3

4

5

K-means Clustering (4)

c1

c2

c3

Distanzmaß: Euklidische Distanz

0 1 2 3 4 5

Page 10: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

0

1

2

3

4

5

K-means Clustering (5)

c1

c2 c3

Distanzmaß: Euklidische Distanz

0 1 2 3 4 5

Page 11: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

K-Means: Cluster-Repräsentation

• Parameter ! ∈ ℕ bestimmt Anzahl der Cluster (woher?)• Jedes Cluster $% durch Zentroid &% ∈ ℝ( repräsentiert

Mittelwert bezüglich aller in $% enthaltenen Punkte, d.h.,

&% = 1$%

, -./01∈23, … , 1$%

, -.(01∈23-.67′te Kompontente

• Ziel: wähle Cluster $/, … , $9 ⊆ ; (alle Datenpunkte), so dass $/, … , $9 eine Partition von ; ist und

< $/,… , $9 =, , -. − &% >>

01∈23

9

%?/(intra-cluster Varianz) minimiert wird

11

Page 12: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

K-Means: Algorithmus

1. Wähle ! zufällige Punkte "#, … , "& ∈ ℝ)2. ∀,- ∈ .: ordne ,- dem nähesten Zentroid zu, d.h., ,-

wird "/ zugeordnet, falls0 ,-, "/ = min#5/5& 0(,-, "/)

wobei 0(. ) eine Distanzfunktion ist (z.B. . 9)3. Sei :/ die Menge aller Objekte, die "/ zugeordnet sind.

Berechne ausgehend von :/ den Zentroid "/ neu.4. Falls sich im vorherigen Schritt mindestens ein Zentroid

geändert hat, gehe zu 2.Andernfalls: Stop – :#, … , :& ist eine Partitionierung von .

12

Page 13: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

K-Means-Ergebnis hängt vom Startwert ab

13

Page 14: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Diskussion

• Meist relativ wenige Schritte notwendig– Findet aber ggf. nur lokales Optimum

• Nur anwendbar, wenn Mittel definiert– Erweiterungen für kategoriale Daten existieren

• Basiert auf vorgegebener Clusteranzahl k• Cluster haben meist gleiche Größe• Probleme bei nichtkonvexen Formen

– Varianten von K-Means (z.B. K-Medoid)

14Trend Wunsch

Page 15: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Anpassung von Gauß-Funktionen

Page 16: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)
Page 17: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Anpassung über Expectation-Minimization

• Initialisierung: Wähle ! zufällige Mittelwerte, etc.• E Schritt: ∀#$ ∈ &:

' () #$ = ' () '(#$|())'(#))

= ' () '(#$|())∑ ' ()/ '(#0|()/))/

• M Schritt: ∀() :

17

' () = 1|&| 2 '(()|#$)

34∈&

5) =∑ #$'(()|#$)34∈&∑ '(()|#$)34∈&

6)7 =∑ #$ − 57

7'(()|#$)34∈&∑ '(5)|())34∈&

: #$, 5, 67

Page 18: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Initialisierung

• Weise Parametern zufällige Werte zu

18

Page 19: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

E-Schritt

• Nehme an, Parameter sind bekannt• Weise Daten zu

19

Page 20: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

M-Schritt

• Passe Parameter über zugeordnete Punktmenge an

20

Page 21: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)
Page 22: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Iteration 1

Die Cluster-Mittelwertewerdenzufälliggewählt

Page 23: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Iteration 2

Page 24: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Iteration 5

Page 25: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Iteration 25

Page 26: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Diskussion EM

• Bestimmung einer Mixtur von multivariaten Gauss-Kurven(Gaussian mixture)– K-Means ist spezielle Form des EM-Verfahrens

• Wahrscheinlichkeitsbasierte Zuordnung zu Clustern anstelleeiner deterministischen Zuordnung– Cluster können verschiedene Größen haben (Varianz)

26Wikipedia

Page 27: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Inkrementelle Clusterbildung

• Nächste-Nachbarn-Clusterbildung– Nicht verwechseln mit Nächsten-Nachbarn-Klassifikation

• Neue Datenpunkte inkrementell in bestehende Cluster integriert, so dass Distanz minimiert

• Schwellwert t, um zu bestimmen, ob neues Cluster aufgemacht werden soll

27

Page 28: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

Schwellwert t

t 1

2

Inkrementelle Clusterbildung

Page 29: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

Neuer Datenpunkt …

… ist im Schwellwertbereich des Cluster 1, also fügen wir ihn hin und aktualisieren den Clustermittelpunkt

1

2

3

Inkrementelle Clusterbildung

Page 30: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

10

1 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

Neuer Datenpunkt …

… ist nicht im Schwerwertbereich von Cluster 1, also erzeugen wir ein neues Cluster, und so weiter ...

1

2

3

4

Ergebnis des Verfahrens istklar von der Reichenfolgeabhängig…

Es ist nicht einfach, den Schwellwert t zu bestimmen …

Inkrementelle Clusterbildung

Page 31: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Was ist die richtige Anzahl von Clustern?

• Offenes Problem• Viele Approximierungs-

methoden– z.B. intra-cluster Varianz

31

10

1 2 3 4 5 6 7 8 9 10

123456789

! "#,… , "& =

( ( )* − ,- ..

/0∈23

&

-4#

Page 32: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

1 2 3 4 5 6 7 8 9 10

k = 1: Zielfunktion liefert 873.0

Was ist die richtige Anzahl von Clustern?

! "#,… , "& =

( ( )* − ,- ..

/0∈23

&

-4#

Page 33: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

1 2 3 4 5 6 7 8 9 10

k = 2: Zielfunktion liefert 173.1

Was ist die richtige Anzahl von Clustern?

! "#,… , "& =

( ( )* − ,- ..

/0∈23

&

-4#

Page 34: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

1 2 3 4 5 6 7 8 9 10

k = 3: Zielfunktion liefert 133.6

Was ist die richtige Anzahl von Clustern?

! "#,… , "& =

( ( )* − ,- ..

/0∈23

&

-4#

Page 35: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

0.00E+00

1.00E+02

2.00E+02

3.00E+02

4.00E+02

5.00E+02

6.00E+02

7.00E+02

8.00E+02

9.00E+02

1.00E+03

1 2 3 4 5 6k

Zielfunktion

Was ist die richtige Anzahl von Clustern?

Page 36: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

Dichtebasierendes partitionierendes Clustering

• DBSCAN-Verfahren (Density Based Spatial Clustering of Applications with Noise)

• Motivation: Punktdichte innerhalb eines Clusters hoher als außerhalb des Clusters

• Resultierende Cluster konnen beliebige Form haben– Bei distanzbasierten Methoden ausschließlich konvexe

Cluster • Clusteranzahl k muss nicht initial vorgegeben werden

36

Page 37: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN – Definitionen

37

Page 38: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN – Definitionen

38

Page 39: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN – Definitionen

39

Page 40: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN – Definitionen

40

Page 41: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN – Definitionen

41

Page 42: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN – Lemma 1

42

Page 43: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN – Lemma 2

43

Page 44: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

DBSCAN

44

Page 45: Clustering - ifis.uni-luebeck.de fileEinführung in Web-und Data-Science Clustering Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Tanya Braun (Übungen)

ExpandCluster

45