Data Mining II Clustering und Outlier Detection Fachseminar Algorithmen in Datenbanksystemen – 17. 6. 2006 Ablauf i. Kurze Einführung in KDD, Data Mining ii. Clustering mit OPTICS iii.Outlier Detection mit dem LOF 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 2 Knowledge Discovery in Databases (KDD) [Fayyad, Piatetsky-Shapiro & Smyth, KDD, 96] “KDD ist der Prozess der (semi-)automatischen Extraktion von Wissen aus Datenbanken, das gültig, bisher unbekannt und potentiell nützlich ist” 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 3 Data Mining [Fayyad, Piatetsky-Shapiro & Smyth, KDD, 96] “Data Mining ist die Anwendung effizienter Algorithmen, die die in einer Datenbank enthaltenen Muster liefern” 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 4 Data Mining – Aufgaben Clustering Bilden von sinnvollen “Gruppen” Outlier Detection Finden von Ausreissern Klassifikation Assoziationsregeln 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 5 Ziel des Clustering Partitionierung des Datenbestandes in eine endliche Anzahl sinnvoller Gruppen (Cluster) 17. 6. 2006 Objekte innerhalb eines Clusters möglichst ähnlich Objekte verschiedener Cluster möglichst verschieden Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 6 Ziel des Clustering Partitionierung des Datenbestandes in eine endliche Anzahl sinnvoller Gruppen (Cluster) Objekte innerhalb eines Clusters möglichst ähnlich Objekte verschiedener Cluster möglichst verschieden C2 C1 C3 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II Bsp: - WebLog Analyse - Kundenkarten 7 Ziel der Outlier Detection Identifizierung von Ausreissern (Outlier) können keinem Cluster zugewiesen werden weichen signifikant ab von der Masse Bsp: - Betrugserkennung - Fehler/Fehlverhalten 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 8 Ablauf i. Kurze Einführung in KDD, Data Mining ii. Clustering mit OPTICS iii.Outlier Detection mit dem LOF 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 9 Ordering Points To Identify Clustering Structure Einteilung von Clustering-Verfahren Probleme Motivation Theoretische Grundlagen Algorithmus, Analyse der Ausgabe 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 10 Einteilung von Clustering-Verfahren Hierarchische Verfahren Baumstruktur Partitionierende Verfahren Flaches Clustering (k-means, k-medoid) optimierungsbasiert Dichtebasierte Verfahren 17. 6. 2006 Cluster als Region im Dataset, wo Daten “dichter” liegen OPTICS ist dichtebasiert Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 11 Probleme globaler Verfahren x1 x0 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 12 Probleme globaler Verfahren x1 B A C x0 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 13 Probleme globaler Verfahren x1 A' B' C' x0 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 14 Motivation Alle Clusterlevels => Lokale Verfahren Ergebnis weniger abhängig von Eingabeparams Ausgabe/Ergebnis einfach analysierbar 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 15 Definition 1: Kernobjekt Ein Objekt o є O heisst Kernobjekt, wenn gilt: |Nε(o)| ≥ MinPts, wobei Nε(o) = { o' є O | dist(o,o') ≤ ε } Definition 2: direkt dichte-erreichbar Ein Objekt p є O ist direkt dichte-erreichbar von Objekt q є O bzgl. ε und MinPts, wenn gilt: p є Nε(q) und q ist ein Kernobjekt in O. An die Wandtafel? 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 16 Definition 3: dichte-erreichbar Ein Objekt p ist dichte-erreichbar von Objekt q, wenn es eine Kette von direkt dichte-erreichbaren Objekten zwischen q und p gibt. 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 17 Definition 4: dichte-verbunden Zwei Objekte p und q sind dichte-verbunden, wenn sie beide von einem dritten Objekt o aus dichte-erreichbar sind. 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 18 Definition 5: Cluster und Noise Sei O ein Set von Objekten. Ein Cluster C bzgl. ε und MinPts ist eine nichtleere Teilmenge von O, für die die folgenden Bedingungen erfüllt sind: Maximalität: Für alle p,q є O: wenn p є C und q dichteerreichbar von p ist, dann ist auch q є C. Verbundenheit: Für alle p,q є C: p ist dichte-verbunden mit q. Jedes Objekt, das nicht in einem Cluster enthalten ist, ist Noise. 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 19 Definition 6: Erreichbarkeitsdistanz Seien p und o Objekte einer Datenbank D, Nε (o) die ε- Umgebung von o, MinPts eine natürliche Zahl. Dann ist die Erreichbarkeitsdistanz von p bezüglich o definiert als Erreichbarkeitsdistanzε,MinPts(p, o) = - UNDEFINED, falls |Nε (o)| < MinPts - max{ Kerndistanz(o), Distanz(o,p) } sonst 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 20 Erreichbarkeitsdistanz etwas anschaulicher... ed(p): Erreichbarkeitsdistanz(p,q) Kern(q): Kerndistanz(q) p1 ed(p1) q ε Hier: MinPts = 4 Kern(q) ed(p2) p2 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 21 Der Algorithmus – Main Loop OPTICS( SetOfObjects, e, MinPts, OrderedFile ) OrderedFile.open(); FOR i FROM 1 TO SetOfObjects.size() DO Object := SetOfObjects.get(i); IF NOT Object.Processed THEN ExpandClusterOrder( SetOfObjects, Object, e, MinPts, OrderedFile ); END END OrderedFile.close(); END 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 22 Der Algorithmus – ExpandClusterOrder ExpandClusterOrder( SetOfObjects, Object, e, MinPts, OrderedFile ) neighbors := SetOfObjects.neighbors( Object, e ); Object.Processed := TRUE; Object.reachability_distance := UNDEFINED; Object.setCoreDistance( neighbors, e, MinPts ); Priority Queue, OrderedFile.write( Object ); aufsteigend geordnet IF Object.core_distance <> UNDEFINED THEN nach Erreichbarkeit OrderSeeds.update( neighbors, Object ); WHILE NOT OrderSeeds.empty() DO currentObject := OrderSeeds.next(); neighbors:=SetOfObjects.neighbors( currentObject, e ); currentObject.Processed := TRUE; currentObject.setCoreDistance( neighbors, e, MinPts ); OrderedFile.write( currentObject ); IF currentObject.core_distance <> UNDEFINED THEN OrderSeeds.update( neighbors, currentObject ); END END END Selbt ein END Kernobjekt? 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 23 Der Algorithmus – Laufzeit Grundsätzlich: O( n*[ Laufzeit Abfrage ε-Umgebung ] ) 17. 6. 2006 Ohne Index => O( n2 ) Treebasierte spatiale Indexe => O( n*log(n) ) Gridstruktur mit konstantem Zugriff => O( n ) Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 24 Analyse der Ausgabe – Erreichbarkeitsplots 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 25 Einfluss der Parameter ε und MinPts 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 26 Erreichbarkeitsplots – Interpretation 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 27 OPTICS – Zusammenfassung Lokales, dichtebasiert Verfahren Alle Clusterlevel bis zu einer Distanz ε Keine explizite Clusterzuordnung Erstellt ein Cluster-Ordering nach Erreichbarkeiten Ausgabe einfach zu interpretieren Gute Basis für interaktive und automatische Clusteranalyse Problem mit hochdimensionalen Daten bleibt 17. 6. 2006 Basiert auf räumlichen Gebietsabfragen Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 28 Ablauf i. Kurze Einführung in KDD, Data Mining ii. Clustering mit OPTICS iii.Outlier Detection mit dem LOF 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 29 Local Outlier Factor Was sind Outlier? Einteilung von Outlier-Verfahren Probleme Theoretische Grundlagen Experiment 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 30 Was ist ein Outlier? [Hawkins: “Identification of Outliers”, 1980] “An outlier is an observation that deviates so much from other observations as to arouse suspicion that it was generated by a different mechanism.” 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 31 Einteilung von Outlier-Verfahren Distribution-basiert Outlier gemäss zu wählender Standardverteilung Problem: Verteilung selten bekannt Depth-basiert Datenobjekt als Punkt in k-dimensionalem Raum Problem: Berechnung konvexer Hülle Distance-basiert 17. 6. 2006 Entfernung zwischen Datenpunkt und Cluster Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 32 Probleme bestehender Verfahren [Knorr, Ng] formalisierten 1998 die Hawkins-Definition: DB( pct, dmin )-Outlier Ein Objekt p in einer Datenmenge D ist ein DB(pct,dmin)Outlier (DB=distance-basiert), falls mindestens pct Prozent der Objekte aus D eine grössere Distanz als dmin zu p aufweisen. 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 33 Probleme bestehender Verfahren Annahmen: - |C1| = 400; |C2| = 100 - für alle Objekte q in C1 gilt: die Distanz zwischen q und seinem NN > d(o2,C2) Hawkins: o1 und o2 sind Outlier. => Aber für DB(pct,dmin) gilt das nicht! 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 34 Motivation Globale Sicht problematisch => Lokale Verfahren => Dichtebasierte Verfahren Bis jetzt: Outlier binäre Eigenschaft => graduelle Zuweisung 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 35 Definition 1: k-Distanz eines Objektes p Für jede natürliche Zahl k ist die k-Distanz eines Objekts p kDistanz(p) definiert als die Distanz d(p,o) zwischen p und einem Objekt o є D, so dass gilt: 1) für mindestens k Objekte o' є D\{p} gilt: d(p,o') ≤ d(p,o) und 2) für maximal k-1 Objekte o' є D\{p} gilt: d(p,o') < d(p,o) o1 o2 3-Distanz(p) p o3 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 36 Definition 2: k-Distanz Umgebung eines Objektes p Gegeben sei die k-Distanz von p, dann enthält die k-Distanz Umgebung von p alle Objekte, deren Distanz von p nicht grösser ist als die k-Distanz, also: Nk-Distanz(p)(p) = { q є D\{p} | d(p,q) ≤ k-Distanz(p) } Diese Objekte q werden k-nearest neighbors von p genannt. o1 o2 3-Distanz(p) p o3 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 37 Definition 3: Erreichbarkeitsdistanz von p bezgl q Sei k eine natürliche Zahl. Die Erreichbarkeitsdistanz eines Objekts p bezüglich eines Objekts q ist definiert als: Erreichbarkeitsdistanzk(p,o) = max{ k-Distanz(o), d(p,o) } Erreichbarkeitsdistanz(p,o1) = k-Distanz(p) o1 p Erreichbarkeitsdistanz(p,o2) = d(p,o2) o2 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 38 Definition 4: Lokale Erreichbarkeitsdichte von p Die Lokale Erreichbarkeitsdichte eines Objekts p ist definiert als: => lrdMinPts(p) ist die Inverse der durchschnittlichen Erreichbarkeitsdistanz bzgl der MinPts nearest neighbors von p 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 39 Definition 5: Lokaler Outlier Faktor eines Objekts p Der Lokale Outlier Faktor (LOF) eines Objekts p ist definiert als: Der LOF ist der Durchschnitt des Verhältnisses der lokalen Erreichbarkeitsdichte von p und den lokalen Erreichbarkeitsdichten von den MinPts nearest neighbors von p. => Für Objekte tief im Innern eines Clusters ist der LOF ~1 => Der LOF wird gross, wenn die lokale Erreichbarkeitsdichte von p klein ist, während die lokalen Erreichbarkeitsdichten der MinPts nearest neighbors von p hoch sind; "je mehr Outlier, je grösser der LOF" 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 40 Der Parameter MinPts MinPts-Bereich Tests haben gezeigt, dass es sich lohnt, einen ganzen Bereich von MinPts-Werten abzudecken LOF(p) = max{ LOFMinPts(p) | MinPtsLB ≤ MinPts ≤ MinPtsUB } 17. 6. 2006 MinPtsLB, MinPtsUB werden dabei heuristisch bestimmt Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 41 Laufzeit Im Paper: 2-Stufen-Algorithmus 1) MinPtsUB nearest neighbors für jedes p, zusammen mit ihren Distanzen zu p • Eingabe: DB D der Grösse n, MinPtsUB • Ausgabe: DB M der Grösse n*MinPtsUB • Komplexität: O(n*[time for a k-nn query]) ➔ O(n) bei kleindimensionalen Daten und einem gridbasierten Ansatz ➔ O(n*log(n)) ➔ O(n2) bei hochdimensionalen Daten ohne Index 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 42 Laufzeit 2) Berechnung LOF • Eingabe: DB M M wird 2x gescannt a) Beim ersten Scan werden die lokalen Erreichbarkeitsdichten für jedes Objekt berechnet b) Beim zweiten Scan werden die LOF-Werte • Ausgabe: LOF-Werte für jedes Objekt • Komplexität: O(n) 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 43 Experiment – 1. Bundesliga 1998/99 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 44 LOF – Zusammenfassung Lokale, dichtebasierte Sichtweise Outlier-Eigenschaft nicht binär LOF für Objekte “tief” im Cluster ~1 Problem mit hochdimensionalen Daten bleibt 17. 6. 2006 Basiert auf räumlichen Gebietsabfragen Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 45 Diskussion... 17. 6. 2006 Fachseminar Algorithmen in Datenbanksystemen – Data Mining II 46