Download - 2.3 Hierarchische Verfahren
1
2.3 Hierarchische Verfahren
Grundlagen
Ziel
Konstruktion einer Hierarchie von Clustern (Dendrogramm), so dass immer die Cluster mit minimaler Distanz verschmolzen werden
Dendrogrammein Baum, dessen Knoten jeweils ein Cluster repräsentieren, mit folgendenEigenschaften:
• die Wurzel repräsentiert die ganze DB
• die Blätter repräsentieren einzelne Objekte
• ein innerer Knoten repräsentiert einen Cluster bestehend aus allen Objekten des darunter liegenden Teilbaums
2
Hierarchische Verfahren
Grundlagen
Beispiel eines Dendrogramms
Typen von hierarchischen Verfahren• Bottom-Up Konstruktion des Dendrogramms (agglomerative)
• Top-Down Konstruktion des Dendrogramms (divisive)
1
1
5
5
132 4
65
78 9
1 2 3 4 5 6 7 8 90
1
2
Distanz zwischenden Clustern
3
Single-Link und Varianten
Algorithmus Single-Link [Jain & Dubes 1988]
Agglomeratives hierarchisches Clustering
1. Bilde initiale Cluster, die jeweils aus einem Objekt bestehen, und bestimme die Distanzen zwischen allen Paaren dieser Cluster.
2. Bilde einen neuen Cluster aus den zwei Clustern, welche die geringste Distanz zueinander haben.
3. Bestimme die Distanz zwischen dem neuen Cluster und allen anderen Clustern.
4. Wenn alle Objekte in einem einzigen Cluster befinden: Fertig, andernfalls wiederhole ab Schritt 2.
4
Single-Link und Varianten
Distanzfunktionen für Cluster
• Sei eine Distanzfunktion dist(x,y) für Paare von Objekten gegeben.
• Seien X, Y Cluster, d.h. Mengen von Objekten.
Single-Link
Complete-Link
Average-Link
),(min),(,
yxdistYXdistslYyXx
),(max),(,
yxdistYXdistclYyXx
YyXx
yxdistYX
YXdistal,
),(||||
1),(
5
Single-Link und Varianten
Diskussion
+ erfordert keine Kenntnis der Anzahl k der Cluster
+ findet nicht nur ein flaches Clustering, sondern eine ganze Hierarchie
+ ein einzelnes Clustering kann aus dem Dendrogramm gewonnen werden, z.B. mit Hilfe eines horizontalen Schnitts durch das Dendrogramm
(erfordert aber wieder Anwendungswissen)
- Entscheidungen können nicht zurückgenommen werden
- Anfälligkeit gegenüber Rauschen (Single-Link) eine „Linie“ von Objekten kann zwei Cluster verbinden
- Ineffizienz Laufzeitkomplexität von mindestens O(n2) für n Objekte
6
Single-Link und Varianten
CURE [Guha, Rastogi & Shim 1998] • Motivation
• Repräsentation eines Clusters partitionierende Verfahren: ein Punkt hierarchische Verfahren: alle Punkte• CURE: Repräsentation eines Clusters durch c Repräsentanten• Entdecken nicht-konvexer Cluster• Vermeidung des Single-Link Effekts
7
Single-Link und Varianten
CURE [Guha, Rastogi & Shim 1998]Unterschiede zu Single Link
• Jedem Cluster, der genügend groß ist, werden c Repräsentanten zugeordnet
• Diese werden so gewählt, dass sie im Cluster gleichmäßig verteilt sind
• Dann werden die Punkte um einen Faktor zum Zentroiden hin verschoben
Folge: Anpassung an Form des Clusters ohne Single-Link-Effekt
• Außerdem arbeitet das hierarchische Verfahren nur auf einem Sample
• Nachträgliche Zuordnung der DB-Punkte zu den Clustern
8
Dichte-basiertes hierarchisches Clustering
Grundlagen [Ankerst, Breunig, Kriegel & Sander 1999]
• für einen konstanten MinPts-Wert sind dichte-basierte Cluster bzgl. eines kleineren vollständig in Clustern bzgl. eines größeren enthalten
• in einem DBSCAN-ähnlichen Durchlauf gleichzeitig das Clustering für verschiedene Dichte-Parameter bestimmen
zuerst die dichteren Teil-Cluster, dann den dünneren Rest-Cluster
• kein Dendrogramm, sondern eine auch noch bei sehr großen Datenmengen übersichtliche Darstellung der Cluster-Hierarchie
MinPts = 3C
C1C2
2 1
9
Dichte-basiertes hierarchisches Clustering
GrundbegriffeKerndistanz eines Objekts p bzgl. und MinPts
Erreichbarkeitsdistanz eines Objekts p relativ zu einem Objekt o
MinPts = 5
Kerndistanz oUNDEFINIERT wenn N o MinPts
MinPtsDistanz o sonstMinPts
, ( ), | ( )|
( ) ,
Erreichbarkeitsdistanz p oUNDEFINIERT wenn N o MinPts
Kerndistanz o dist o p sonstMinPts
, ( , ), | ( )|
max{ ( ), ( , )},
opq
Kerndistanz(o)
Erreichbarkeitsdistanz(p,o)
Erreichbarkeitsdistanz(q,o)
10
Dichte-basiertes hierarchisches Clustering
Clusterordnung
• OPTICS liefert nicht direkt ein (hierarchisches) Clustering, sondern eine „Clusterordnung“ bzgl. und MinPts
• Clusterordnung bzgl. und MinPts
– beginnt mit einem beliebigen Objekt
– als nächstes wird das Objekt besucht, das zur Menge der bisher besuchten Objekte die minimale Erreichbarkeitsdistanz besitzt
Core-distance
Reachability-distance 4
123 16 18
17
1
2
34
16 17
18
KerndistanzErreichbarkeits-distanz
Clusterordnung
11
Dichte-basiertes hierarchisches Clustering
Erreichbarkeits-Diagramm• Zeigt die Erreichbarkeitsdistanzen (bzgl. und MinPts) der Objekte als senkrechte, nebeneinanderliegende Balken
• in der durch die Clusterordnung der Objekte gegebenen Reihenfolge
Err
eich
bark
eits
dist
anz
Err
eich
bark
eits
dist
anz
Cluster-ordnung
Siehe externes Beispiel!!!
12
Dichte-basiertes hierarchisches Clustering
Parameter-Sensitivität
1
2
3
MinPts = 10, = 10
1 2 3
MinPts = 10, = 5 MinPts = 2, = 10
1 2 3
1 2 3
optimale Parameter kleineres kleineres MinPts
Clusterordnung ist robust gegenüber den Parameterwerten
gute Resultate wenn Parameterwerte „groß genug“
13
Dichte-basiertes hierarchisches Clustering
Heuristische Parameter-Bestimmung
• wähle größte MinPts-Distanz aus einem Sample oder
• berechne durchschnittliche MinPts-Distanz für gleichverteilte Daten
MinPts• glätte Erreichbarkeits-Diagramm
• vermeide “single-” bzw. “MinPts-link” Effekt
... ... ... ...
14
Dichte-basiertes hierarchisches Clustering
Manuelle Analyse der Cluster
Mit Erreichbarkeits-Diagramm• gibt es Cluster?
• wieviele Cluster?
• sind die Cluster hierarchisch geschachtelt?
• wie groß sind die Cluster?
Erreichbarkeits-Diagramm
15
Dichte-basiertes hierarchisches Clustering
Automatisches Entdecken von Clustern-Cluster• Teilsequenz der Clusterordnung
• beginnt in einem Gebiet -steil abfallender Erreichbarkeitsdistanzen
• endet in einem Gebiet -steil steigender Erreichbarkeitsdistanzen bei etwa demselben absoluten Wert
• enthält mindestens MinPts Punkte
Algorithmus• bestimmt alle -Cluster
• markiert die gefundenen Cluster im Erreichbarkeits-Diagramm
• Laufzeitaufwand O(n)
16
2.4 Clustering mit kategorischen Attributen
Grundlagen [Huang 1997]
• k-medoid-Algorithmus wesentlich langsamer als k-means- Algorithmus
• k-means-Verfahren nicht direkt für kategorische Attribute anwendbar
gesucht ist ein Analogon zum Centroid eines Clusters
• Numerische AttributeCentroid einer Menge C von Objekten minimiert
• Kategorische Attribute
Mode m einer einer Menge C von Objekten minimiert
( m ist nicht unbedingt ein Element der Menge C )
m = (m1, ..., md), dist eine Distanzfunktion für kategorische Attribute, z.B.
TD C x dist p xp C
( , ) ( , )x
TD C m dist p mp C
( , ) ( , )
dist x y x y mit x yfalls x y
sonsti i i i
i i
i
d
( , ) ( , ) ( , )
0
11
17
Clustering mit kategorischen Attributen
Bestimmung des Modes
• Die Funktion wird minimiert genau dann,
wenn für m = (m1, ..., md) und für alle Attribute Ai, i = 1,..., d, gilt:
es gibt in Ai keinen häufigeren Attributwert als mi
• Der Mode einer Menge von Objekten ist nicht eindeutig bestimmt.
• Beispiel
Objektmenge {(a, b), (a,c), (c, b), (b,c)}
(a, b) ist ein Mode
(a, c) ist ein Mode
TD C m dist p mp C
( , ) ( , )
18
Clustering mit kategorischen Attributen
Algorithmus k-modes
• Initialisierung
keine zufällige Partitionierung
sondern k Objekte aus der Datenmenge als initiale Modes
• Cluster-RepräsentantenMode anstelle des Centroids
• Distanzfunktionanstelle der quadrierten euklidischen Distanz
Distanzfunktion für Datensätze mit kategorischen Attributen
19
2.5 Outlier Detection
Motivation
Was ist ein Outlier?• Beim Clustering: Rauschen (alle Punkte, die zu keinem Cluster gehören)
• Generell : keine allgemein gültige und akzeptierte Definition
Beispiele:• Sport: Michael Jordon, Thomas "Icke" Häßler, ...
Probleme• Finden von n Outlier Objekten!
„One person‘s noise could be another person‘s signal.“
20
Motivation
Anwendungen:• Kreditkarten-Mißbrauch
• Telefonkunden-Betrug
• Medizinische Analyse
Definitionen:• Nach Hawkins (1980) : “Ein Outlier ist eine Beobachtung, die sich von den
anderen Beobachtungen so deutlich unterscheidet, daß man denken könnte, sie sei von einem anderen Mechanismus generiert worden.”
Outlier Detection
21
Identifikation von Outlier
Depth-based :• Jedes Objekt wird als ein Punk in einem d-Dimensionalen Raum betrachtet.
• Die Tiefe der Objekte wird berechnet.
• Outlier haben eine kleinere Tiefe als die anderen Objekte.
Outlier Detection
[PS 88]: Bilden von konvexen Hüllen
Theoretisch : => gut auch für hoch.dim. Daten
Praktisch : => ineffizient für d 4, da die konvexe Hülle berechnet werden muss.
22
Identifikation von Outlier
Distance-based : [Knorr, Ng 97]• Ein Objekt p in einem Datensatz D ist ein DB(pct,dmin)-Outlier (DB = distance-based), falls
mindestens pct - Prozent von Objekten aus D eine größere Distanz als dmin zu p haben.
- Wahl von pct und dmin wird
einem Experten überlassen.
Beispiel: p1 D, pct=0.95, dmin=8
DB(0.95,8) =>
95% von Objekten aus D habeneine Distanz > 8 zu p1
Outlier Detection
p1
dmin
p2
23
Outlier Detection
Identifikation von Outlier
Probleme mit DB(pct,dmin)-Outlier :
Sei q C1und NNPred(q) dmin
Welche Werte sollen pct und dmin
annehmen, so daß o2 ein Outlier ist,
nicht aber die Objekte des Cluster C2
(z.B. das Objekt q C1)?
C2
C1
o2
o1
q
24
Identifikation von Outlier
• Nicht nur binäre Eigenschaften für Outlier (Outlier? JA oder NEIN)
• Bei Clustern mit unterschiedlicher Dichte, können beim
distance-based - Ansatz Probleme auftreten ( DB(pct,dmin) ) „Globale“ Outlier vs. „lokale“ Outlier
Lösung : Density-based Local Outlier : [Breunig, Kriegel, Ng, Sander 2000]• Weise jedem Objekt einen Grad zu, zu dem das Objekt ein Outlier ist
Local Outlier Factor (LOF)
• Lokale Nachbarschaft von Objekten wird berücksichtigt
Outlier Detection
25
Grundlagen
• k-Distanz von p = dist(p,o), für jedes k, so dass gilt: (o D)(i) für mindestens k Objekte q D gilt : dist(p,q) dist(p,o)
(ii) für höchstens k-1 Objekte q D gilt : dist(p,q) < dist(p,o)
• k-Distanz - Nachbarschaft von p:
N k-distance(p) (p) = {qD \ {p}| dist(p,q) k-distance(p)}
• Erreichbarkeits-Distanz :
reach-distk(p,o) = max{k-distance(o),dist(p,o)}
Outlier Detection
26
Grundlagen
• Als Parameter nur MinPts
• Lokale Erreichbarkeits-Distanz von p:
• Local Outlier Factor von p (LOF):
• LOF (p) 1: Punkt liegt weit innen im Cluster
• LOF (p) >> 1: Punkt ist ein starker lokaler Outlier
Outlier Detection
27
Outlier Detection
Beispiele
Szenario:• Analysiere die Bewegung eines
Objektes (z.B. des Menschen) von
Punkt A zu Punkt B.
• Alarmiere Benutzer, falls sich das Objekt
nicht an vorgeschriebene Routen hält.
Andere Beispiele:• Erdbeben früh erkennen (Quakefinder)
- durch Satellitenbeobachtungen
• Vulkane auf Venus erkennen (JARtool)
[Knorr, Ng, Tucakov 2000]: Triclops