270 likes | 412 Views
2.3 Hierarchische Verfahren. Grundlagen Ziel Konstruktion einer Hierarchie von Clustern ( Dendrogramm ), so dass immer die Cluster mit minimaler Distanz verschmolzen werden Dendrogramm ein Baum, dessen Knoten jeweils ein Cluster repräsentieren, mit folgenden Eigenschaften:
E N D
2.3 Hierarchische Verfahren • Grundlagen • Ziel • Konstruktion einer Hierarchie von Clustern (Dendrogramm), so dass immer die Cluster mit minimaler Distanz verschmolzen werden • Dendrogramm • ein Baum, dessen Knoten jeweils ein Cluster repräsentieren, mit folgenden • Eigenschaften: • 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
Hierarchische Verfahren • Grundlagen • Beispiel eines Dendrogramms • Typen von hierarchischen Verfahren • Bottom-Up Konstruktion des Dendrogramms (agglomerative) • Top-Down Konstruktion des Dendrogramms (divisive) Distanz zwischen den Clustern
Single-Link und Varianten • AlgorithmusSingle-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.
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
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
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
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 a 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
Dichte-basiertes hierarchisches Clustering • Grundlagen[Ankerst, Breunig, Kriegel & Sander 1999] • für einen konstanten MinPts-Wert sind dichte-basierte Cluster bzgl. eines kleineren e vollständig in Clustern bzgl. eines größeren e 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
q p e o Dichte-basiertes hierarchisches Clustering • Grundbegriffe • Kerndistanz eines Objekts p bzgl. e und MinPts • Erreichbarkeitsdistanz eines Objekts p relativ zu einem Objekt o • MinPts = 5 Kerndistanz(o) Erreichbarkeitsdistanz(p,o) Erreichbarkeitsdistanz(q,o)
Kerndistanz Erreichbarkeits- distanz Clusterordnung Dichte-basiertes hierarchisches Clustering • Clusterordnung • OPTICS liefert nicht direkt ein (hierarchisches) Clustering, sondern eine „Clusterordnung“ bzgl. e und MinPts • Clusterordnung bzgl. e 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
Erreichbarkeitsdistanz Erreichbarkeitsdistanz Cluster- ordnung Dichte-basiertes hierarchisches Clustering • Erreichbarkeits-Diagramm • Zeigt die Erreichbarkeitsdistanzen (bzgl. e und MinPts) der Objekte • als senkrechte, nebeneinanderliegende Balken • in der durch die Clusterordnung der Objekte gegebenen Reihenfolge Siehe externes Beispiel!!!
1 3 2 MinPts = 2, e = 10 MinPts = 10, e = 5 MinPts = 10, e = 10 1 3 2 3 1 2 2 3 1 Dichte-basiertes hierarchisches Clustering • Parameter-Sensitivität • optimale Parameter kleineres e kleineres MinPts • Clusterordnung istrobust gegenüber den Parameterwerten • gute Resultate wenn Parameterwerte „groß genug“
... ... ... ... Dichte-basiertes hierarchisches Clustering • Heuristische Parameter-Bestimmung • e • 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
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
Dichte-basiertes hierarchisches Clustering • Automatisches Entdecken von Clustern • x-Cluster • Teilsequenz der Clusterordnung • beginnt in einem Gebiet x-steil abfallender Erreichbarkeitsdistanzen • endet in einem Gebiet x-steil steigender Erreichbarkeitsdistanzen bei etwa demselben absoluten Wert • enthält mindestens MinPts Punkte • Algorithmus • bestimmt alle x-Cluster • markiert die gefundenen Cluster im Erreichbarkeits-Diagramm • Laufzeitaufwand O(n)
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 Attribute Centroid 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.
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
Clustering mit kategorischen Attributen • Algorithmus k-modes • Initialisierung • keine zufällige Partitionierung • sondern k Objekte aus der Datenmenge als initiale Modes • Cluster-Repräsentanten • Mode anstelle des Centroids • Distanzfunktion • anstelle der quadrierten euklidischen Distanz • Distanzfunktion für Datensätze mit kategorischen Attributen
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.“
Outlier Detection • 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 • 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. • Theoretisch : => gut auch für hoch.dim. Daten Praktisch : => ineffizient für d 4, da die konvexe Hülle berechnet werden muss. [PS 88]: Bilden von konvexen Hüllen
p1 dmin p2 Outlier Detection • Identifikation von Outlier • Distance-based : [Knorr, Ng 97] • Ein Objektp 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 haben eine Distanz > 8 zu p1
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)? q
Outlier Detection • 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 • 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 • 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 • 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