17.6.2006 - id.ethz.ch

Werbung
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
Herunterladen