6. Data Mining

Werbung
6. Data Mining
Inhalt
§ 6.1 Motivation
§ 6.2 Klassifikation
§ 6.3 Clusteranalyse
§ 6.4 Asszoziationsanalyse
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
2
6.1 Motivation
§ Data Mining and Knowledge Discovery zielt darauf ab,
verwertbare Erkenntnisse (actionable insights) aus
verfügbaren Daten zu gewinnen
§ Überlappung mit dem Gebiet des maschinellen Lernens
(machine learning), wo jedoch die Vorhersagekraft,
anstelle von Einsichten, im Vordergrund steht
§ Begriff „Data Mining“ kam in den frühen 1990er Jahren
auf, verwendete Verfahren sind teilweise älter
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
3
Aufgaben (tasks)
§ Drei gängige Aufgaben (tasks) im Data Mining sind:
§ Klassifikation, d.h. Datenpunkte (z.B. Dokumente) und ihre
Klassen (z.B. Themen) sind bekannt; finde heraus, was
Datenpunkte einer bestimmten Klasse auszeichnet, um
so neue Datenpunkte klassifizieren zu können
§ Clusteranalyse, d.h. Datenpunkte (z.B. Dokumente) sind
bekannt; teile die Datenpunkte in (eine bestimmte Anzahl)
von homogenen Gruppen (cluster) ein
§ Mustererkennung, d.h. Daten (z.B. Einkäufe) sind bekannt;
finde darin Muster (z.B. häufig zusammen gekaufte Artikel)
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
4
6.2 Klassifikation
§ Datenpunkte (z.B. Dokumente) mit ihren Klassen (z.B.
Themen) sind gegeben; finde für neue Datenpunkte
die passende Klasse heraus
§ Drei Arten von Verfahren zur Klassifikation
§ distanzbasierte (z.B. k-Nächste-Nachbarn)
§ probabilistische (z.B. Naïve Bayes)
§ diskriminative (z.B. Entscheidungsbäume)
§ Verfahren unterscheiden sich u.a. darin, ob sie erklären
können, was eine bestimmte Klasse auszeichnet
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
5
Anwendungsbeispiele
§ Klassifikation von Zeitungsartikeln oder Blogposts
in Politik, Sport, Kultur, Reise und Auto
§ Klassifikation von E-Mails
in Spam und Nicht-Spam
§ Segmentierung von Kunden
in Schnäppchenjäger, Normalos und Luxusliebhaber
§ Produktempfehlungen für bestimmten Kunden durch
Klassifikation in Interessant und Nicht-Interessant
§ Handschrifterkennung auf Überweisungsträgern durch
Klassifikation der gescannten Zeichen in Klassen 0-9
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
6
6.2.1 k-Nächste Nachbarn
§ Klassifikation anhand der k nächsten Nachbarn ist ein
distanzbasiertes Verfahren, welches mehr als
zwei Klassen unterstützt
§ Idee: Neuer Datenpunkt wird klassifiziert, indem
§ die k nächsten Datenpunkte mit bekannter Klasse
gemäß geeignetem Distanzmaß bestimmt werden
§ die häufigste aus deren Klassen ausgewählt wird
§ Typische Werte für k sind {5, 10, 15, 25}; im Fall binärer
Klassifikation ist Wahl eines ungeraden Werts sinnvoll
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
7
Euklidische Distanz
§ Datenpunkte als Vektoren in m-dimensionalen Vektorraum
§ Euklidische Distanz (L2-Distanz) als Distanzmaß
zwischen zwei Vektoren xi und xj
ı̂ m
ıÿ !
"2
Ù
d(xi , xj ) =
x(i,k) ≠ x(j,k)
k=1
xi
d(xi, xj)
xj
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
8
Euklidische Distanz
§ Euklidische Distanz ist eine Metrik, d.h. es gelten
§ positive Definitheit
d(xi , xj ) Ø 0
§ Symmetrie
d(xi , xj ) = d(xj , xi )
§ Dreiecksungleichung
d(xi , xk ) Æ d(xi , xj ) + d(xj , xk )
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
9
k-Nächste Nachbarn
§ Beispiel: Autos mit Merkmalen Gewicht und Hubraum
§ Auto mit Gewicht 1000 kg
U.S.A.
Europa
Japan
6
und Hubraum 3L ist
7
sowie Merkmal Herkunft
4
1
2
3
Hubraum
5
zu klassifizieren
800
1000
1200
1400
1600
1800
2000
Gewicht
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
10
k-Nächste Nachbarn
7
k=3
6
U.S.A.
Europa
Japan
§ Auto wird als
4
1
2
3
klassifiziert
Hubraum
U.S.A.
5
Herkunft
800
1000
1200
1400
1600
1800
2000
Gewicht
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
11
k-Nächste Nachbarn
§ Die drei nächsten Nachbarn sind
§ x1 = (1080, 3.2)
4.0
§ x2 = (1190, 2.8)
U.S.A.
Europa
Japan
3.5
§ x3 = (900, 1.8)
2.5
x2
x3
1.5
2.0
§ d(x, x2) ≈ 190
§ d(x, x3) ≈ 100
1.0
§ d(x, x1) ≈ 180
Hubraum
§ x = (1000, 3)
x
3.0
§ Distanzen zu
x1
800
900
1000
1100
1200
1300
1400
Gewicht
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
12
k-Nächste Nachbarn
§ k-Nächste Nachbarn ist ein einfaches, aber robustes
Klassifikationsverfahren, das immer anwendbar ist,
wenn zwischen Datenpunkten ein sinnvolles
Distanzmaß definiert werden kann
§ Nachteile:
§ naïve Implementierung, d.h. Distanzberechnung zu allen
Datenpunkten aus den Trainingsdaten, ist rechenintensiv
(bessere Implementierungen verwenden Indexstrukturen)
§ geringe Interpretierbarkeit, d.h. keine Erkenntnisse
darüber, welche Eigenschaften die Datenpunkte
einer Klasse auszeichnen (z.B. viel Hubraum für U.S.A.)
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
13
6.2.2 Naïve Bayes
§ Naïve Bayes ist eine Familie von Klassifikationsverfahren,
die insbesondere zur Klassifikation von Textdokumenten
(z.B. E-Mails in Spam/Nicht-Spam) eingesetzt wird
§ Der Name Naïve Bayes rührt daher, dass die Verfahren
den Satz von Bayes für bedingte Wahrscheinlichkeiten
verwenden und eine (naïve) Unabhängigkeitsannahme
über die Verteilung der verwendeten Merkmale machen
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
14
Bedingte Wahrscheinlichkeit
§ Betrachte zwei Ereignisse A und B, z.B.
§ A ist das Ereignis, dass Objekt ein Kreis ist
§ B ist das Ereignis, dass Objekt grün ist
P [ A ] = 5/9
P [ B ] = 4/9
§ A
B ist das Ereignis, dass
ein grünes Kreis
gezogen wird
P [ A · B ] = 3/9
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
15
Bedingte Wahrscheinlichkeit
§ Bedingte Wahrscheinlichkeit P[ B | A ] (lies: B gegeben A)
ist die Wahrscheinlichkeit, dass Ereignis B eingetreten
ist, wenn wir wissen, dass Ereignis A eingetreten ist
P[A · B]
P[B | A] =
P[A]
hier:
P [ B | A ] = 3/5
P [ A | B ] = 3/4
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
16
Stochastische Unabhängigkeit
§ Zwei Ereignisse A und B heißen (stochastisch)
unabhängig, wenn gilt
P[A · B ] = P[A] · P[B ]
§ Bemerkung: Die beiden Ereignisse A und B im vorigen
Beispiel sind nicht (stochastisch) unabhängig
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
17
Satz von Bayes
§ Thomas Bayes (1701–1761) formulierte
folgenden Satz zur Berechnung
bedingter Wahrscheinlichkeiten von
Ereignissen A und B
P[B | A] · P[A]
P[A | B] =
P[B]
Quelle: en.wikipedia.org
§ Satz von Bayes erlaubt das Umkehren der Schlussrichtung
und ist z.B. dann nützlich, wenn eines der Ereignisse
schwierig alleine zu beobachten
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
18
Satz von Bayes
§ Beispiel: Untersuchung von Wildtieren
§ Ereignis A soll sein, dass Wildtier ein Fuchs ist
§ Ereignis B soll sein, dass Wildtier an Tollwut erkrankt ist
§ Annahme: Beobachtete Wahrscheinlichkeiten seien
P [ A ] = 0.1
P [ B ] = 0.05
P [ A | B ] = 0.25
§ Wahrscheinlichkeit, dass Fuchs an Tollwut erkrankt ist
0.25 · 0.05
P[B | A] =
= 0.125
0.1
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
19
Naïve Bayes zur Klassifikation von Dokumenten
§ Dokumente (z.B. E-Mails oder Zeitungsartikel) werden
vorverarbeitet, z.B. indem Groß- und Kleinschreibung
entfernt wird und die Dokumente an Leerzeichen
in Wörter aufgeteilt werden
§ Jedes Dokument wird so in eine Multimenge von Wörtern
(bag of words) überführt, d.h. Reihenfolge der Wörter geht
verloren, ihre Häufigkeit bleibt jedoch erhalten
The green politician Peter Green
{ green, green, peter, politician, the }
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
20
Naïve Bayes zur Klassifikation von Dokumenten
§ Trainingsdaten stehen uns in Form von Dokumenten d
zur Verfügung, wobei wir für jedes die zugehörige
Klasse c (z.B. Spam / Nicht-Spam) kennen
§ Zur Klassifikation eines vorher unbekannten Dokuments d
bestimmt man die bedingten Wahrscheinlichkeiten
P[c | d]
und ordnet das Dokument in die Klasse mit der
höchsten bedingten Wahrscheinlichkeit ein
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
21
Naïve Bayes zur Klassifikation von Dokumenten
§ Wahrscheinlichkeiten der einzelnen Klassen lassen
sich auf Grundlage der Trainingsdaten schätzen als
# Dokumente in Klasse c
P[c] =
# Dokumente
§ Wahrscheinlichkeit, dass ein Wort w in einem Dokument
aus einer bestimmten Klasse c vorkommt, geschätzt als
# Vorkommen des Worts w in Dokumenten der Klasse c
P[w | c] =
# Wortvorkommen in Dokumenten in Klasse c
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
22
Naïve Bayes zur Klassifikation von Dokumenten
§ Wahrscheinlichkeit, dass vorher unbekanntes
Dokument d zur Klasse c gehört, geschätzt als
P[c | d] =
P[d | c] · P[c]
P[d]
dies kann vereinfacht werden, da nur die Klasse mit
maximaler bedingter Wahrscheinlichkeit bestimmt
werden muss, der Faktor P[d] jedoch für alle
Klassen gleich ist
P[c | d] Ã P[d | c] · P[c]
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
23
Naïve Bayes zur Klassifikation von Dokumenten
§ Wahrscheinlichkeit, dass Dokument d aus der Klasse c
stammt, schätzt man anhand der Wortvorkommen als
P[d | c] Ã
Ÿ
wœd
P[w | c]
f (w,d)
hierbei sei f(w, d) die Zahl der Vorkommen
des Worts w im Dokument d
§ Intuition: Dies entspricht der Wahrscheinlichkeit, dass das
Dokument d durch zufälliges Ziehen von Wörtern gemäß
der Wahrscheinlichkeiten P[w | c] zustande kommt
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
24
Beispiel Naïve Bayes
§ Folgende Dokumente mit Klassen N/S als Trainingsdaten
d1
d2
d3
d4
d5
a
b
x
y
2
0
2
1
1
1
1
1
0
1
0
2
1
2
0
0
2
1
2
0
N
S
N
S
N
§ Wahrscheinlichkeiten der Klassen N und S
P [ N ] = 3/5
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
P [ S ] = 2/5
25
Beispiel Naïve Bayes
§ Folgende Dokumente mit Klassen N/S als Trainingsdaten
d1
d2
d3
d4
d5
a
b
x
y
2
0
2
1
1
1
1
1
0
1
0
2
1
2
0
0
2
1
2
0
N
S
N
S
N
§ Wahrscheinlichkeiten der Wörter a, b, x und y je Klasse
P [ a | N ] = 5/10
P [ b | N ] = 3/10
P [ x | N ] = 1/10
P [ y | N ] = 1/10
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
P [ a | S ] = 1/10
P [ b | S ] = 1/10
P [ x | S ] = 4/10
P [ y | S ] = 4/10
26
Beispiel Naïve Bayes
§ Klassifikation des vorher unbekannten Dokuments d6
d6
P [ N | d6 ] =
=
P [ S | d6 ] =
=
a
b
x
y
2
2
1
1
?
P [ d6 | N ] · P [ N ]
3
4
5 5 3 3 1 1
3
·
·
·
·
·
· = 135/106
10 10 10 10 10 10
5
P [ d6 | S ] · P [ S ]
3
4
1 1 1 1 4 4
2
·
·
·
·
·
· = 6.4/106
10 10 10 10 10 10
5
§ Das Dokument wird in die Klasse N eingeordnet
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
27
Rechnen mit kleinen Wahrscheinlichkeiten
§ Wie am Beispiel zu erkennen, werden die betrachteten
Wahrscheinlichkeiten sehr klein, was zu numerischen
Problemen (z.B. Abrunden zu Null) führen kann
§ Für eine Implementierung ist es daher ratsam, eine
Log-Transformation vorzunehmen
log P [ c | d ] Ã log P [ d | c ] + log P [ c ]
log P [ d | c ] Ã
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
ÿ
wœd
f (w, d) · log P [ w | c ]
28
Rechnen mit kleinen Wahrscheinlichkeiten
§ Die Logarithmus-Funktion ist monoton; da es nur gilt,
die maximale bedingte Wahrscheinlichkeit P[c | d] zu
ermitteln, ihr genauer Wert jedoch irrelevant ist,
ist eine solche Transformation zulässig
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
29
Zusammenfassung
§ Data Mining and Knowledge Discovery zielt darauf ab,
verwertbare Erkenntnisse aus Daten zu gewinnen
§ Klassifikation ordnet neue Datenpunkte in Klassen ein,
deren Charakteristika vorab anhand von Trainingsdaten
bestimmt wurden
§ k-Nächste Nachbarn als Klassifikationsverfahren
basierend auf der Distanz zwischen Datenpunkten
§ Naïve Bayes als probabilistisches Klassifikationsverfahren,
welches häufig zur Klassifikation von Texten eingesetzt wird
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
30
Literatur
[1]
C. D. Manning, P. Raghavan, H. Schütze:
Information Retrieval, Cambridge University Press, 2008
(Kapitel 14 & 16)
[2]
M. J. Zaki und W. Meira Jr.: Data Mining and Analysis,
Cambridge University Press, 2014 (Kapitel 18)
http://www.dataminingbook.info
Datenbanken & Informationssysteme / Kapitel 6: Data Mining
31
Herunterladen