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