clustering - ifis.uni-luebeck.de fileeinführung in web-und data-science clustering prof. dr. ralf...
Post on 06-Aug-2019
215 Views
Preview:
TRANSCRIPT
Einführung in Web- und Data-ScienceClustering
Prof. Dr. Ralf MöllerUniversitä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
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
Einflüsse des Distanzmaßes auf Clusterbildung
Abhilfe: Gewichtung, z. B. durch Normalisierung4
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
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
0
1
2
3
4
5
K-means Clustering (2)
c1
c2
c3
Distanzmaß: Euklidische Distanz
0 1 2 3 4 5
!"#$% =1("#
) *+,-∈/01
0
1
2
3
4
5
K-means Clustering (3)Distanzmaß: Euklidische Distanz
c1
c2
c3
0 1 2 3 4 5
0
1
2
3
4
5
K-means Clustering (4)
c1
c2
c3
Distanzmaß: Euklidische Distanz
0 1 2 3 4 5
0
1
2
3
4
5
K-means Clustering (5)
c1
c2 c3
Distanzmaß: Euklidische Distanz
0 1 2 3 4 5
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
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
K-Means-Ergebnis hängt vom Startwert ab
13
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
Anpassung von Gauß-Funktionen
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
Initialisierung
• Weise Parametern zufällige Werte zu
18
E-Schritt
• Nehme an, Parameter sind bekannt• Weise Daten zu
19
M-Schritt
• Passe Parameter über zugeordnete Punktmenge an
20
Iteration 1
Die Cluster-Mittelwertewerdenzufälliggewählt
Iteration 2
Iteration 5
Iteration 25
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
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
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
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
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
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#
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#
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#
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#
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?
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
DBSCAN – Definitionen
37
DBSCAN – Definitionen
38
DBSCAN – Definitionen
39
DBSCAN – Definitionen
40
DBSCAN – Definitionen
41
DBSCAN – Lemma 1
42
DBSCAN – Lemma 2
43
DBSCAN
44
ExpandCluster
45
top related