Data Mining - TU Ilmenau

Werbung
Data Mining
Vorlesung
Stand 14.04.2013
apl. Prof. Dr.-Ing. habil.
Rainer Knauf
Fachgebiet Künstliche Intelligenz
Fakultät für Informatik und Automatisierung
Technische Universität Ilmenau
[email protected]
Zuse-Bau, Raum 3061 (Sekretariat: 3060)
Tel. 03677-69-1445, 0361-3733867, 0172-9418642
1
0. Einführung
Motivation



In großen Datenmengen liegen oftmals “versteckte” Informationen
Manuelle Analyse verschlingt Unmassen von Ressourcen (Zeit, Geld, …)
Viele Datenbestände wurden (noch) nicht analysiert
 Data Mining, d.h.


Extraktion impliziter, bislang unbekannter, potentiell nützlicher
Information aus Datenbeständen
Automatische Erkundung und Analyse großer Datenmengen zwecks
Aufdeckung von Mustern
2
1
Der evolutionäre Stufenprozess
der Modellbildung
Business Understanding
 Projektziele
 Projektanforderungen
Deployment
Data Understanding
 Interpretation der Modelle
 Realisierung der Projektziele
Ist die Qualität der Daten
hinreichend für diese Ziele?
Data
Evaluation
a) bzgl. der Testdaten
b) bzgl. der Projektziele
Data Preparation
 Auswahl relevanter Attribute
 Verknüpfung von Datenquellen
 Umgang mit fehlenden Daten
Modeling
Auswahl & Anwendung konkreter
Verfahren des Data Mining
3
The Aim of the Game
 Abstrakte Informationen (Muster, Korrelationen, …) in großen Datenmengen
erkennen
 Modelle bilden, welche Regularitäten, Zusammenhänge, … in großen
Datenmengen erklären
=
Data
0010110110
1101100011
0010011010
0100110011
1001100110
0100100111
0110111000
1100010001
1011101010
0100110011
1010100011
1100110011
10011111
001001
1011
01
„Knowledge Discovery in Databases“
Data
Preprocessing
 Attributauswahl
 Reduzierung
der
Dimensionen
 Normalisierung
 Auswahl von
Subsets aus
Daten
 …
Data
Mining
Data
Postprocessing
 Erkennung von
Mustern
 Visualisierung
 Interpretation
der Muster
 …
Knowledge
4
2
Anwendungsbereiche
Wirtschaft
 Analyse des Kaufverhaltens, Datenerhebung z.B. mit Kundenkarten
Medizin
 Erkennung von Symptomen für pathologische Erscheinungen
 empirische Ermittlung der Wirkung von Medikamenten
Staat
 Aufdeckung von Korruption und Steuerhinterziehung durch Analyse von
Geldströmen
 Analyse von Bevölkerungs- und Einwanderungsdaten zur Terrorabwehr
Wissenschaft
 Interpretation von Geodaten zur Vorhersage von Naturkatastrophen
 Erkennen genetischer Muster für krankhafte Veranlagungen
Energieversorgung, Transport, Mobilkommunikation, …
 Ermittlung des typischen Kundenverhaltens zum Ressourcen-Management
 Ermittlung des typischen Kundenverhaltens in außergewöhnlichen
Situationen (Stromausfall, Naturkatastrophe, ...)
5
Typische Aufgabenklassen
Vorhersagemodelle
 Vorhersage eines Attribut-Wertes auf der Grundlage anderer Attribut-Werte
durch
 Klassifikation (diskrete Werte)
 Regression (kontinuierliche Werte)
Analyse von Assoziationen
 Erkennung von assoziierten Eigenschaften in den Daten (häufig zusammen
besuchten Webseiten, häufig gemeinsam gekaufte Waren, …)
Cluster Analyse
 Partitionierung der Daten in Cluster mit ähnlichen Eigenschaften (ähnliches
Kaufverhalten von Kunden, ähnliches Lernverhalten, ähnliche Texte auf
Webseiten …)
Erkennung von Anomalien
 Identifizierung von Datenobjekten, die sich signifikant von den restlichen
unterscheiden und damit auf Anomalien hinweisen:
 Krankheiten
 technische Fehler (in einem Netzwerk z.B.)
 Betrug (Kreditkartendaten, Bankgeschäfte, Versicherungsbetrug, …)
 bevorstehende Naturkatastrophen (Klimadaten), …
6
3
1. Daten
1.1 Arten von Daten
Datensatz: Menge von Datenobjekten DS := {DO1, DO2, …, DOn}
Datenobjekt: beschrieben durch Attribut-Wert Paare DOi:= {[Ai1,Wi1],[Ai2,Wi2], …}


Beispiel: Datensatz Prüfungsergebnisse Studierender der Tokyo Denki University
student ID
semester
units
rating
DO1
SIE0019
1
Curriculum Planning
1
A
DO2
SIE0019
1
Workshop
1
S
DO3
SIE0019
1
Speaking & Writing in English Ι
2
B
DO4
SIE0019
1
Basic Mathematics A
3
A
DO5
SIE0019
1
European, American, and Asian Studies
4
S
DO6
SIE0019
1
Architectural Design Practice
4
A
…
…
…
…
…
DO41
SIE0019
7
Chinese I
2
C
DO42
SIE0019
7
Course Project A
4
A
DO43
SIE0019
7
Electronics B
4
A
DO44
SIE0020
1
Curriculum Planning
1
A
DO45
SIE0020
1
Computer Literacy
2
A
…
…
…
…
…
…
…
course
7
Eigenschaften von Attribut-Werten
Attribut-Typen klassifiziert man bzgl.:
 Unterscheidbarkeit:
= 
 Ordenbarkeit:
≤ ≥
 Addierbarkeit:
+  Multiplizierbarkeit:
*/
qualitativ
quantitativ
unterscheidbar
ordenbar
addierbar
multiplizierbar
nominale
Attribute
+
-
-
-
ordinale
Attribute
+
+
-
-
IntervallAttribute
+
+
+
-
rationale
Attribute
+
+
+
+
8
4
Attribut - Typen
Quantitativ
Qualitativ
Attribut-Typ
Beschreibung
nominal aufzählbare Werte
ordinal
aufzählbare Werte mit
Ordnungsrelation
Operationen
Beispiele
=, ≠
Postleitzahlen, StudentenMatrikelnummer,
Augenfarbe, Kodierungen
obige, Noten (1,..5, S, A, ...,E),
verbale Beschreibungen
≤, ≥
quantitativer Merkmale
<, >
(hart, mittel, weich),
Intervall numerische Werte, bei denen
Summen und Differenzen eine
Interpretation haben
obige, Temperatur in °C oder °F,
Kalenderdaten
+, -
rational numerische Werte, bei denen
(neben Summen und
Differenzen) auch Produkt und
Quotienten eine Interpretation
haben
obige, Temperatur in K, Länge,
Gewicht, Alter,
/, *
Geldsummen, elektr.
Spannung, …
9
Legale Attributwert-Transformationen
Transformation
Beispiel, Kommentar
Nominal
Eineindeutige Abbildungen neuer
Werte zu alten Werten
Neukodierung
Ordinal
Reihenfolge-erhaltende
Zuordnung neuer Werte zu alten
Werten
NeuerWert := f (AlterWert)
f: monotone Funktion
Umrechnung eines
arithmetischen
Notendurchschnitts in eine
verbale
Leistungsbewertung („sehr
gut“, „gut“, …)
Quantitativ
Qualitativ
Attribut-Typ
Intervall NeuerWert := a * AlterWert + b
a, b: Konstanten
Rational
NeuerWert := a * AlterWert
a: Konstante
Umrechnung von
Fahrenheit in Celsius
Umrechnung von Zoll in cm
10
5
Diskrete und kontinuierliche Attribute
Diskrete Attribute
 haben eine Menge aufzählbarer
Werte
 werden meist als integer-Variablen
repräsentiert
 binäre Attribute sind ein Spezialfall
diskreter Attribute
 Beispiele:
 Postleitzahlen
 Menge der Wörter eines
Dokuments
Kontinuierliche Attribute
 haben reelle Zahlen als
Wertebereich
 können allerdings nur mit einer
endlichen Anzahl von Ziffern
repräsentiert werden
 werden typischerweise als
Gleitkommazahl repräsentiert
 Beispiele:
 Temperatur
 Länge
 Gewicht
11
Asymmetrische
Attribute
Ein Attribut heißt asymmetrisch, wenn für
selbiges nur Werte verschieden von Null
von Interesse sind.
‘n Beispiel
 In einem Datensatz sei jedes Datenobjekt ein Student (ähnlich wie in
Folie 8) und jedes Attribut erfasst, ob ein Student einen bestimmten Kurs
belegt hat.
 Attribute dieser Art sind von Natur aus binär: ja oder nein, hier kodiert
mit 1 (ja) oder 0 (nein).
 Wollte man für jeden Studenten alle Kurse der Universität erfassen
(auch solche Kurse erfassen, die er nicht belegt hat), wären bei allen
Studenten die meisten Attribut-Werte Null.
 Dies ist nicht nur sehr ineffizient, sondern könnte auch dazu führen, dass
bei einigen Ähnlichkeitsmaßen alle Studenten als sehr ähnlich betrachtet
werden.
 Für dieses Attribut sind nur Werte ≠ 0 von Interesse.
12
6
1.2 Ähnlichkeitsmaße
1.2.1 Ähnlichkeit zwischen Attributen
s(x,y)
d(x,y)
Ähnlichkeit (similarity):
Verschiedenheit (dissimilarity):
denkbare Ansätze für Attributwerte x und y
Attribut-Typ
Verschiedenheit
(dissimilarity)
nominal
(Aufzählungstyp ohne
Ordnungsrelation)
0 , if x  y
d 
1 , if x  y
ordinal
(Aufzählungstyp mit
Ordnungsrelation)
n Werte, abgebildet auf
ganze Zahlen 0, 1, …, n-1
d
rational
Intervall
| x y|
n 1
Ähnlichkeit
(similarity)
1 , if x  y
s
0 , if x  y
s  1 d
1
s  e d
1 d
d  min_ d
s  1
max_ d  min_ d 13
s  d s 
d | x  y |
Ähnlichkeitsmaße zwischen Datenobjekten x=[x1, …, xn] und y=[y1, …, yn]
1.2.2
Ähnlichkeit (similarity):
Verschiedenheit, Abstand (dissimilarity):
s(x,y)
d(x,y)
Anforderung an Ähnlichkeitsmaße



d ist nicht negativ
•
∀x,y: d(x,y) ≥ 0
d und s sind symmetrisch
•
d(x,y) = d(y,x)
•

s(x,y) = s(y,x)
Dreiecks-Ungleichung für Abstände
d(x,z) ≤ d(x,y) + d(y,z)
bei Identität gilt
•
•
d(x,y)=0 gdw. x=y
s(x,y)=1 gdw. x=y
14
7
Ansätze für Verschiedenheit (Abstand) zwischen [x1, …, xn] und [y1, …, yn]
Minkowski Distance (Verallgemeinerung der Euclidean Distance)
1
n
r r
d ( x, y )  (  | x  y | )
k
k
k 1
Typischerweise verwendete Spezialfälle
 r = 1 Manhatten (city block) Distance (L1 norm)
für bin. Attribute auch Hamming Distance genannt
 Summe der Abstände aller Dimensionen 1 … n
 misst für binäre Attribute die Anzahl der Bits, die verschieden sind
 r = 2 Euclidian Distance (L2 norm)
 für numerische Attribute (ordinal oder rational)
 misst den geometrischen Abstand der Punkte im n - dim. Euklidischen Raum
 Normalisierung u.U. nötig, wenn die Dimensionen verschiedene Wertebereiche
haben (z.B. zum fairen Vergleich verschieden langer Dokumente in einer
Dokument-Term Matrix)
 r → ∞ Supremum (L∞ norm)
 ist die größte aller Differenzen in den einzelnen Dimensionen 1 … n:
d(x,y)=maxk=1…n |xk- yk|
15
Verschiedenheit (Abstand) zwischen [x1, …, xn] und [y1, …, yn] an Beispielen
x
0
2
3
5
Punkt
p1
p2
p3
p4
y
2
0
1
1
3
p1
2
p3
p4
1
p2
0
0
1
2
3
4
5
6
L1
p1
p2
p3
p4
p1
p2
p3
p4
0
4
4
6
4
0
2
4
4
2
0
2
6
4
2
0
L2
p1
p2
p3
p4
p1
p2
p3
p4
0
2,828
3,162
5,099
2,828
0
1,414
3,162
3,162
1,414
0
2
5,099
3,162
2
0
L∞
p1
p2
p3
p4
p1
p2
p3
p4
0
2
3
5
2
0
1
3
3
1
0
2
5
3
2
0
16
8
(xi, yi  {0,1} )
Ähnlichkeit binärer Objekte [x1, x2, …, xn] und [y1, y2, …, yn]




f00 : Anzahl von Attributen mit xi = 0 und yi = 0
f01 : Anzahl von Attributen mit xi = 0 und yi = 1
f10 : Anzahl von Attributen mit xi = 1 und yi = 0
f11 : Anzahl von Attributen mit xi = 1 und yi = 1
Ähnlichkeitsmaße

Simple Matching Coefficient SMC
SMC 
Anzahl gleichwertiger Attribute
f 00  f11

Anzahl aller Attribute
f 00  f 01  f10  f11
Nachteil:
Bei Objekten mit vielen 0-wertigen Attributen wären alle einander sehr ähnlich 

Jaccard Coefficient J
J
Anzahl 1 - wertiger Attribute in beiden Objekten
f11

Anzahl aller nicht 0 - wertiger Attribute beider Objekte f 01  f10  f11
17
Ähnlichkeitsmaße für Vektoren [x1, x2, …, xn] und [y1, y2, …, yn]
einfaches Matching
Kosinus-Koeffizient
n
n
sim( x, y )   xk yk
k 1
sim( x, y ) 
x
k 1
n
x
k 1


(1)
2
k
k
yk
n
*
y
k 1
2
k
nur solche Attribute gehen ein, bei  Kosinus des Winkels zwischen x und y
denen in x und y verschieden von 0
 cos(0) = 1
sind
für Vektoren gleicher Richtung
Attribute mit hohen Werten gehen
 cos(90°) = 0
stärker ein als andere
für orthogonale Vektoren
 cos(180°) = -1
für entgegengesetzt gerichtete
Vektoren
 wirkt als normalisierter
Korrelationskoeffizient
 entspricht für normalisierte Vektoren dem
einfachen Matching
18
9
Eigenschaften des einfachen Matching
Eigenschaft Verhalten
Winkel
je kleiner der Winkel zwischen
zwei Vektoren gleicher
Euklidischer Länge, desto
größer der Ähnlichkeitswert
Länge
längerer Vektor hat größeren
oder gleichen Ähnlichkeitswert
Änderung
Verstärkung einzelner
einzelner
Komponenten:
Kompo Ähnlichkeitswert größer,
nenten
wenn die gleiche
Komponente im anderen
Vektor  0
 sonst gleich bleibend
Einfluss von beliebig hoher Ähnlichkeitswert
Einzeldurch Veränderung eines
kompoeinzelnen Wertes möglich
nenten
Wertebereich
0 ≤ sim(x,y) ≤ ∞
Bedeutung
Richtung („Thema“ beim Text-Mining)
dominiert das Maß
„The more, the better“
 Einzelwerte können
Ähnlichkeitswert dominieren
 Objekte, die in vielen Attributen
sehr unähnlich sind, können
trotzdem einen sehr hohen
Ähnlichkeitswert erhalten
es gibt kein Maximum, d.h. keinen
Begriff einer idealen Bewertung
19
Eigenschaften der einfachen Methode
Beispiel aus dem Text–Mining:
Vorkommen von Wörtern in Dokumenten {d1, d2, d3, d4, d5, d6}
d1 d2 d3 d4 d5 d6
Toyota
Honda
hybrid
Super
Diesel
Akku



1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
1
0
1
0
1
0
1
2
3
4
5
6
1
0
3
0
5
0
Einfache Übereinstimmung
d1 d2 d3 d4 d5 d6
- 6.0 12.0 3.0 21.0 9.0
d1
- 12.0 3.0 21.0 9.0
d2 6.0
- 6.0 42.0 18.0
d3 12.0 12.0
d4 3.0 3.0 6.0 - 9.0 9.0
- 35.0
d5 21.0 21.0 42.0 9.0
d6 9.0 9.0 18.0 9.0 35.0
Erhöhung der Häufigkeit eines Terms hat proportionalen Effekt auf Ähnlichkeitswert
des Dokuments
 Beispiel: sim(d1,d4) < sim(d1,d6)
Beiträge verschiedener Terme sind voneinander unabhängig
 hohe Werte für „Super“, „Diesel“ und „Akku“ in d5 sorgen für hohe
Ähnlichkeitswerte von d5
absurde Ergebnisse bei Anwendung auf nicht-normalisierte Vektoren
 Beispiel: sim(d1,d3) > sim(d1,d2), obwohl d1 und d2 identisch sind
20
10
Eigenschaften des Kosinus - Koeffizienten
Eigenschaft
Winkel
Verhalten
Länge
Änderung
einzelner
Komponenten
Einfluss der
Einzelkomponenten
Werte-bereich
Bedeutung
je kleiner der Winkel zwischen zwei
Vektoren, desto größer der
Ähnlichkeitswert
als Folge der Normalisierung keine
Veränderung des Ähnlichkeitswertes
bei Veränderung des Radius
Verstärkung einzelner Komponenten:
Ähnlichkeitswert
 wird größer, wenn dadurch der
Winkel zwischen den Vektoren
verkleinert wird
 wird kleiner, wenn dadurch der
Winkel zwischen den Vektoren
vergrößert wird
Ähnlichkeitsmaß bestimmt durch
Ähnlichkeit der Proportionen
(Verhältnis der Werte in den einzelnen
Vektoren)
Richtung (= „Thema“ beim
Text-Mining) dominiert
das Cos-Maß vollständig
es gibt ein Maximum, d.h.
einen Idealwert
0 ≤ sim(x,y) ≤ 1
21
Eigenschaften des Kosinus-Koeffizienten: Beispiele
d1 d2 d3 d4 d5 d6
Toyota
Honda
hybrid
Super
Diesel
Akku



1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
1
0
1
0
1
0
1
2
3
4
5
6
1
0
3
0
5
0
Kosinus - Koeffizient
d1
d2
d3
- 1.000 1.000
d1
- 1.000
d2 1.000
d3 1.000 1.000
d4 0.707 0.707 0.707
d5 0.898 0.898 0.898
d6 0.621 0.621 0.621
d4
0.707
0.707
0.707
0.544
0.878
d5
0.898
0.890
0.898
0.544
0.620
d6
0.621
0.621
0.621
0.878
0.620
-
Ähnlichkeitswert eines Dokuments wird allein durch sein „Thema“ (Relation der
Terme innerhalb des Dokuments) bestimmt
 Beispiel: sim(d1,d2) = sim(d1,d3)
Termgewichtsbeziehungen zwischen den in den Dokumenten vorkommenden
Termen werden möglicherweise ignoriert
 Beispiel: sim(d5,d1) > sim(d5,d6)
Nullwerte haben große Auswirkung auf das Ergebnis
 Beispiel: sim(d1,d5) > sim(d1,d6)
22
11
Ähnlichkeitsmaße für Vektoren [x1, x2, …, xn] und [y1, y2, …, yn]
(erweiterter Jaccard-Koeffizient)
Dice-Koeffizient
Tanimoto-Koeffizient
n
sim( x, y ) 
∑x
sim( x, y ) 
k 1
n
n
∑x  ∑y
k
k 1
Overlap-Koeffizient
n
2∑x k y k
n
∑x
k
k 1
 Einbeziehen des
Anteils gemeinsamer
Einträge:
• Summe
gemeinsamer
Einträgen ≠ 0,
relativ zu
• Summe aller
Einträge ≠ 0
 Multiplikation mit 2,
um Wertebereich
zwischen 0.0 und 1.0
zu erhalten (binäre
Vektoren)
2
k
k 1
n
n
k
∑ min(x
yk
sim( x, y ) 
n
 ∑y k - ∑x k y k
k 1
k 1
2
je weniger gemeinsame
Einträge ≠ 0, desto größer
der Nenner, desto kleiner
der Wert des Bruches
k
, yk )
k 1
n
n
k 1
k 1
min(∑x k , ∑y k )
k 1
 bestraft Vorhandensein einer
kleinen Anzahl gemeinsamer
Einträge stärker als DiceKoeffizient:
•
(2)
 Maß für Inklusion
 erreicht 1.0, wenn jede
Dimension ≠ 0 in X auch ≠ 0 in
Y, und umgekehrt (binäre
Vektoren)
 erreicht 1.0, wenn in einem
Vektor die Attribute aller
Dimensionen ≤ der des
anderen Vektors sind
sim(x,y)=1, if
i (xi  yi) or i (yi  xi)
23
Ähnlichkeitsmaße im Vergleich
d1 d2 d3 d4 d5 d6
Toyota
Honda
hybrid
Super
Diesel
Akku
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
1
0
1
0
1
0
1
2
3
4
5
6
Einfaches Matching
1
0
3
0
5
0
d1 d2 d3
d1
- 6.0 12.0
d2 6.0
- 12.0
d3 12.0 12.0
d4 3.0 3.0 6.0
d5 21.0 21.0 42.0
d6 9.0 9.0 18.0
d1
d2
d3
d4
d5
d6
1.000
1.333
0.666
1.555
1.200
d2
1.000
1.333
0.666
1.555
1.200
d3
1.333
1.333
0.800
2.545
1.714
d4
0.666
0.666
0.800
0.750
1.500
d5
1.555
1.555
2.545
0.750
2.333
d6
1.200
1.200
1.714
1.500
2.333
-
Tanimoto (erweiterter Jaccard)
d1
d1
d2
d3
d4
d5
d6
1.000
2.000
0.500
3.500
1.500
d5 d6
21.0 9.0
21.0 9.0
42.0 18.0
9.0 9.0
- 35.0
35.0
-
Kosinus
Dice
d1
d4
3.0
3.0
6.0
9.0
9.0
d2
1.000
2.000
0.500
3.500
1.500
d3
2.000
2.000
0.666
-4.66
6.000
d4
0.500
0.500
0.666
0.600
3.000
d5
3.500
3.500
-4.66
0.600
-7.00
d1
d1
d2
d3
d4
d5
d6
1.000
1.000
0.707
0.898
0.621
d2
1.000
1.000
0.707
0.898
0.621
d3
1.000
1.000
0.707
0.898
0.621
d4
0.707
0.707
0.707
0.544
0.878
d5
0.898
0.890
0.898
0.544
0.620
d6
0.621
0.621
0.621
0.878
0.620
-
d2
1.000
1.000
1.000
1.000
0.500
d3
1.000
1.000
1.000
0.916
0.555
d4
1.000
1.000
1.000
1.000
1.000
d5
1.000
1.000
0.916
1.000
1.000
d6
0.500
0.500
0.555
1.000
1.000
-
Overlap
d6
1.500
1.500
6.000
3.000
-7.00
-
d1
d1
d2
d3
d4
d5
d6
1.000
1.000
1.000
1.000
0.500
24
12
[  empirischer Korr.-Koeff. (n-1) → n ]
Korrelation (nach Pearson)


Grad der linearen (und dieser!) Abhängigkeit 2er Attribute
Wird typischerweise für Zeitreihen 2er Attribute verwendet, z.B.
•
monatliche Durchschnittstemperatur über ein Kalenderjahr
•
stündlich ermittelter Aktienkurs über einen Börsentag

-1 ≤ corr(x,y) ≤ +1
• corr(x,y) = -1
• corr(x,y) = 0
• corr(x,y) = +1
corr(x,y) 
 perfekte neg. lineare Abh.
 keine lineare Abh.
 perfekte pos. lineare Abh.
s
covarianz(x,y)
 xy
stdt_abw(x)  std_abw(y)
sx s y
1 n
 (xk -x)(yk -y)
n-1 k 1
1 n
1 n
(xk -x )2

 (yk -y)2
n-1 k 1
n-1 k 1
n

 (x -x)(y -y)
k 1
n
k
k
n
 (x -x)  (y -y)
k 1
2
k
k 1
Beispiele
x=[-3,6,0,3,-6]
y=[1,-2,0,-1,2]
 corr(x,y) = -1, denn y = - ⅓ x
x=[3,6,0,3,6]
y=[1,2,0,1,2]
 corr(x,y) = 1, denn y= ⅓ x
2
k
25
Korrelation
Beispiele: Streuungen bei Korrelationen zwischen -1 und 1
Autokorrelation
Korrelation zwischen
aufeinander folgenden
Intervallen innerhalb
einer Serie von
Messwerten.
Z.B. Korrelation zwischen
• stündlich
gemessenem
Temperaturverlauf
heute und
• stündlich
gemessenem
Temperaturverlauf
gestern
26
13
2. Klassifikation
gegeben
 Menge von Datenobjekten (DO) bekannter Klassenzugehörigkeit (Training Set)
 jedes DO besteht aus Attributen
 eines dieser Attribute ist die Klassenzugehörigkeit
gesucht
 Modell, welches die Klassenzugehörigkeit als Funktion der (anderen)
Attributwerte modelliert
Ziel
 Datenobjekte, deren Klassenzugehörigkeit unbekannt ist so korrekt wie möglich
klassifizieren
Evaluation des Modells
 Ein Test Set (mit gleichfalls bekannter Klassenzugehörigkeit) wird verwendet
 Üblicherweise wird die gegebene Datenmenge partitioniert in
• ein Training Set zur Modellbildung und
• ein Test Set zur Validierung des Modells
27
Training Set
id
Attribut1
Attribut2
LernAlgorithmus
Attribut3 Klasse
1
yes
large
125 k
no
2
no
medium
100 k
no
3
no
small
70 k
no
4
yes
medium
120 k
no
5
no
large
95 k
yes
6
no
medium
60 k
no
7
yes
large
220 k
no
8
no
small
85 k
yes
9
no
medium
75 k
no
10
no
small
90 k
yes
Induktion
Modell
lernen
Modell
Test Set
id
Attribut1
Attribut2
Attribut3
Klasse
11
no
small
55 k
?
12
yes
medium
80 k
?
13
yes
larg
110 k
?
14
no
small
95 k
?
15
no
large
67 k
?
Deduktion
Modell
anwenden
28
14
Klassifikations-Techniken






Entscheidungsbäume
Regelbasierte Methoden
Nearest-Neighbor (NN) Klassifikation
Bestimmung der wahrscheinlichsten Klassenzugehörigkeit nach Bayes
Support Vector Machines
Neuronale Netze
Evaluierung des Modells


Genauigkeit (Accuracy, Anteil der korrekten Ergebnisse im Test Set)
Fehlerrate (Error rate, Anteil der falschen Ergebnisse im Test Set)
für binäre Klassifikation
ermittelte Klasse
tatsächliche
Klasse
0
1
0
f00
f01
1
f10
f11
accuracy 
f 00  f11
f 00  f 01  f10  f11
error rate 
f 01  f10
f 00  f 01  f10  f11
29
2.1 Induktion von Entscheidungsbäumen
Hunt‘s Algorithmus
1. Falls alle DO zur gleichen Klasse gehören, bilden sie ein Blatt des
Entscheidungsbaumes.
2. Andenfalls wird
(1) ein Attribut gewählt,
(2) die Menge der DO entsprechend der auftretenden Attribut-Werte für
dieses Attribut partitioniert, die je einen Nachfolge-Knoten bilden und
(3) der Algorithmus rekursiv auf diese Nachfolgeknoten und die
verbleibenden Attribute angewandt.
30
15
‘n Beispiel: ausgebliebene Kredit-Tilgungen
diskret
nominal
Hausbesitz
yes
Familienstand
ledig
2
no
verheiratet
100 k
no
3
no
ledig
75 k
no
4
yes
verheiratet
120 k
no
5
no
geschieden
95 k
yes
yes
no
Klassenzugehörigkeit
jährliches
offene
Einkommen Forderungen
125 k
no
no
6
no
verheiratet
60 k
no
7
yes
geschieden
220 k
no
8
no
ledig
85 k
yes
9
no
verheiratet
75 k
no
10
no
ledig
90 k
yes


erstes ausgewähltes Attribut:
Wertebereich:
yes
no
yes
verschiedene Klassen
Kd.
Nr.
1
kontinuierlich
rational
 Partitionierung bzgl. eines Attributs
binär
Hausbesitz
{yes, no}
31
Hausbesitzer = yes
Familienstand
1
ledig
4 verheiratet
7 geschieden
jährliches
offene
EinForderungen
kommen
125 k
no
120 k
no
220 k
no
Hausbesitzer
yes
no
Kd.
Nr.
2
3
5
6
8
9
10
Familienjährliches
offene
stand
Einkommen Forderungen
verheiratet
100 k
no
ledig
75 k
no
geschieden
95 k
yes
verheiratet
60 k
no
ledig
85 k
yes
verheiratet
75 k
no
ledig
90 k
yes
no
yes
no
yes
no
yes
verschiedene Klassen
Hausbesitzer = no
 Partitionierung bzgl. eines Attributs
Kd.
Nr.
no
Familienstand
32
16
Hausbesitzer
yes
no
no
Familienstand
Familienstand = verheiratet
Kd.
Nr.
2
jährliches
Einkommen
100 k
offene
Forderungen
no
6
60 k
no
9
75 k
no
Familienstand = geschieden
Kd.
Nr.
5
jährliches
Einkommen
95 k
verheiratet
no
ledig
geschieden
yes
jährl. Eink.
≤ 80 k
offene
Forderungen
yes
no
> 80 k
yes
Familienstand = ledig
Kd.
Nr.
3
jährliches
Einkommen
75 k
offene
Forderungen
no
8
85 k
yes
10
90 k
yes
verschiedene Klassen
no
yes
 Partitionierung bzgl. eines Attributs
Ansatz zur Behandlung des numer. Attr.:
 Grenze zwischen no und yes als
Mittelwert zwischen 75 und 85 schätzen
33
Nachteile von Hunt‘s Algorithmus


funktioniert nur dann mit vollständigem Ergebnis (im Sinne, dass es für jeden
neuen Fall eine Lösung liefert), wenn jede Kombination auch in den
Trainingsdaten präsent ist
funktioniert nur für „scharfe“ Klassenzugehörigkeiten in den Trainingsdaten und
liefert auch nur solche bei der Anwendung des Entscheidungsbaumes
Für folgende Fälle müssen zusätzliche Konstruktionsvorschriften erlassen werden:
Fall 1
Für einen möglichen Attribut-Wert ist kein DO in den Trainingsdaten.
mögliche Lösung:
mehrheitlich in den Trainingsdaten auftretende Klasse als Blatt an den
Entscheidungsbaum anheften
Fall 2
Alle DO einer Partition haben identische Attributwerte, ihre Klassen sind aber
verschieden.
mögliche Lösung:
mehrheitliche in dieser Partition auftretende Klasse als Blatt anheften
34
17
offene Fragen
(1) genaue Spezifikation des Partitionierungs-Verfahrens
a) Festlegung der Attribut-Werte an den Kanten für
jeden Attribut-Typ (insbes. für kontinuierliche Werte)
b) Festlegung eines „besten“ Attributs für die
Partitionierung
(2) genauere Spezifikation von Stopp-Kriterien für den
Algorithmus
 Wenn alle DO einer Partition zur selben Klasse
gehören?
 Wenn alle DO einer Partition den selben Wert für
das gewählte Attribut haben?
 Weitere Kriterien ???
35
(1 a) Festlegung der Attribut-Werte an den Kanten


binäre Attribute jeder der beiden Werte bildet eine Kante
nominale Attribute (ohne Ordnungsrelation)

jede Partitionierung der Attributwerte in nichtleere Wertemengen ist denkbar
Familienstand
{ verheiratet }
{ geschieden }
Familienstand
{ ledig }
{ verheiratet }
Familienstand
{ ledig, verheiratet }
{ geschieden }
{ ledig, geschieden }
Familienstand
{ ledig }
{ verheiratet, geschieden }
36
18

nominale Attribute (ohne Ordnungsrelation)

auch jede der 2k-1-1 Kaskadierungen der k verschiedenen Werte zu k-1
binären Entscheidungen ist denkbar
Familienstand
Familienstand
≠ ledig
ledig
≠ verheiratet
verheiratet
Familienstand
verheiratet
Familienstand
geschieden
ledig
geschieden
Familienstand
≠ geschieden
geschieden
Familienstand
verheiratet
ledig
37

ordinale Attribute (mit Ordnungsrelation)

jede Partitionierung der Attributwerte in nichtleere Wertemengen ist auch
hierfür denkbar
Größe
{ small }
Größe
{ medium }
{ large }
{ small }
Größe
{ medium }
{ medium, large }
Größe
{ small, large }
{ large }
{ small, medium }
38
19

ordinale Attribute (mit Ordnungsrelation)

auch jede der 2k-1-1 Kaskadierungen der k verschiedenen Werte zu k-1
binären Entscheidungen ist denkbar
Größe
Größe
≠ small
small
≠ medium
medium
Größe
Größe
medium
large
small
large
Größe
≠ large
large
Größe
small
medium
39

kontinuierliche Attribute
Wertebereich wird diskretisiert

Festlegung einer Anzahl n diskreter Werte

Festlegung von n-1 „split points“ x1, …, xn-1 zwischen diesen Werten

Zuordnung der kontinuierlichen Attribute zu diskreten nach IntervallZugehörigkeit



{ (x0 , x1] , (x1 , x2] , …, (xn-1 , xn) } bzw.
x0 < x ≤ x1, x1 < x ≤ x2 , …, xn-1 < x ≤ xn
wobei x0 und xn auch – ∞ bzw. + ∞ sein können
jährl. Eink.
≤ 70 k
no
> 70 k,
≤ 90 k
maybe
> 90 k
yes
40
20
(1 b) Wie findet man „das beste“ Attribut?
‘n Beispiel:

vor dem Splitting gehören 10 DO zur Klasse 0 (C0) und 10 DO zur Klasse 1 (C1)

als Attribute stehen zur Verfügung
•
binäres Attribut „Besitz eines Autos“, Wertebereich { ja, nein }
•
nominales Attribut „bevorzugter Auto-Typ“, Wertebereich { Familienfahrzeug,
Sportwagen, Luxuswagen }
•
nominales Attribut „Matrikel-Nummer“, Wertebereich { c1 , c2 , …, c20 }
Welches dieser Splittings ist „das beste“?
41
Wie findet man „das beste“ Attribut?
 optimal: Knoten mit einheitlicher Klassenzugehörigkeit
 ein Maß der „Unreinheit“ (impurity) erzeugter Knoten wird benötigt
inhomogen
hohe „Unreinheit“


homogen
geringe „Unreinheit“
je „verzerrter“ die Klassenverteilung ist, desto höher ist die Homogenität
im Beispiel wäre
 C0: 10, C1: 0 und C0: 0, C1: 10 optimal
 C0: 5, C1: 5 der denkbar schlechteste Fall
häufig verwendete Maße für „Unreinheit“ (impurity) sind
 Entropie
 Gini – Index
 Klassifikationsfehler
42
21

Sei pi = p(i|a) der Anteil der DO hinter dem Knoten mit dem Attribut a, welche zur
Klasse i gehören


im binären Falle gibt es nur p0 und p1, es gilt p1 = 1 – p0
Maße der „Unreinheit“ (impurity) sind
m

Entropie
H (a )   p(i | a)  ld p (i | a )
Gini-Index
Gini (a)  1   p (i | a) 2
i 1

m
i 1

Klassifikationsfehler
F (a )  1  max p (i | a )
i
wobei


m die Anzahl der Klassen ist
( p  ld ( p ))  0 )
0 ld 0 = 0 in der Entropie-Kalkulation (wegen lim
p 0


diese Größen Knoten-bezogen für jeden Nachfolger Knoten berechnet
die „Güte“ eines Attributs wird daran gemessen wird, wie weit dieses
Splitting die „Unreinheit“ verbessert: Vater-Knoten vs. alle Kind-Knoten
(gewichteter Durchschnitt)
Differenz der „Unreinheiten“ zwischen Vater- und Kinder-Knoten nennt man
Informationsgewinn des Attributes a: IG(a)

43
Entropie, Gini und Klassifikationsfehler bei binärer Klassifikation
44
22
Entropie, Gini und Klassifikationsfehler am Beispiel
Vater-Knoten
N
C0: 4
C1: 14
H(N)
Gini(N)
F(N)
= - 4/18*ld(4/18) - 14/18*ld(14/18)
= 1 - (4/18)2 – (14/18)2
= 1 – max(4/18, 14/18)
= 0.764
= 0.346
= 0.222
gewichteter Durchschnitt aller „Kinder“
N1
C0: 0
C1: 6
N2
C0: 1
C1: 5
N3
C0: 3
C1: 3
6
6
6
H ( N1 )  H ( N 2 )  H ( N 3 )
18
18
18
 0.550 (besser als Vater - Knoten)
6
6
6
Gini ( N all ) 
Gini ( N1 )  Gini ( N 2 )  Gini ( N 3 )
18
18
18
 0.259 (besser als Vater - Knoten)
Kinder-Knoten
H(N1) = -0/6*ld(0/6)-6/6*ld(6/6) = 0
Gini(N1)= 1 – 0/62 – 6/62
=0
=0
F(N1) = 1 – max(0/6,6/6)
H ( N all )

F ( N all )

H(N2) = -1/6*ld(1/6)-5/6*ld(5/6) = 0.650
Gini(N2)= 1 – 1/62 – 5/62
= 0.278
F(N2) = 1 – max(1/6,5/6)
= 0.167
6
6
6
F ( N1 )  F ( N 2 )  F ( N 3 )
18
18
18
 0.222 (gleich dem Vater - Knoten)
Informationsgewinn
H(N3) = -3/6*ld(3/6)-3/6*ld(3/6) = 1
Gini(N3)= 1 – 3/62 – 3/62
= 0.5
F(N3) = 1 – max(3/6,3/6)
= 0.5

IGH = H(N) - H( Nall )

IGGini= Gini(N) - Gini( Nall ) = 0.087

IGF = F(N) - F( Nall )
= 0.214
=
45
Splitting verschiedener Attribut-Typen
Binäre Attribute
Split mit binärem Attribut a
Split mit binärem Attribut b
N
C0: 6
C1: 6
N
C0: 6
C1: 6
yes
no
yes
no
N1
C0: 4
C1: 3
N2
C0: 2
C1: 3
N1
C0: 1
C1: 4
N2
C0: 5
C1: 2
Attribut a
Gini(N)
Gini(N1)
Gini(N2)
Gini(Nall)
IG
Attribut b
0.5
0.4898
0.4800
0.4857
0.0143
0.3200
0.4082
0.3714
0.1286
ist zu bevorzugen
46
23
Splitting verschiedener Attribut-Typen
Nominale Attribute
N
C0: 10
C1: 10
Vergleich der Partitionierungen
Wertebereich: {verheiratet,ledig,geschieden}
Partition
N1
N2
N1
N2
N1
N2
N1
N2
N3
{l}
{ v, g }
{v}
{ l, g }
{g}
{ l, v }
{v}
{l}
{g}
8
0
2
10
1
3
9
7
1
7
9
3
1
3
8
0
1
7
C0
C1
Gini(N)
0.5
Gini(N1 )
0
0.3750
Gini(N2 )
0.2188
0.2778
0.3750
0.4922
0.3750
0
Gini(N3 )
0.2188
Gini(Nall )
0.1667
0.4688
0.3124
0.1625
IG
0.3333
0.0312
0.1876
0.3375
Ergebnis ist nicht verwunderlich
 Die anderen Partitionierungen enthalten Vermischung von
Partitionen des “Siegers“
 Vermischungen erhöhen die „Unreinheit“
ist zu bevorzugen
47
Splitting verschiedener Attribut-Typen
Kontinuierliche Attribute
Attribut v
Finden geeigneter Split-Werte
v > vsplit
v ≤ vsplit
Variante 1

Bestimmung genau eines Split-Wertes vsplit

(Gini-) Optimum der Mittelwerte zwischen den DO
‘n Beispiel
Klasse
No
No
No
Yes
Yes
Yes
No
No
No
No
Jahreseinkommen
60
70
75
85
90
95
100
120
125
220
vsplit
v
65
72.5
80
87.5
92.5
97.5
110
122.5
172.5
≤
>
≤
>
≤
>
≤
>
≤
>
≤
>
≤
>
≤
>
≤
>
No
1
6
2
5
3
4
3
4
3
4
3
4
4
3
5
2
6
1
Yes
0
3
0
3
0
3
1
2
2
1
3
0
3
0
3
0
3
0
Gini
0.400
0.375
0.343
0.417
0.400
0.300
Optimum
0.343
0.375
0.400
 vsplit = 97.5
48
24
Splitting verschiedener Attribut-Typen
Kontinuierliche Attribute
Attribut v
Finden geeigneter Split-Werte
•••
v≤v1split v1split<v≤v2split •••
Variante 2
 Bestimmung mehrerer Split-Werte v1split , v2split , ..., vnsplit
 Mittelwerte zwischen benachbarten DO verschiedener Klassenzugehörigkeit
v>vnsplit
das selbe Beispiel
Klasse
No
No
No
Yes
Yes
Yes
No
No
No
No
Jahreseinkommen
60
70
75
85
90
95
100
120
125
220
 v1split = 80
vsplit
v
No
v2split = 97.5
80
97.5
v ≤ 80
80 < v ≤ 97.5
v > 97.5
3
0
4
Yes
0
3
0
Gini(Ni)
0
0
0
Gini(v)
0
49
Gewinn-Verhältnis (Gain Ratio)



Reinheitsmaße wie Gini und Entropie protegieren Attribute mit vielen
verschiedenen Werten
die Anzahl der DO pro Unterbaum ist dabei allerdings kleiner als bei Attributen mit
wenigen Werten
Extremfall: ein DO pro Unterbaum (siehe rechten Split im Bild) – perfekter
Informationsgewinn, aber untauglich als generelles Modell
Hat man zu wenig DO (oder gar nur eines), kann man daraus keine statistisch
relevanten Aussagen für die Gesamtheit der Objekte ableiten.
eine Lösung


ausschließlich binäre Splits (wie im Entscheidungsbaum-Algorithmus CART)
nominale und kontinuierliche Attribute notfalls kaskadieren
50
25
Gewinn-Verhältnis (Gain Ratio)
eine andere Lösung
Informationsgewinn zur Anzahl der DO in den Unterbäumen ins Verhältnis setzen (wie
es z.B. der Entscheidungsbaum-Algorithmus C4.5 tut):
Gain - Ratio 
IG (a)
Split - Info
with
k
Split - Info    p(i)  ld ( p (i ))
i 1
p
ni
n

Menge von n DO wird in k Untermengen mit je ni DO partitioniert

Informationsgewinn (Gain-Ratio) wird durch die Entropie der Partitionierung (SplitInfo) relativiert
die Entropie (im Nenner) steigt
(1) mit größer werdender Anzahl von Unterbäumen und
(2) kleiner werdenden Anteilen der DO vom Vater-Knoten im Unterbaum
Partitionierungen mit höherer Entropie (größerer Anzahl kleinerer Partitionen)
werden “bestraft”
51


Ein Algorithmus zur Konstruktion eines Entscheidungsbaumes
input

Menge von DO mit bekannter Klassenzugehörigkeit (Examples) E

Menge von Attributen (features) F
output

Zeiger auf einen Entscheidungsbaum root
TreeGrowth(E,F)
if stopping_cond(E,F) then
leaf = create_node()
leaf.label = classify(E)
return leaf
else
root = create_node()
root.test_cond = find_best_split(E,F)
F := F \ {root.test_cond}
Values := {value: value is possible value of root.test_cond}
for each v ϵ Values do
Ev := {example: example ϵ E, root.test_cond(example) = v}
childv := TreeGrowth(Ev,F)
add childv as descendent of root and label the edge root→childv as v
end for
end if
return root
52
26
Ein Algorithmus zur Konstruktion eines Entscheidungsbaumes

create_node() erweitert den Baum um einen neuen Knoten, welcher
entweder ein Attriubut (node.test_condition) oder eine Klasse (node.label)
enthält (Blattknoten).

find_best split(E,F) ermittelt das beste Attribut (und ggf. die besten SplittWerte dieses Attributs) auf der Basis eines „Reinheitsmaßes“ (Gini, Entropie),
ggf. erweitert um das Gewinn-Verhältnis

classify(E) bestimmt die Klasse, die einem Blatt t des Entscheidungsbaumes
zugeordnet wird, vernünftigerweise die mehrheitlich vertretene Klasse:
leaf_label := {l: l ϵ Et ,  p(i|t): p(i|t) > p(l|t)}.
Zusätzlich könnte man eine geschätzte Wahrscheinlichkeit für die Korrektheit
dieser Klassenzugehörigleit p(l|t) hinzufügen.

stopping_cond(E,F) beendet den rekursiven Aufbau des
Entscheidungsbaumes.
Sinnvolle Stopp-Bedingungen sind:

Ein großer Anteil der DO (im „perfekten“ Fall alle) gehören zur selben
Klasse.

Die Anzahl der DO hat ein gewisses Minimum unterschritten.
Algorithmen dieser Grundstruktur findet man u.a. auf
http://www.kdnuggets.com/software/classification-decision-tree.html
53
Model Overfitting
Fehlerquellen
1. Trainingsfehler (training errors, resubstitution error, apparent error)
 falsch klassifizierte Trainingsdaten
2. Generalisierungsfehler (generalization errors)
 fehlerhafte Verallgemeinerung von Trainingsdaten auf neue Fälle
Trainingsfehler können beliebig weit (bis hin zu Null bei hinreichend
vielen relevanten Attributen) reduziert werden
 allerdings zum „Preis“ steigender Komplexität des Modells
 Passt das Modell allerdings zu perfekt zu den Trainingsdaten, wird es ab
einem bestimmten Punkt sogar schlechter bei der Anwendung auf
Testdaten.
Diesen Effekt nennt man Model Overfitting.

Ist das Modell jedoch zu einfach, sind beide Fehlerraten (Trainings- und
Generalisierungsfehler) hoch.
Diesen Effekt nennt man Model Underfitting.

54
27
Model Overfitting
‘n Beispiel:
 2 Klassen, 2 kontinuierliche Attribute x1, x2
 Trainings - DO: siehe Abb.
rote Kreise:
0.5  sqrt(x12+x22)  1
blaue Dreiecke:
sqrt(x12+x22) < 0.5 oder sqrt(x12+x22) > 1
•
 perfekte Modellierung (Klassifikationsfehler über den Trainingsdaten = 0)


Underfitting
Overfitting
55
Ursachen des Model Overfitting
1. Overfitting durch verrauschte Daten
verrauschte Daten
= Trainingsdaten mit falscher Klassenzugehörigkeit, z.B.
Körper-Temp.
lebend
gebährend
vierbeinig
Igel
Warmblütler
ja
ja
ja
ja
Katze
Warmblütler
ja
ja
nein
ja
Fledermaus
Spezies
hält
Winterschlaf
Säugetier?
Warmblütler
ja
nein
ja
nein
Wal
Kaltblütler
ja
nein
nein
nein
Salamander
Kaltblütler
nein
ja
ja
nein
Komodo-Waran
Kaltblütler
nein
ja
nein
nein
Python
Kaltblütler
nein
nein
ja
nein
Lachs
Kaltblütler
nein
nein
nein
nein
Adler
Warmblütler
nein
nein
nein
nein
Kaltblütler
ja
nein
nein
nein
Guppy
56
28
KörperTemp.
Warmblütler
Kaltblütler
lebend
gebährend
yes
KörperTemp.
Warmblütler
kein
Säugetier
lebend
gebährend
no
yes
kein
Säugetier
vierbeinig
yes
Kaltblütler
kein
Säugetier
no
Säugetier
kein
Säugetier
no
Säugetier
kein
Säugetier
„perfektes“ Modell
nicht „perfektes“ Modell
0 Fehler bzgl. der Trainingsdaten
10 % Fehler bzgl. der Trainingsdaten
57
Effekt beider Modelle bzgl. Testdaten
Testdaten
Spezies
Körper-Temp.
lebend
gebährend
vierbeinig
hält
Winterschlaf
Säugetier?
Mensch
Warmblütler
ja
nein
nein
ja
Taube
Warmblütler
nein
nein
nein
nein
Elefant
Warmblütler
ja
ja
nein
ja
Leoparden-Hai
Kaltblütler
ja
nein
nein
nein
Schildkröte
Kaltblütler
nein
ja
nein
nein
Pinguin
Kaltblütler
nein
nein
nein
nein
nein
Aal
Kaltblütler
nein
nein
nein
Delphin
Warmblütler
ja
nein
nein
ja
Ameisen-Igel
Warmblütler
nein
ja
ja
ja
Kaltblütler
nein
ja
ja
nein
Gila-Krustenechse
Trainingsfehler
Performance
Fehlerrate über den Testdaten
„perfektes“ Modell
0%
30 %
nicht „perfektes“ Modell
10 %
10 %
58
29
Ursachen des Model Overfitting
2. Overfitting in Ermangelung repräsentativer Daten
zu wenig Trainingsdaten machen das Modell anfällig für Overfitting, z.B.
Spezies
KörperTemp.
lebend
gebährend
vierbeinig
hält
Winterschlaf
Säugetier?
Salamander
Kaltblütler
nein
ja
ja
nein
Guppy
Kaltblütler
ja
nein
nein
nein
Adler
Warmblütler
nein
nein
nein
nein
WinterNachtschwalbe
Warmblütler
nein
nein
nein
nein
Schnabeltier
Warmblütler
nein
ja
ja
ja
KörperTemp.
Warmblütler
hält
Winterschlaf
yes
kein
Säugetier
no
kein
Säugetier
vierbeinig
yes
Kaltblütler
no
kein
Säugetier
Säugetier
Modell
Trainingsfehler
Performance
Fehlerrate über den Testdaten
0%
30 %
59
Abschätzung von Generalisierungsfehlern
1.
Evaluierung über den Trainingsdaten
(Resubstitution Estimate, Optimistic Approach)
Annahme: Trainingsdaten repräsentieren alle (denkbaren) Daten gut
‘n Beispiel
Fehlerraten e 2er Modelle T1 und T2 verschiedener Komplexität

generiert aus denselben Trainingsdaten

Blattknoten enthalten mehrheitlich vertretene Klasse
T1
T
2
+: 3
: 0
+: 3
: 1
+: 2
: 1
+: 0
: 2
+: 1
: 2
e( T1 ) = 4 / 24 = 0.167
+: 5
: 2
+: 3
: 1
+: 0
: 5
+: 1
: 4
+: 3
: 0
+: 3
: 6
e( T2 ) = 6 / 24 = 0.25
60
30
Abschätzung von Generalisierungsfehlern
2. Einbezug der Modell-Komplexität
2.1
Occam‘s Razor („Geiz-Prinzip“)
Hat man zwei Modelle mit demselben Generalisierungsfehler, ist das einfachere
Model (mit weniger Knoten) zu bevorzugen.
2.2
Pessimistic Error Rate eg(T)
Zur Summe aller Fehlklassifikationen e( ti ) an den Blattknoten über den
Trainingsdaten addiert man einen Malus („Strafe“) Ω( ti ) für jeden Blattknoten ti im
Baum und bezieht das Resultat auf die Anzahl der DO in den Trainingsdaten:
k
eg (T ) 
 [e(t )  (t )]
i
i 1
i
k
 n(t )
i 1

i
e(T )  (T )
Nt
61
Abschätzung von Generalisierungsfehlern
Beispiele
T1
T
2
+: 3
: 0
+: 3
: 1
+: 2
: 1
+: 0
: 2
+: 1
: 2
Bei Ω(ti ) = 0.5 ist eg (T1 ) 
Bei Ω(ti ) = 1
ist eg (T1 ) 
+: 5
: 2
+: 3
: 1
+: 1
: 4
+: 3
: 0
+: 3
: 6
+: 0
: 5
4  7  0.5 7.5
6  4  0.5 8

 0.3125 und eg (T2 ) 

 0.3333
24
24
24
24
4  7 1 11

 0.458
24
24
und eg (T2 ) 
6  4 1 10

 0.417
24
24
62
31
Abschätzung von Generalisierungsfehlern
2.3 Beschreibungskomplexität für Baum und dessen
Fehlklassifikationen (Minimum Description Length Principle)
Man addiert

für jede Fehlklassifikation ein Maß zur binären Kodierung Beispiele cost( data |
tree ) (z.B. für jede Fehlklassifikation einmal die Länge der Kodierung einer
Beispiel-ID) ld( Anzahl der Klassen )
e.g. for 16 examples and 3 misclassifications cost(data|tree) = 3 * 4 = 12
und, um Komplexität des Baumes zu „bestrafen“,

ein Maß der Länge der Beschreibung der binären Kodierung der Knoten des
Baumes cost( tree ), z.B.

für Blattknoten die Länge der Kodierung der zugeordneten Klasse
ld( Anzahl der Klassen )

für jeden anderen Knoten die Länge der Kodierung des dort verzeichneten
Attributs ld( Anzahl der Attribute ) :
e.g. for 5 leafs denoting 2 classes, 7 non-leafs denoting 4 attributes
cost(tree) = 5 * 1 + 7 * 2 = 19
cost( tree , data ) = cost ( data | tree ) + cost( tree )
63
Abschätzung von Generalisierungsfehlern
2.4 ... durch statistische Korrektur des Trainingsfehlers
Generalisierungsfehler sind typischerweise größer als Trainingsfehler.

können auch abgeschätzt werden werden, indem man eine bestimmte
Wahrscheinlichkeit der Korrektheit der Klassifizierung beim Splitten an jeder
„Astgabel“ unterstellt und deren obere Schranke (durch Multiplikation dieser
Wahrscheinlichkeiten eines Pfades zu einem Blatt und Ermittlung des
„schlechtesten Pfades“) ermittelt.
2.5 ... durch Anwendung auf eine Validierungsmenge

Trainingsmenge wird in 2 Teilmengen partitioniert,

eine zum Bilden des Modells

eine zum Testen des Modells

typisch: 2/3 der Beispiele zum trainieren, 1/3 zum validieren
64
32
Vermeidung des Overfitting bei Entscheidungsbäumen
1.
Pre-Pruning (Early Stopping Rule)
Ansatz
restriktivere Stopp-Bedingung stopping_cond(E,F)
Stopp der Baumentwicklung bevor er 100% korrekt (bzgl. der Trainingsdaten) ist.
Typische Stopp-Bedingung:

Alle DO gehören zur selben Klasse.

Alle Attribut-Werte sind identisch.

Restriktivere Stopp-Bedingung


Anzahl der DO fällt unter einen gewissen Schwellwert
Klassenverteilung ist unabhängig von Attribut-Werten (Korrelation der
Klassenzugehörigkeit fällt unter einen gewissen Schwellwert für alle
verbleibenden Attribute)
Reinheitsgewinn durch Splitting (z.B. Gini, Informationsgewinn) unterschreitet
einen gewissen Schwellwert

Problem

Auch ein geringer Reinheitsgewinn beim Splitten kann trotzdem hohen
Reinheitsgewinne bei nachfolgenden Splittings nach sich ziehen.
65
Vermeidung des Overfitting bei Entscheidungsbäumen
2.


Post-Pruning
Entscheidungsbaum wird maximal weit entwickelt (gleiche Klasse oder gleiche
Attribut-Werte aller Beispiele)
danach wird der Baum v.u.n.o. beschnitten, d.h Ersetzung eines Unterbaums
durch

ein Blatt, dessen Klasse durch die Mehrheit der DO im Unterbaum
bestimmt wird (Subtree Replacement)

den am häufigsten (im Trainingsset) benutzten Unter-Unterbaum (Subtree
Raising)
..., falls sich der Generalisierungsfehler dabei verringert.
Vorteil

I.allg. bessere Ergebnisse als Pre-Pruning, da es vom voll entwickelten Baum
ausgeht und daher eine ungerechtfertigt frühen Abbruch des Splittings
vermeidet.
Nachteil

höhere (Zeit-, Speicher-) Komplexität, da zunächst der vollständig „korrekte“
(bzgl. der Trainingsdaten) Baum entwickelt wird
66
33
Performance-Abschätzung eines Verfahrens zur Baumkonstruktion
(nicht des Baumes!)
(abgeleitet aus allen verfügbaren Beispielen)
1. Holdout – Methode


Partitionierung der klassifizierten DO in Trainings- und Test Set (z.B. je zur Hälfte
oder 2/3 : 1/3)
Baumkonstruktion mit Trainings-Set, Performance-Abschätzung am Test Set
Nachteile

weniger Beispiele zur Modelbildung ⇒ schlechteres Modell

Verteilung der Beispiele ist ein trade-off zwischen gutem Modell und belastbarer
Performance-Aussage

Abhängigkeit der beiden Sets: Über-Repräsentanz einer Klasse im Trainings-Set
führt zu Unter-Repräsentanz im Test-Set und umgekehrt
67
Performance-Abschätzung eines Verfahrens zur Baumkonstruktion
2. Zufällige Partitionierung (Random Sub-Sampling)


wiederholtes Holdout mit verschiedenen Partitionierungen
Ermittlung des Durchschnitts der Performance-Werte
Vorteil

Mehrere Modelle entstehen, von denen das beste ausgewählt werden kann
Nachteile


gleiche wie beim einfachen Holdout
keine Kontrolle darüber, wie oft ein DO für Training und Test benutzt wird
 manche DO könnten viel öfter zum Training als zum Test verwendet
werden und umgekehrt
68
34
Performance-Abschätzung eines Verfahrens zur Baumkonstruktion
3.
Kreuz-Validierung (Cross-Validation)

jedes DO wird

gleich häufig zum Training verwendet

genau einmal zum Test verwendet

Partitionierung der Menge der klassifizierten DO in k gleich große Teilmengen

in k Durchläufen wird jede Partition genau einmal zum Test verwendet, während
die Vereinigung aller anderen Partitionen zur Modellbildung verwendet wird

Ermittlung des Durchschnitts der k entstandenen Performance-Werte
Spezialfall

k = | Beispielmenge | , genannt „leave one out“ Ansatz
Vorteile

nutzt so viel wie möglich Beispiele zur Modellbildung

Test Sets sind disjunkt
Nachteile

hohe Komplexität des Verfahrens | Beispielmenge | Durchläufe

Zuverlässigkeit der Performance-Aussage wird geschwächt, da diese Aussagen
aus nur je einem Beispiel entstanden
69
Performance-Abschätzung eines Verfahrens zur Baumkonstruktion
4.




Bootstrap
in allen vorherigen Verfahren kam kein Beispiel mehrfach als Trainings-Beispiel (im
selben Zyklus) in Betracht
hier wird ein Trainings-Set durch zufällige Auswahl aus der gesamten Menge
klassifizierter Beispiele generiert (Sampling with replacement)
d.h. ein gewähltes DO kann mit einer gewissen Wahrscheinlichkeit mehrfach im
Trainings-Set vorkommen
wählt man nach dieser Methode (Auswählen und Zurücklegen) N TrainingsBeispiele aus einer Menge von N Daten aus, enthält das Trainings-Set ca. 63,2 %
der Original-Menge klassifizierter Beispiele:

Wahrscheinlichkeit, gewählt zu werden ist 1-(1-1/N)N

für N →∞ konvergiert dieser Wert zu 1-1/e ≈ 0.632.

DO, die auf diesem Wege nicht im Trainings-Set landen, werden ins Test-Set
aufgenommen

wiederholt man dieses Verfahren b mal und erhält jeweils eine Korrektheits-Rate ϵi
(i=1...b), lässt sich die Korrektheits-Rate accboot (bei einer tatsächlichen Korrektheit
accs über allen DO, die man nur mit 1 abschätzen kann), wie folgt ermitteln:
accboot 
1 b
 (0.632 i 0.368  accs )
b i 1
70
35
Entscheidungsbäume über regulären Patterns
Grundidee
1. In einer großen Datenmenge sollen Muster erkannt werden
2. Unbekannte Datensätze sollen entsprechend vorgegebener, schon
klassifizierter Beispiele klassifiziert werden
Ziel
Finden eines Algorithmus, der dies leistet
Formal
Gegeben: Große Menge W von Daten (Wörtern über einen Alphabet)
Gesucht: Muster p, das den Daten zugrunde liegt (Wörter variablen Teilen)
Gibt es ein Lernverfahren zur Lösung des Problems?
Beispiel passt
Hypothese beibehalten, nächstes Beispiel wählen
Hypothese
Beispiel
W
Beispiel passt nicht
Neue Hypothese generieren, bis Beispiel passt
71
Beispiel aus der Biologie:
Lernverfahren am Beispiel der Analyse von Aminosäuresequenzen in Proteinen
Alle Proteine setzen sich aus Aminosäuren zusammen (20 verschiedene)
Darstellung als Ketten über dem Alphabet
Aas = {A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y}
Protein = nichtleeres Wort über Aas (z.B. DKLMPQSST), aus bis zu 1000
Aminosäuren
Membran-Proteine
 Bestimmte Proteine werden innerhalb einer Zelle hergestellt
 Sie verlassen danach die Zelle, um an anderer Stelle des Körpers verwertet
zu werden oder zur Kommunikation mit anderen Zellen beizutragen
 Zellwand/Membran ist nur durchlässig für kleine Moleküle und Ionen
 Proteine können die Zelle nur verlassen, wenn sie eine Art „Kennwort“
(Signalpeptid) besitzen, eine bestimmte Abfolge von Aminosäuren am Ende
der Aminosäurekette; das Signalpeptid weist sich an einem Membrankanal
aus und darf passieren; dabei zieht es das Protein hinter sich her
 Membran-Proteine besitzen außerdem mehrere Teilketten von Aminosäuren,
die bei Nicht-Membran-Proteinen nur ganz selten vorkommen (Teilketten =
Transmembran-Domänen)
72
36
Beispiel aus der Biologie (2)
Ziele
Anhand einer großen Menge von Membran-Proteinen sollen
 die genauen Aminosäure-Zusammensetzungen der Signalpeptide bestimmt
werden
 die Transmembran-Domänen bestimmt werden
Ziel ist es, neue Proteinstrukturen als Membran-Proteine oder Nicht-MembranProteine zu klassifizieren
Anwendungsbereiche auf dem Gebiet der Medizin
 Korrektur von Erbkrankheiten
 Erbkrankheiten können mit fehlerhaften Transportsignalen verbunden sein 
Früherkennung, Behandlung
 Diagnose von Virenkrankheiten
 Viren können Kanäle in den Zellmembranen manipulieren, so dass sie nur noch von
Virenbausteinen passiert werden können.
 Krebserkennung
 Störung von Transportwegen kann zu unkontrollierter Zellvermehrung führen 
Bildung von Tumoren
 Identifikation von Signalpeptiden und Transmembran-Domänen durch
das Lernen von Entscheidungsbäumen über regulären Patterns
73
Definition „Pattern“
Ein Pattern ist eine Zeichenkette über einem gegebenen Alphabet A und
einer Menge von Variablen X={x1,...,xn}, die ein Muster beschreibt. Die
Variablen stehen für beliebige Zeichenfolgen über A (nicht für das leere Wort!).
Alle Wörter, die von einem Pattern p beschrieben werden, gehören zur von p
erzeugten Pattern-Sprache L(p).
Beispiel:
A ={a,b,c}
p =aabx1cx2x3bax4
aabaaacbbcbaac,aabcccbbcbacc,aabbccaabaa,aabacbbbab  L(p)
cab, aab , aabcaabab, aabbcbbba  L(p)
Bemerkung: Ketten von Variablen
Ketten von Variablen sind nur dann sinnvoll, wenn
 dargestellt werden soll, dass eine Mindestanzahl von Symbolen
(mindestens so viele wie Variablen in der Kette stehen) an dieser Stelle
erforderlich ist
 Muster bzw. Regularitäten ausgedrückt werden sollen, z.B. x1x2 x1x2
74
37
Neuformulierung der Aufgabe:
Gegeben:
 Endliches Alphabet A
 Datenmenge W von Wörtern über A
Gesucht:
 Möglichst einfaches Pattern p, so dass W eine möglichst große Teilmenge der
von p erzeugten Pattern-Sprache L(p) ist
Probleme bei der Darstellung von Beispieldaten:
 Beispieldaten können so unterschiedlich sein, dass sich nur eine Kette von
Variablen (z.B. x1x2x3x4) zur Beschreibung eignet, d.h. kein konkretes Muster ist
in den Beispieldaten erkennbar
 „rein intuitiv“ könnte ein spezielleres Pattern die Daten besser beschreiben als
eine Kette von Variablen, obwohl es nicht alle gegebenen Daten erzeugen kann
 ein einziger Ausreißer kann schon verhindern, dass ein Pattern für die
gegebenen Beispieldaten gefunden wird (schlecht z.B. bei fehlerhaften Daten)
 ein Pattern könnte nicht ausreichen, um die Daten zu beschreiben, sondern erst
zwei oder drei oder noch mehr verschiedene
75
Zwei Beispiele
Beispiel 1:
A ={a, b, c}
Menge der positiven Daten: P ={aaabc, aaacbbaab, aaacabcabb, aaaabc,
aaabbcbcc, aaabba, aaab, aaac, cbcabbc}
Bis auf das letzte Wort beginnen alle Wörter in P mit aaa. Ein Pattern, das alle
Wörter in W erzeugt, würde die Gestalt x1x2x3x4 haben. Wir würden aber sagen
– vor allem wenn W sehr groß ist – dass aaax1 die Menge P viel besser
beschreibt.
cbcabbc könnte in der Praxis z.B. durch einen Übertragungsfehler entstanden
sein, ist also ein Ausreißer
 Inkonsistenz des Modells mit zu den Beispielen ist mitunter sinnvoll
Beispiel 2:
A ={a, b, c}
Menge der positiven Daten: P ={ab, aa, ac, aaa, abc, bb, bc, bac, bbbc}
Das Pattern p1=x1x2 erzeugt P. Gleichzeitig werden alle Wörter aber auch
entweder von dem Pattern p2=ax1 oder von p3=bx1 erzeugt.
D.h. P  L(p2) L(p3). P kann also besser als Vereinigung von endlich vielen
konkreten Pattern-Sprachen dargestellt werden anstatt von einer Kette von
Variablen.
 Beschreibung durch mehrere Patterns ist mitunter sinnvoll
76
38
Warum sind Inkonsistenz und/oder multiple Patterns in Praxi sinnvoll?
 Fehlerhafte, verrauschte Daten
 Daten enthalten Fehler (z.B. durch falsche Übermittlung oder fehlerhafte Datenträger)
 Vermischte Daten
 Daten sind durch Mischen mehrerer Datenmengen entstanden, wobei jede Menge ihr
eigenes Muster enthält
 Kompliziertes Regelsystem in den Daten
 Daten folgen nicht alle einer festen Regel, sondern einer Verknüpfung von Regeln, die
auf einer Menge von Pattern-Sprachen aufbauen
z.B seien p1, p2, p3, p4 Patterns, und es gelten die folgenden Regeln:
w  L(p1)  w  W
w  L(p1) und w  L(p2)  w  W
w  L(p1) und w  (L(p2)  L(p3)  L(p4))  w  W
Sonst w  W
 Mit einem Pattern kann man diese Wortmenge W nicht darstellen
 Mutierte Daten
 Daten folgten ursprünglich einem festen Muster, sind aber durch individuelle Mutationen
von einem gemeinsamen Muster abgewichen (z.B. DNS-Teilsequenzen, in denen
einzelne Aminosäuren ausgetauscht wurden)
77
Entscheidungsbäume über regulären Patterns
Ein Entscheidungsbaum über regulären Patterns ist ein Binärbaum T mit:
 Jedes Blatt u in T ist mit einem Wert value(u) ϵ {0,1} versehen.
 Jeder innere Knoten v in T ist mit einem regulären Pattern q(v) versehen.
 Zu einem inneren Knoten v aus T bezeichne
 left(v) den linken Sohn von v (nein-Zweig).
 right(v) den rechten Sohn von v (ja-Zweig).
 root(T) bezeichne den Wurzelknoten von T.
Entscheidungsbäume dieser Art können zur binären Klassifikation von Wörtern
(Entscheidung über die Zugehörigkeit zu einer Sprache) eingesetzt werden.
Was hat das mit „Data Mining zu tun?
Die Konstruktion eines solchen Entscheidungsbaumes aus (positiven und
negativen) Beispielen ist Modellbildung im Sinne des Data Mining.
78
39
´n Beispiel...
 A = {a, b}
 Sprache L = {ambna| m,n  1, m+n  3}
 z.B. aaba, abba, aaaaabbba, abbbbba,...  P (= positive Beispiele)
 z.B. aba, ababab, abab, aa, bba...  N (= negative Beispiele)
Charakteristisch für alle Wörter in L ist:
 Sie fangen mit a an und hören mit ba auf
 Folgt irgendwo im Wort ein a auf ein b außer ganz am Schluss, kann das Wort
nicht zur Sprache gehören
w ϵ L(ax1ba)
nein
wϵN
Notwendig: Wort fängt mit a an und hört mit ba auf
ja
0
w ϵ L(x1bax2)
nein
wϵP
ja
wϵN
1
Falls irgendwo in der Mitte des
Wortes hinter einem b ein a steht,
gehört das Wort nicht zur Sprache
(x2 darf nicht leer sein)
0
79
Was bedeutet „möglichst einfach“?
Gesucht:
Möglichst einfacher Entscheidungsbaum über regulären Patterns, welcher die
Zugehörigkeit eines Wortes zu einer Pattern-Sprache entscheidet
‘n Beispiel:
A = {a,b,c}
P = {abbaccba, cabbabccac, aac, babac}
N = {cbba, acbbca, aabbb}
nein
x1bbx2
1
ja
x1bbx2
x1b
x1a
1
1
1
x1abx2
ja
x1ccx2
0
abx1
nein
1
1
0
0
Beide Bäume klassifizieren o.g. Beispiele korrekt, aber der linke Baum einfacher.
Das liegt daran, dass die Patterns im linken Baum für die Gestalt der Beispiele
„relevanter“ sind als die im rechten Baum.
 nötig:
 Def. der „Relevanz“ eines Patterns
 speziellstes Pattern, welches möglichst viele Elemente aus P und möglichst
wenige Elemente aus N abdeckt.
80
40
Warum Entscheidungsbäume über regulären Patterns?
 Robust gegenüber verrauschten Daten (mehrere verschiedene Patterns
werden zur Klassifikation genutzt)
 für Probleme in der Praxis gut geeignet
 Positive und negative Beispiele werden im Lernverfahren in Betracht
gezogen
 Verschachtelte Zusammenhänge können in Baumform dargestellt werden
 Regeln lassen sich präziser formulieren
z.B.: w  L(p1) und w  (L(p2)  L(p3)  L(p4))  w  W
zunächst gesucht:
Sprache, die von gegebenem Entscheidungsbaum dargestellt wird
81
Beispiel: zurück zu den Membran-Proteinen
Gegeben:
 Alphabet Aas = {A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y}
 Entscheidungsbaum T
Gesucht:
 Sprache, die von T dargestellt wird, d.h. Sprache der Membran-Proteine
x1Dx2
nein
x1Ex2
P
N
[78,1%, 6,6%]
84,7%



1
P
N
[6,6%, 3,9%]
ja
0
P
N
[10,9%, 76,5%]
x1Px2
1
89,5%
0
P
N
[4,4%, 13,0%]
Fast alle Proteine, welche die Aminosäuren E und P, aber nicht D enthalten,
gehören zu den Transmembran-Proteinen.
L(T) enthält genau die Wörter über Aas , die nicht in L(x1Dx2 ), und entweder
nicht in L(x1Ex2 ) oder in L(x1Ex2 ) , aber nicht in L(x1Px2 ) liegen:
L(T)={w: (wL(x1Dx2)) ⋀ ((wL(x1Ex2))⋁((wL(x1Ex2))⋀(wL(x1Px2))))
Insgesamt wurden 84,7% der positiven und 89,5% der negativen Testbeispiele
durch diesen Entscheidungsbaum korrekt klassifiziert.
82
41
Wie erzeugt man nun einen
Entscheidungsbaum aus (positiven
und negativen) Beispielen?
q1
?
N
P
q2
q3
q4
Idee
Ziel:
 Aus positiven und negativen Beispielen einen möglichst einfachen
Entscheidungsbaum generieren
 Gesucht sind möglichst „gute“ Patterns
 In jedem Knoten sollte möglichst viel Information über den Knoten
gewonnen werden
Idee:
 Entscheidungsbaum anhand des maximalen Informationsgewinnes in
jedem Knoten gewinnen
 Ansatz zur Ermittlung des Informationsgewinns: Entropie
84
42
N
Informationsgewinn bei regulären Patterns
B=0



A=0
Seien w ein (beliebiges) Wort, q ein Pattern
seien A, B Ereignisse:
A=1
 B{0,1} mit B=1  wP und B=0  wN
B=1
 A{0,1} mit A=1  wL(q), A=0 sonst
L (q )
P
Gesucht ist ein Pattern q, das den Informationsgewinn maximiert, d.h.
 möglichst viele Beispiele aus P und möglichst wenige aus N oder
 möglichst viele Beispiele aus N und möglichst wenige Beispiele aus P
abdeckt:
IG(A,B) = H(B)-HA(B)  max



B ist nicht von q abhängig, es reicht also HA(B)  min
HA=1(B) ist die Entropie von B unter der Bedingung dass ein Wort w zur Sprache
L(q) des Patterns q gehört
HA=0(B) ist die Entropie von B unter der Bedingung dass ein Wort w nicht zur
Sprache L(q) des Patterns q gehört
HA(B) = Hq(B) = p(A=1)HA=1(B) + p(A=0)HA=0(B)
85
Erinnerung : A  1  w  L(q ); B  1  w  P; B  0  w  N
Herleitung von Hq(B)
H q ( B )  p ( w  L( q ))  H wL ( q ) ( B )  p ( w  L(q ))  H wL ( q ) ( B )
H wL ( q ) ( B)   p ( w  P | w  L(q ))  ld ( p ( w  P | w  L( q )))
 p ( w  N | w  L( q ))  ld ( p ( w  N | w  L( q )))
P
H wL ( q ) ( B)   p ( w  P | w  L(q ))  ld ( p ( w  P | w  L(q )))
P \ L(q )
 p ( w  N | w  L(q ))  ld ( p ( w  N | w  L( q )))
p ( w  L(q )) 
p( w  P | w  L(q)) 
p( w  P | w  L(q)) 
p( w  N | w  L(q)) 
p( w  N | w  L(q)) 
L(q )  ( P  N )
PN

L(q )  P  L(q )  N
L(q)  P
PN
L( q )  P
L( q )  P  L( q )  N
N
L(q)  N
P \ L( q )
P \ L( q )  N \ L ( q )
L(q)  N
L(q)  P  L(q)  N
N \ L( q )
P \ L( q )  N \ L (q )
N \ L(q )
Analog
zu den
Gleichungen
oben
p ( w  L(q )) 
( P  N ) \ L (q )
PN

P \ L(q )  N \ L(q )
PN
L(q )
 1  p( w  L (q ))
86
43
Ergebnis der Herleitung von Hq(B)
H q ( B) 


| L( q )  P |
| L( q )  P |  | L( q )  N | 
| L(q )  P |

 | L(q )  P |  | L(q )  N |  ld  | L(q )  P |  | L(q )  N | 
|P||N |







L( q )  N
L(q )  N

 ld 
| L ( q )  P |  | L( q )  N |
 | L(q )  P |  | L(q )  N | 





| P \ L( q ) |  | N \ L( q ) | 
| P \ L( q ) |
| P \ L( q ) |

 | P \ L(q ) |  | N \ L(q ) |  ld  | P \ L(q ) |  | N \ L(q ) | 
|P|| N |






N \ L(q )
N \ L(q )

 ld 
| P \ L( q ) |  | N \ L( q ) |
 | P \ L( q ) |  | N \ L( q ) | 



87
Algorithmus
1.
2.
3.
4.
5.
Konstruiere ein Blatt mit 0 bzw. 1, wenn P bzw. N die leere Menge ist
Wähle das Pattern q, welches die Entropie Hq(B) minimiert (d.h. den
Informationsgewinn maximiert)
Schreibe q in die Wurzel des Baumes
Für den rechten Sohn des Knotens ermittle
Pneu = L(q) ∩ P ,Nneu = L(q) ∩ N, also alle übrigen Worte in P bzw. N, die
bereits mit dem Pattern q abgedeckt werden („Ja-Zweig“)
Rufe den Algorithmus rekursiv mit Pneu und Nneu auf
Für den linken Sohn des Knotens wähle
Pneu = P \ L(q) ,Nneu = N \ L(q), also alle übrigen Worte in P bzw. N, die nicht
P
durch das Pattern q abgedeckt werden („Nein-Zweig“)
Rufe den Algorithmus rekursiv mit Pneu und Nneu auf
N
L(q )
88
44
Welche Patterns kommen für Schritt 2 in Frage?

nur solche Patterns, die mindestens ein Wort aus P oder N, d.h. aus
M = P ∪ N erzeugen (alle anderen sind nutzlos)

aufeinander folgende Variablen werden zu einer einzigen Variablen
zusammengefasst (z.B. abx1x2ba wird zu abx1ba)
 macht das Pattern einfacher
 verschlechtert die Güte der Lösung nicht wesentlich (da z.B.
abx1ba alle Wörter, die sich aus abx1x2ba bilden lassen,
einschließt)

Die Menge der „Kandidaten“ RPat(M), welche o.g. Bedingungen
erfüllt, kann aus M systematisch erzeugt werden, indem man aus
jedem Wort in w ∈ M alle dieses Wort erzeugende Patterns, welche
o.g. Bedingungen erfüllen, konstruiert.

Die Anzahl dieser Patterns ist endlich, da w von endlicher Länge ist.

Wir wählen das Element aus RPat(M), welches den größten
Informationsgewinn bringt.

Gibt es deren mehrere, wählen wir das kürzeste von denen.
89
Algorithmus zur Erzeugung von RPat(M)
1. Initialisiere RPat(M) := P  N
2. für jedes Wort w ∈ P N führe folgende rekursive Funktion aus:
input:
RPat(M)alt, ein Wort w oder ein Pattern q
output: RPat(M)neu
für alle n = 1 ... (laenge(w)-1):
 für jedes n-elementige Teilwort t in w:
 erzeuge ein Pattern q, indem t durch eine Variable ersetzt wird, wenn
es nicht bereits an eine Variable grenzt oder eine Variable enthält
 füge das so erzeugte Pattern q zu RPat(M) hinzu:
 RPat(M)neu := RPat(M)alt  {q}
 Rufe die Funktion rekursiv mit RPat(M)neu auf
‘n Beispiel
 Sei M = P  N = { aab , bb }
 Alle Patterns, welche die Worte aab und bb erzeugen, können nach o.g.
Algorithmus systematisch konstruiert werden.
 Dies ergibt RPat(M) ={ aab, x1ab, x1ax2,, ax1b, aax1, x1b, ax1, bb, bx1 }
90
45
Algorithmus zur Generierung eines Entscheidungsbaums
input:
P, N
output: baum(Wurzel, linker_UB, rechter_UB)
function EBaum(P,N);
begin
if N =  then
EBaum := baum(1,nil,nil)
if P =  then
EBaum := baum(0,nil, nil)
if N ≠  and P ≠  then begin
Q:={q: q∈RPat(P∪ N), ∀ q‘∈RPat(P∪N): Hq(B) ≤Hq‘(B))};
q := kürzestes Element aus Q;
Pr := L(q) ∩ P;
Nr := L(q) ∩ N;
Pl := P \ L(q);
Nl := N \ L(q);
EBaum := baum(q,EBaum(Pl,Nl), EBaum(Pr,Nr))
end
end;
91
‘n Beispiel
Sei P={aab} , N={bb}
 RPat(P ∪ N) ={aab, x1ab, ax1b, aax1, ax1, x1b, x1ax2, bb, bx1}

Man berechne die Entropien Hq(B) für jedes Element q in RPat(P ∪ N)
 Die Hq(B) verschiedener Patterns sind gleich, wenn diese Patterns in
beiden entstehenden Unterbäumen gleiche Verhältnisse zwischen
Beispielen aus P und N erzeugen, d.h. jeweils gleich viele Beispiele aus P
und N erzeugen
 Beispiel: x1ab, ax1b sind gleichwertig, da sie genau ein Element in P
und keines in N erzeugen
 Gleiche Entropien ergeben sich also für
 aab, x1ab, ax1b, aax1, ax1, x1ax2 (1 aus P, 0 aus N)
 bb, bx1(0 aus P, 1 aus N)
 x1b, (1 aus P, 1 aus N)
 Die Berechnung gestaltet sich wie folgt:
92
46
Berechnung von Hq(B) mit q=x1ab
H q  p ( w  L(q ))  H wL ( q ) ( B )  p ( w  L(q ))  H wL ( q ) ( B ) 
1
1
 0  (1  )  0  0
2
2
H wL ( q ) ( B)   p ( w  P | w  L(q ))  ld ( p ( w  P | w  L(q )))
 p ( w  N | w  L( q ))  ld ( p ( w  N | w  L(q )))  1  ld (1)  0  ld (0)  0
H wL ( q ) ( B)   p ( w  P | w  L(q ))  ld ( p ( w  P | w  L(q )))
P
 p ( w  N | w  L(q ))  ld ( p ( w  N | w  L(q )))  0
p ( w  L(q )) 
p( w  P | w  L(q)) 
p( w  P | w  L(q )) 
L(q )  P  L(q)  N
PN
L( q )  P
L( q )  P  L(q )  N
P \ L( q )
P \ L( q )  N \ L( q )


1 0 1

11 2

1
1
1 0
0
0
1
P \ L(q )
L(q )  P
x1ab aab
N
L(q)  N
0
p( w  N | w  L(q)) 

0
L( q )  P  L ( q )  N 1  0
p( w  N | w  L(q)) 
N \ L (q )
P \ L( q )  N \ L( q )

L(q )  N
bb
1
1
0 1
L(q )
N \ L(q )
93
Berechnung von Hq(B) mit q=x1b
1 1
1
H q  p ( w  L(q ))  H wL ( q ) ( B )  p ( w  L(q ))  H wL ( q ) ( B )  1   (1  1)  
2 2
2
H wL ( q ) ( B)   p( w  P | w  L(q))  ld ( p( w  P | w  L(q )))
1
1
1
 p ( w  N | w  L( q ))  ld ( p ( w  N | w  L( q )))    ld ( )  0 
2
2
2
H wL ( q ) ( B)   p ( w  P | w  L(q ))  ld ( p ( w  P | w  L(q )))
P
 p ( w  N | w  L(q ))  ld ( p ( w  N | w  L(q )))  0
p ( w  L(q )) 
p( w  P | w  L(q)) 
p( w  P | w  L(q )) 
L(q )  P  L(q )  N
PN
L(q)  P
L( q )  P  L( q )  N
P \ L( q )
P \ L( q )  N \ L( q )


11
1
11

1
1

11 2
0
0
0
P \ L(q )
L(q )  P
N
x1b
L(q )  N
L(q)  N
1
1
p( w  N | w  L(q)) 


L( q )  P  L ( q )  N 1  1 2
N \ L( q)
0
p ( w  N | L(q)) 

0
P \ L( q )  N \ L (q ) 0  0
aab
bb
N \ L(q )
L(q )
94
47
Berechnung von Hq(B) mit q=bx1
H q  p ( w  L( q))  H wL ( q ) ( B )  p ( w  L(q ))  H wL ( q ) ( B ) 
1
1
 0  (1  )  0  0
2
2
H wL ( q ) ( B)   p ( w  P | w  L( q ))  ld ( p ( w  P | w  L(q )))
 p ( w  N | w  L(q ))  ld ( p ( w  N | w  L(q )))  0  ld (0)  1  ld (1)  0
H wL ( q ) ( B)   p ( w  P | w  L(q ))  ld ( p ( w  P | w  L(q )))
P
 p ( w  N | w  L(q ))  ld ( p ( w  N | w  L(q )))  0
p ( w  L(q )) 
L(q )  P  L(q )  N
PN

P \ L(q )
0 1 1

11 2
aab
L(q)  P
L(q )  P
0
p( w  P | w  L(q)) 

0
L( q )  P  L( q )  N 0  1
p( w  P | w  L(q)) 
p( w  N | w  L(q)) 
p( w  N | w  L(q)) 
P \ L(q )

P \ L( q )  N \ L( q )
L(q)  N
L(q)  P  L(q)  N
N \ L( q)
P \ L (q )  N \ L (q )


1
1
1 0
N
bx1
L(q )  N
1
1
0 1
bb
0
0
1 0
N \ L(q )
L(q )
95
Anwendung des Algorithmus
 Beim ersten Aufruf des
Algorithmus kommen wir
in den else-Zweig wo wir
alle Patterns mit
minimaler Entropie
auswählen
RPat(M) = {aab, x1ab, ax1b, aax1, ax1, x1b, x1ax2, x1, bb, bx1}
{ 0,
0,
0,
0, 0, ½, 0, ½, 0, 0 }
Hq(B)=
Knoten* EBaum(Menge P, Menge N)
{
if(N = )
return [1,null,null];
else if(P = )
return [0,null, null];
else
{
Q : {q | q  RPat ( P  N )  (q ,  RPat ( P  N ) : H q ( B)  H q , ( B))};
q : (Element aus Q mit kürzester Länge);
Pr : L( q )  P;
N r : L( q )  N ;
Pl : L( q )  P;
N l : L( q )  N ;
return [q, EBaum( Pl , N l ), EBaum( Pr , N r )];
}
}
96
48
Anwendung des Algorithmus
 Beim ersten Aufruf des
Algorithmus kommen wir
in den else-Zweig wo wir
alle Patterns mit
minimaler Entropie
auswählen
 Dann wählen wir das
kürzeste Element (bzw.
davon das erste)
RPat(M) = {aab, x1ab, ax1b, aax1, ax1, x1b, x1ax2, x1, bb, bx1}
{ 0,
0,
0,
0, 0, ½, 0, ½, 0, 0 }
Hq(B)=
Knoten* EBaum(Menge P, Menge N)
{
if(N = )
return [1,null,null];
else if(P = )
return [0,null, null];
else
{
Q : {q | q  RPat ( P  N )  (q ,  RPat ( P  N ) : H q ( B)  H q , ( B))};
q : (Element aus Q mit kürzester Länge);
Pr : L( q )  P;
N r : L( q )  N ;
Pl : L( q )  P;
N l : L( q )  N ;
return [q, EBaum( Pl , N l ), EBaum( Pr , N r )];
}
}
97
Anwendung des Algorithmus
 Beim ersten Aufruf des
Algorithmus kommen wir
in den else-Zweig wo wir
alle Patterns mit
minimaler Entropie
auswählen
 Dann wählen wir das
kürzeste Element (bzw.
davon das erste)
 Es ergeben sich folgende
Mengen:
 Pr = {aab} = P
 Nr = 
 Pl = 
 Nl = {bb} = N
 Rekursion aufrufen für Pl
mit Nl und für Pr mit Nr
RPat(M) = {aab, x1ab, ax1b, aax1, ax1, x1b, x1ax2, x1, bb, bx1}
{ 0,
0,
0,
0, 0, ½, 0, ½, 0, 0 }
Hq(B)=
Knoten* EBaum(Menge P, Menge N)
{
if(N = )
return [1,null,null];
else if(P = )
return [0,null, null];
else
{
Q : {q | q  RPat ( P  N )  (q ,  RPat ( P  N ) : H q ( B)  H q , ( B))};
q : (Element aus Q mit kürzester Länge);
Pr : L( q )  P;
N r : L( q )  N ;
Pl : L( q )  P;
N l : L( q )  N ;
return [q, EBaum( Pl , N l ), EBaum( Pr , N r )];
}
}
98
49
In der Rekursion
 In der ersten Rekursion
für den linken Sohn
kommen wir in den Zweig
mit P = 
 Wir erhalten also ein
Blatt mit dem Wert 0
 Pl = 
 Nl = {bb} = N
ax1
 Pr = {aab} = P
 Nr = 
0
Knoten* EBaum(Menge P, Menge N)
{
if(N = )
return [1,null,null];
else if(P = )
return [0,null, null];
else
{
Q : {q | q  RPat ( P  N )  (q ,  RPat ( P  N ) : H q ( B)  H q , ( B))};
q : (Element aus Q mit kürzester Länge);
Pr : L( q )  P;
N r : L( q )  N ;
Pl : L( q )  P;
N l : L( q )  N ;
return [q, EBaum( Pl , N l ), EBaum( Pr , N r )];
}
}
99
In der Rekursion
 In der ersten Rekursion
für den linken Sohn
kommen wir in den Zweig
mit P = 
 Wir erhalten also ein
Blatt mit dem Wert 0
 Durch Rückkehr kommen
wir in die zweite
Rekursion (die für den
rechten Sohn)
 Dort erreichen wir den
Zweig für N = 
 Wir erhalten also ein
Blatt mit dem Wert 1
 Der Baum ist fertig!
 Pl = 
 Nl = {bb} = N
ax1
1
0
 Pr = {aab} = P
 Nr = 
Knoten* EBaum(Menge P, Menge N)
{
if(N = )
return [1,null,null];
else if(P = )
return [0,null, null];
else
{
Q : {q | q  RPat ( P  N )  (q ,  RPat ( P  N ) : H q ( B)  H q , ( B))};
q : (Element aus Q mit kürzester Länge);
Pr : L( q )  P;
N r : L( q )  N ;
Pl : L( q )  P;
N l : L( q )  N ;
return [q, EBaum( Pl , N l ), EBaum( Pr , N r )];
}
Klar: das war ein Trivialfall 
}
100
50
Verbesserung der Ergebnisse
Ideal: möglichst deutliche/„einfache“ Muster in Beispielmengen P und N
Verbesserungsmöglichkeiten:
 die zugrundeliegenden Daten anders messen, z.B.:
 das Datenformat ändern:
 (Monat[1..12],Tag[1..31],Jahr[00..99]) zu (Tag im Jahr[0..365], Jahr[00..99])
 die Datenreihenfolge ändern:
 (T1T1T1T2T2T2J1J1J2J2...) zu (T1T1T1J1J1T2T2T2J2J2...)
 andere Daten von der gleichen Quelle messen, z.B.:
 nicht Datum und IP-Adresse speichern, sondern Datum und
Kundennummer
 vorhandene Daten vorklassifizieren, z.B.:
 alle Einkäufe von Kunden erst in deren Altersgruppen zerlegen und dann
nach Mustern suchen
 entspricht einer Alphabetreduzierung, da weniger „Buchstaben“ (im
Beispiel das Alter) in der Sprache vorkommen
101
2.2 Regelbasierte Klassifikatoren
DO Spezies
BlutTyp
Hautstruktur
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
warm
kalt
kalt
warm
kalt
kalt
warm
warm
warm
kalt
kalt
warm
warm
kalt
kalt
Haar
Schuppen
Schuppen
Haar
keine
Schuppen
Haar
Federn
Fell
Schuppen
Schuppen
Federn
Stacheln
Schuppen
keine
Mensch
Python
Lachs
Wal
Frosch
Waran
Fledermaus
Taube
Katze
Guppy
Alligator
Pinguin
Igel
Aal
Salamander
gesucht
Regelwerk,
welches die
Daten möglichst
korrekt
klassifiziert
R1:
R2:
R3:
R4:
R5:
lebend
Wassergebärend bewohner
ja
nein
nein
ja
nein
nein
ja
nein
ja
ja
nein
nein
ja
nein
nein
nein
nein
ja
ja
halb
nein
nein
nein
nein
ja
halb
halb
nein
ja
halb
gegeben Datensatz
kann
fliegen
hat
Beine
hält Winterschlaf
Klasse
nein
nein
nein
nein
nein
nein
ja
ja
nein
nein
nein
nein
nein
nein
nein
ja
nein
nein
nein
ja
ja
ja
ja
ja
nein
ja
ja
ja
nein
ja
nein
ja
nein
nein
ja
nein
ja
nein
nein
nein
nein
nein
ja
nein
ja
Säuger
Reptil
Fisch
Säuger
Amphibie
Reptil
Säuger
Vogel
Säuger
Fisch
Reptil
Vogel
Säuger
Fisch
Amphibie
(lebend gebärend = nein)  (kann fliegen = ja)  Vogel
(lebend gebärend = nein)  (Wasserbewohner = ja)  Fisch
(lebend gebärend = ja)  (Blut Typ = warm)  Säuger
(lebend gebärend = nein)  (kann fliegen = nein)  Reptil
(Wasserbewohner = halb)  Amphibie
102
51
Regel
ri: Praemissei → Konklusioni
 Coverage( ri )
= Anz. DO mit wahrer Prämisse / Anz. aller DO
 Accuracy( ri )
= Anz. DO mit wahrer Prämisse und wahrer Konlusion / Anz. DO mit wahrer Prämisse
 Eine Regelmenge ist gegenseitig ausschließend, wenn es zu jedem DO höchstens
eine Regel mit wahrer Prämisse gibt.
Nicht gegenseitig ausschließende Regelmengen können zu KlassenzugehörigkeitsKonflikten führen, welche wie folgt behandelt werden können:


Geordnete Regeln: Regeln werden nach Prioritäten (z.B. nach Accuracy
oder Coverage) geordnet. Die höchste Priorität entscheidet die aus der
Konfliktmenge anzuwendende Regel.
Ungeordnete Regeln: Alle Regeln der Konfliktmenge werden angewandt.
Die Häufigkeit der Konklusionen (ggf. gewichtet mit den Regel-Accuracies)
entscheidet die zuzuordnende Konklusion.
103
 Ordnungs-Schemata geordneter Regeln

Regelbasierte Ordnung:
Ordnung nach einem Regel-Qualitätsmaß (z.B. Accuracy)

Klassenbasierte Ordnung:

Regeln gleicher Konklusion (Klasse) werden gruppiert.

Gruppen werden nach Konklusionen geordnet.

Innerhalb einer Gruppe ist die Reihenfolge dann unwichtig, weil
ohnehin die gleiche Konklusion zugeordnet wird.
 Eine Regelmenge ist vollständig, wenn jede Kombination von Attributwerten
mindestens eine Regelprämisse wahr macht.
Unvollständige Regelmengen werden oft durch eine Default-Regel mit leerer
Prämisse („wahr“, wenn keine andere Prämisse wahr ist) und einer DefaultKonklusion ergänzt.
Die meisten Regelgenerierungs-Algorithmen verwenden klassenbasierte Ordnung.
104
52
Regelgenerierungsverfahren: direkte / indirekte Regelextraktion
Direkte Regelextraktion


Reihenfolge der Behandlung der Klassen kann abhängig sein von

Anzahl zugehöriger DO

Kosten einer Fehlklassifikation für jede Klasse

Häufigkeit des Auftretens dieser Klasse (unabh. vom Trainings-Set)
Für eine Klasse

DO dieser Klasse:
positive Beispiele

DO anderer Klassen:
negative Beispiele
Algorithmus
E: Trainings Set
Y = { y1 , y2 , ... , yk }: geordnete Menge (Liste) aller Klassen
R :=  (initiale) Liste der Regeln
for y = y1, ..., yk-1 do
while Stopp Bedingung nicht zutreffend do
r ← LearnOneRule( E , y )
entferne DO aus E, für welche die Prämisse von r wahr ist
füge r der Regelmenge (am Ende) hinzu: R ← R ∪ { r }
end while
end for
füge Default Regel true → yk ans Ende der Liste hinzu
105
Eine Regel (für die betrachtete Klasse) ist gut, wenn sie
•
alle (oder die meisten) positiven und
•
(fast) keine negativen
Beispiele für diese Klasse abdeckt.
Nachdem eine solche Regel gefunden wurde, werden die von ihr abgedeckten
Beispiele aus dem Trainings-Datensatz entfernt:
R1
R1
R2
(ii) Step 1
(iii) Step 2
(iv) Step 3
106
53
Regelgenerierungsstrategien
•
•
top down (konklusionsgetrieben, general-to-specific)
bottom up (prämissengetrieben, specific-to-general)
top down Regelgenerierung
•
•
•
initiale Regel für eine Klasse yi: leere Liste (konjunktiv verknüpfter) Prämissen
der Prämissenliste werden systematisch neue Prämissen hinzugefügt
nächste Prämisse könnte z.B. ein Attribut sein, welches bei einem Wert
•
eine max. Anzahl DO der betrachteten Klasse und
•
eine min. Anzahl DO anderer Klassen
abdeckt.
bottom up Regelgenerierung
•
initiale Regel für eine Klasse yi wird aus einem DO dieser Klasse rekrutiert
•
•
Regel wird systematisch generalisiert durch Entfernung von Prämissen
Es werden solche Prämissen bevorzugt entfernt, durch deren Entfernung
•
eine max. Anzahl DO dieser Klasse und
•
eine min. Anz. DO anderer Klassen
zusätzlich abgedeckt wird
107
108
54
Regel-Evaluierung
zwecks Ermittlung geeigneter Attribute zum Hinzufügen / Entfernen
Accuracy(r) zu verwenden ...
... ist nur auf den ersten Blick eine gute Idee, weil Coverage(r) unberücksichtigt bleibt:
Betrachten wir einen Datensatz mit 60 positiven und 100 negativen DO.
•
Sei r1 eine Regel, welche 50 positive und 5 negative DO abdeckt.
Sei r2 eine Regel, welche 2 positive und kein negatives DO abdeckt.
r2 hat die bessere Accuracy, aber r1 ist sicher die bessere Regel.
•
109
Regel-Evaluierung
zwecks Ermittlung geeigneter Attribute zum Hinzufügen / Entfernen
1. Statistischer Test
Ermittlung des Wahrscheinlichkeitsverhältnisses
k
fi
ei
R  2
k
f
i 1
i
 ld
fi
ei
Anz. der Klassen
Anz. der DO aus Klasse i, welche durch die Regel abgedeckt werden
Anz. von DO aus Klasse i, welche durch eine beliebige Regel mit gleicher
Coverage abgedeckt würden,
Betrachten erneut den Datensatz mit 60 positiven und 100 negativen DO.
•
Sei r1 eine Regel, welche 50 positive und 5 negative DO abdeckt.
•
Sei r2 eine Regel, welche 2 positive und kein negatives DO abdeckt.
r1 : f   50 f -  5
60
100
e   55 
 20.625 e -  55 
 34.375
160
160

 50 
 5 
R(r1 )  2 50  ld
  5  ld
   99.9
 20.625 
 34.375  

r2 : f   2 f -  0
100
60
 0.750 e -  2 
 1.250
160
160

 2 
 0 
R(r2 )  2 2  ld
  0  ld
   5.66
 0.750 
 1.250  

e  2 
110
55
Regel-Evaluierung zwecks Ermittlung geeigneter Attribute zum Hinzufügen / Entfernen
2. LAPLACE, m-estimate
beziehen die Coverage einer Regel mit ein
Laplace(r ) 
n
f+
k
p+
f 1
nk
m  estimate(r ) 
f   k  p
nk
Anz. der DO, welche durch die Regel abgedeckt werden
Anz. der pos. DO, welche durch die Regel abgedeckt werden
Anz. der Klassen
Anteil der pos. DO im gesamten Trainings-Datensatz
Für p+=1/k ist Laplace(r) = m-estimate(r).
Betrachten erneut den Datensatz mit 60 positiven und 100 negativen DO.
•
Sei r1 eine Regel, welche 50 positive und 5 negative DO abdeckt.
•
Sei r2 eine Regel, welche 2 positive und kein negatives DO abdeckt.
2 1
50  1
 0.8947
Laplace(r2 ) 
 0.75
22
55  2
60
60
50  2 
2  2
160
160
 0.8904 m  estimate(r2 ) 
 0.6875
m  estimate(r1 ) 
55  2
22
Laplace(r1 ) 
111
Regel-Evaluierung zwecks Ermittlung geeigneter Attribute zum Hinzufügen / Entfernen
3. FOIL‘s information gain
kombiniert den Informationsgewinn einer Regelmodifikation mit der Coverage nach
der Modifikation
  p 
 p 
1
0
 
  ld 
FOIL's information gain  p1  ld 



p
n
p
n


1
1
0
0



Erweitert man eine Regel von r: A → + zu r´: A ∧ B → + , so ist
p0
Anz. der pos. DO, welche durch r abgedeckt werden
n0
Anz. der neg. DO, welche durch r abgedeckt werden
p1
Anz. der pos DO, welche durch r´ abgedeckt werden
n1
Anz. der neg. DO, welche durch r´ abgedeckt werden
Betrachten erneut den Datensatz mit 60 positiven und 100 negativen DO.
•
Initial sei r: true  +
•
Sei r1´ eine Regel, welche 50 positive und 5 negative DO abdeckt.
•
Sei r2´ eine Regel, welche 2 positive und kein negatives DO abdeckt.
  50 
 60  
FOIL(r1 ' )  50 ld    ld 
   63.87
 160  
  55 
 2
 60  
FOIL(r2 ' )  2 ld    ld 
   2.83
 160  
 2
112
56
•
Stopp-Kriterium des Regelgenerierungs-Algorithmus (page 105)
•
•
•
Regel Pruning
•
•
Berechne den Gewinn einer neuen Regel (statistisch, Laplace, m-estimate,
FOIL‘s information gain)
Ist der Gewinn nicht signifikant, verwirf die neue Regel und stoppe den
Algorithmus
Analog zu den Entscheidungsbaum-Generierungs-Methoden neigen auch
Regelgenerierungs-Methoden zum Overfitting (siehe page 54 ff) und
bedürfen ähnlicher Pruning Methoden (siehe page 60 ff).
Algorithmische Aspekte
•
•
•
Der Regel – Generierungs - Algorithmus (siehe page 105) sieht ein
Entfernen derjenigen DO vor, die durch die gerade generierte Regel bereits
abgedeckt werden.
Solche Abdeckungen können sich auch überschneiden.
Die Bewertung der inkrementellen Verbesserung durch eine neue Regel ist
daher nur auf der Basis des Datensatzes nach der Entfernung bereits
abgedeckter DO realistisch.
113
RIPPER Algorithmus
•
weit verbreitet
•
geeignet für unbalancierte Klassenverteilung der DO
•
geeignet für verrauschte Daten
•
Overfitting wird durch ein Validation Set vermieden
•
2-Klassen Problem
•
mehrheitl. Klasse wird als default gesetzt
•
•
Regeln für die Minderheits - Klasse werden generiert
Multi-Klassen Problem
•
Klassen werden nach steigender Häufigkeit sortiert: [y1 , y2 , ..., yc ]
•
RIPPER beginnt mit der seltensten Klasse y1
•
im i-ten Durchlauf werden Regeln für yi generiert, wobei
•
DO für yi als pos. DO und
•
alle anderen (yi+1,  yi+2  ...  yc) als neg. DO
eines 2-Klassen Problems behandelt werden
•
es gibt c-1 Durchläufe, yc ist dann die default Klasse
114
57
RIPPER Algorithmus
•
•
•
•
•
•
top-down Regelgenerierung (siehe page 107)
FOIL‘s information gain wird genutzt, um die beste Prämisse zur weiteren
Verfeinerung der Regel auszuwählen
stoppt, wenn eine neue Prämisse auch neg. DO abdecken würde
nach Generierung einer Regel wird diese geprunt (s.u.), danach die durch sie
abgedeckten DO entfernt und die Regel hinzugefügt
Generierung neuer Regeln stoppt, wenn
1. eine hinzuzufügende Regel eine Description Length (ähnlich der bei
Entscheidungsbäumen, siehe page 63) der Regelmenge um mind. d Bits
erhöht (default: d = 64) oder
2. die Fehlklassifikations-Rate einer generierten Regel im Validation Set 50 %
überschreitet
post-Pruning jeder neuen Regel r ϵ R mit Hilfe eines Validation Sets
•
Metrik: vripper = (p-n)/(p+n) mit p = Anz. der pos. DO und n = Anz. der neg.
DO (≈ accuracy im Validation Set)
•
verbessert (vergrößert) sich diese Metrik durch Entfernung einer Prämisse,
wird diese auch entfernt
•
Pruning beginnt mit der letzten Prämisse und prüft Prämissen von hinten
nach vorn (von der letzten bis zur ersten)
•
während r vor dem Pruning nur pos. DO abdeckt, deckt r nach dem Pruning
pos. und neg. DO des Trainings-Sets ab.
115
Regelgenerierungsverfahren: direkte / indirekte Regelextraktion
Indirekte Regelextraktion
Es wird zunächst ein Entscheidungsbaum generiert, welcher dann zu Regeln
transformiert wird.
einfacher Ansatz: aus jedem Pfad eine Regel generieren:
116
58
Indirekte Regelextraktion
Dieser Ansatz lässt sich optimieren, z.B.
r2
r3
r5
(P=no)  (Q=yes) → +
(P=yes)  (R=no) → +
(P=yes)  (R=yes)  (Q=yes) → +
zu
beide Regelmengen
beschreiben
dieselbe
BOOLEsche
Funktion:
r2‘ (Q=yes) → +
r3 (P=yes)  (R=no) → +
P
Q
R
no
no
no
no
no yes
no yes no
+
no yes yes +
yes no
no
+
yes no yes
yes yes no
+
yes yes yes +
117
Indirekte Regelextraktion
Ansatz des C4.5 Regelgenerierungs-Algorithmus
Regelgenerierung
• Es wird zunächst aus jedem Pfad des Entscheidungsbaums eine Regel generiert.
• Für die Entfernung jeder Konjunktion in der Prämisse wird die Pessimistic Error
Rate (ähnlich der für Bäume, siehe Folie 61 f.: Anz. fehlklassifizierter DO + Malus
für jede Prämisse) ermittelt.
• Diejenige Regel-Verkürzung, die zur kleinsten Pessimistic Error Rate führt, wird
genommen, falls sich dadurch eine bessere Error Rate (über dem Validation Set)
als die der Original-Regel ergibt.
• Die so entstandene verkürzte Regel wird demselben Verfahren unterzogen usw.,
bis sich in einem Durchlauf bei keiner Verkürzung eine Verbesserung ergibt.
• Dabei können Regeln identisch werden. Deshalb werden mehrfach vorkommende
Regeln entfernt.
118
59
Indirekte Regelextraktion
Ansatz des C4.5 Regelgenerierungs-Algorithmus
Regelsortierung
• klassenbasiert, Regeln derselben Klasse werden gruppiert
• Gruppen werden nach steigender Total Description Length (ähnlich wie bei
Bäumen, siehe Folie 63) sortiert
• Description Length = Lexception + g * Lmodel mit
• Lexception
Anz. Bits, die man zum Kodieren der fehlklassifizierten DO braucht
• Lmodel
Anz. Bits, die man zur Kodierung des Modells (der Regeln)
benötigt (viele und/oder lange Regeln führen zu hohen Werten)
•g
Tuning-Parameter, welcher um so kleiner ist, je mehr redundante
Attribute im Modell enthalten sind, default Wert: 0.5
119
Beispiel zum Vergleich von indirekter (C 4.5) und direkter (RIPPER) Methode
Name
human
python
salmon
whale
frog
komodo
bat
pigeon
cat
leopard shark
turtle
penguin
porcupine
eel
salamander
gila monster
platypus
owl
dolphin
eagle
Give Birth
yes
no
no
yes
no
no
yes
no
yes
yes
no
no
yes
no
no
no
no
no
yes
no
Lay Eggs
no
yes
yes
no
yes
yes
no
yes
no
no
yes
yes
no
yes
yes
yes
yes
yes
no
yes
Can Fly
no
no
no
no
no
no
yes
yes
no
no
no
no
no
no
no
no
no
yes
no
yes
Live in Water Have Legs
no
no
yes
yes
sometimes
no
no
no
no
yes
sometimes
sometimes
no
yes
sometimes
no
no
no
yes
no
yes
no
no
no
yes
yes
yes
yes
yes
no
yes
yes
yes
no
yes
yes
yes
yes
no
yes
Class
mammals
reptiles
fishes
mammals
amphibians
reptiles
mammals
birds
mammals
fishes
reptiles
birds
mammals
fishes
amphibians
reptiles
mammals
birds
mammals
birds
120
60
Ergebnis
C4.5 Regeln
(aus Entscheidungsbaum und anschl. Pruning):
(Give Birth=No)  (Can Fly=Yes)  Birds
(Give Birth=No)  (Live in Water=Yes)  Fishes
(Give Birth=Yes)  Mammals
(Give Birth=No)  (Can Fly=No)  (Live in Water=No)  Reptiles
( )  Amphibians
Entscheidungsbaum
Give
Birth?
RIPPER Regeln
(dirkekt top down aus Trainings-DOs generiert)
(Live in Water=Yes)  Fishes
(Have Legs=No)  Reptiles
(Give Birth=No)  (Can Fly=No)  (Live In Water=No)  Reptiles
No
Yes
Live In
Water?
Mammals
Yes
No
(Can Fly=Yes)  (Give Birth=No)  Birds
()  Mammals
Sometimes
Fishes
Can
Fly?
Amphibians
Yes
Birds
No
Reptiles
121
C4.5 Regeln versus RIPPER Regeln
korrekte - vs. Fehliklassifikationen (über dem Trainings-Set)
C4.5 Regeln:
tatsächliche
Klasse
ermittelte Klasse
Amphibians Fishes Reptiles Birds
0
0
Amphibians
2
0
0
Fishes
2
0
Reptiles
1
3
0
0
Birds
1
0
0
Mammals
1
0
0
0
3
0
Mammals
0
1
0
0
6
0
0
0
2
0
Mammals
2
0
1
1
4
RIPPER Regeln:
tatsächliche
Klasse
ermittelte Klasse
Amphibians Fishes Reptiles Birds
0
0
0
Amphibians
0
0
Fishes
3
0
0
Reptiles
3
0
0
Birds
1
0
Mammals
2
1
122
61
Vorteile regelbasierter Klassifikatoren
 bzgl. Ausdruckfähigkeit gleich gut wie Entscheidungsbäume
 leicht interpretierbar
 leicht zu generieren
 können neue DO schnell klassifizieren (geringe Zeitkomplexität)
 Performance vergleichbar mit Entscheidungsbäumen
123
2.3 Nearest Neighbour Klassifikation (kNN)


„eifrige“ Lerner lernen ein Modell (Entscheidungsbaum, Regel-Set, …), sobald die
Trainings-DO verfügbar sind
„faule“ Lerner modellieren die Trainingsdaten erst dann, wenn eine KlassifikationsAufgabe ansteht - so auch kNN
Idee

Klasse ergibt sich aus den Klassen der nächsten Nachbarn im Trainings Set, z.B.


mehrheitlich vertretene Klasse
(ggf. mit der Ähnlichkeit gewichtete) Durchschnitts - Klasse
Ansatz

jedes Trainings-DO repräsentiert einen Punkt im d-dimensionalen Raum (d: Anz.
der Attribute)
für jedes neue DO wird eine Ähnlichkeit zu allen Trainings-DO ermittelt


die k ähnlichsten DO des Trainings-DO bestimmen die Klasse des neuen DO
Ähnlichkeitsmaße (siehe Folie 13 ff):





Distanzmaße im Euklidischen Raum (Manhattan City Block Distance L1, Euclidian
Distance L2, Supremum L∞)
Übereinstimmungsmaße bei binären Attributen (Simple Matching Coefficient, Jaccard
Coefficient)
Richtungsmaße im Euklidischen Raum (Kosinus-, Dice-, Tanimoto-, Overlap-Koeffizient)
lineare Abhängigkeit zwischen Attribut-Werten 2er DO (Korrelation)
124
62
Beispiel

2 reell- wertige Attribute x1, x2


2 rational – wertige Klassen Klasse = 1 und Klasse = 2
Ähnlichkeitsmaß: Euklidische Distanz (L2 – norm)
x2
neues DO
Trainings-DO
Klasse = 1
Klasse = 2
k=1
1,0
k=5
1,6
x1
125
noch ein Beispiel

2 reell- wertige Attribute x1, x2


2 binäre Klassen + und Ähnlichkeitsmaß: Euklidische Distanz (L2 – norm)
X
(a) 1-nearest neighbor
X
X
(b) 2-nearest neighbor
(c) 3-nearest neighbor
126
63
Wie wählt man ein passendes k ?
 k zu klein ⇒ anfällig für Overfitting
k= 1 könnte z.B. genau einen „Ausreißer“ erwischen,
obwohl alle anderen Trainings-DO der Umgebung eine
andere Klassenzugehörigkeit haben
 k zu groß ⇒ anfällig für Underfitting:
in der Praxis: 2 ≤ k ≤ 6

127
 Jedes Element der Menge kNN(x‘) der k nächsten Nachbarn eines zu
klassifizierenden DO z = [x‘, y‘] hat den gleichen Einfluss auf die
Klassenzugehörigkeit y‘
⇒ hohe Sensibilität bzgl. k
⇒ Verringerung dieser Sensibilität durch Wichtung jedes der k Nachbarn xi
mit seiner inversen quadratischen Distanz zum (der Ähnlichkeit mit dem)
zu klassifizierenden DO x‘ und Ermittlung derjenigen Klasse y‘∈ v,
welche dabei die höchste Summe aller Gewichte erhält:
y '  arg max
v
1
 ord (v  yi )
2
[ xi , yi ]  kNN ( x ') d ( x ' , xi )

mit
1 , falls prop  true
ord ( prop )  
0 , falls prop  false
128
64
Darstellung der Klassenzuordnung im d-dimensionalen Raum
Voronoi-Diagramm
Beispiel

k=3


drei Klassen: 1,2, 3
Ähnlichkeitsmaß:
Euklidische Distanz
(L2 Norm)
einfache Mehrheit
entscheidet die
Klassenzugehörigkeit
keine Gewichtung
der k ähnlichsten
DO
grauer Bereich:
keine Mehrheit



129
Darstellung der Klassenverteilung im d-dimensionalen Raum
Voronoi-Diagramm
noch ein Beispiel
(gleiche Trainings - DO)

k=3


drei Klassen: 1,2, 3
Ähnlichkeitsmaß:
Euklidische Distanz
(L2 Norm)
größte Summe der
Klassengewichte
entscheidet die
Klassenzugehörigkeit
Gewichtung der k
ähnlichsten DO mit
ihrer inversen
quadratischen
Distanz


130
65
2.4 Bayes’sche Klassifikation
geg.
•
Menge von DO I
•
k-dimensionaler Raum von Attributen, in welchem jedem DO i  I ein Punkt
zugeordnet werden kann
•
Partitionierung von I in disjunkte Objektklassen C = { c1 , ... , cn }
•
Trainings Set E  I : DO mit bekannter Klassenzugehörigkeit
ges.
•
wahrscheinlichste Klassenzugehörigkeit für ein neues DO (ohne ein Modell
zu bilden)

Bayes’sche Klassifikation ist auch eine “fauler“ Lerner (wie kNN)
Parallelen zum Case Based Reasoning (CBR)


CBR basiert auf einer Fallbasis, in welcher (a) der “ähnlichste Fall” ermittelt
wird und (b) dessen Lösung zur Lösung des neuen Falles adaptiert wird
Hier degeneriert (a) zum “wahrscheinlichsten” Fall und (b) zur Kopie von
dessen Lösung
131
Ein Beispiel
Gegeben sei
•
eine Menge von DO: Bewohner der Stadt Ilmenau
•
ein 3-dimensionaler Raum von Attributen: Abbildung Merkmalsraum
•
4 disjunkte Klassen: Bewohner mit einem täglichen Fernsehkonsum von
•
(1)
weniger als 1 Stunde
(2)
>1 – 2 Stunden
(3)
>2 – 3 Stunden und
(4)
mehr als 3 Stunden
Trainings Set mit 20 Beispielen: Tabelle Beispielmenge
Gesucht ist
•
die wahrscheinlichste Klassenzugehörigkeit eines 25-jährigen berufstätigen
Bewohners mit mittlerem Einkommen
Attributsraum:
Einkommen
hoch
mittel
gering
Berufsstand
pensioniert
arbeitslos
berufstätig
18-40 >40-60 >60
Alter
132
66
Training Set
Alter
Einkommen
Berufsstand
Klasse
Alter
Einkommen
Berufsstand
Klasse
22
durchschnittlich
berufstätig
>1 – 2 h
33
gering
arbeitslos
>3 h
43
hoch
berufstätig
>1 – 2 h
36
hoch
berufstätig
>1 – 2 h
45
gering
berufstätig
>1 – 2 h
25
gering
arbeitslos
1h
76
durchschnittlich
pensioniert
>3 h
47
durchschnittlich
berufstätig
1h
34
gering
arbeitslos
>1 – 2 h
45
hoch
berufstätig
>2 – 3 h
34
durchschnittlich
berufstätig
>2 – 3 h
63
durchschnittlich
pensioniert
>3 h
56
hoch
berufstätig
>3 h
51
hoch
berufstätig
>1 - 2 h
32
durchschnittlich
berufstätig
>1 – 2 h
60
durchschnittlich
pensioniert
>1 – 2 h
23
gering
arbeitslos
>2 – 3 h
31
gering
arbeitslos
>1 – 2 h
65
durchschnittlich
pensioniert
>2 – 3 h
39
durchschnittlich
berufstätig
>2 – 3 h
133
BAYES‘sche Formel (hier: logisch interpretiert, Literatur: mengenalgebraisch notiert)
1. Seien A und B Aussagen über das Eintreffen von (nicht unmöglichen) Ereignissen
sowie p(A) und p(B) Wahrscheinlichkeiten des Eintreffens mit 0 < p(A),p(B)  1 .
2. Die bedingte Wahrscheinlichkeit von A unter der Bedingung B ist
p( A | B) 
p( A  B)
p( B)
3. Sei  = B1  ...  Bn ein sicheres Ereignis, bestehend aus paarweise unvereinbaren
n
Ereignissen B1, ..., Bn : p ( B1  ...  Bn )   p( Bi )  1 , p ( Bi  B j )  0 für i  j
i 1
4. Für ein zufälliges Ereignis A gilt: A  A    A  ( B1  B2  ...  Bn )
5. Lt. 2. ist
n
n
n
i 1
i 1
i 1
p ( A)  p ( A  )  p ( A)   p ( Bi )   p ( A  Bi )   p ( Bi )  p ( A | Bi )
Fragt man nach der Wahrscheinlichkeit eines Ereignisses Bi unter der Bedingung, dass
A bereits eintrat (Wahrscheinlichkeit a posteriori), ergibt sich
p( Bi | A) 
BAYES‘sche Formel
p ( Bi  A) p( Bi )  p( A | Bi )


p ( A)
p ( A)
p ( Bi )  p ( A | Bi )
n
 p( B )  p( A | B )
i 1
i
i
134
67
2.4.1 Naïve BAYES Klassifikation
geg.
• Beispiele, d.h. DO mit bekannten
Werten für alle Attribute Ai (i=1,..,n)
und bekannter Klassenzugehörigkeit
ges.
• wahrscheinlichste Klasse C  {B1,...,Bk}
für ein neues DO mit bekannten Werten
für alle Attribute Ai
Bj (j=1,..,k)
C  B j : max{ p( B j | A1 ,..., An )}
 B j : max{
p ( A1 ,..., An | B j )  p ( B j )
p ( A1 ,..., An )
}
 B j : max{ p ( A1 ,..., An | B j )  p ( B j )}
n
 B j : max{ p ( Ai | B j )  p ( B j )}
i 1
lt. BAYES‘sche Formel
Vernachlässigung der Division wegen
gleichen Nenners
Unterstellung der Unabhängigkeit der
Attribute, so dass deren UND-Verknüpfung
die Wahrscheinlichkeiten multipliziert
135
zurück zum Beispiel
Attribute
Klassen
• Alter  { 18-40 , >40-60 , >60 }
• Einkommen  { gering , durchschnittlich , hoch }
• Berufsstand  { berufstätig , pensioniert , arbeitslos }
•
•
•
•
Beipiele siehe Folie 133
B1:  1 h tgl. TV Konsum
B2: >1-2 h tgl. TV Konsum
B3: >2-3 h tgl. TV Konsum
B4: > 3 h tgl. TV Konsum
ges.: wahrscheinlichste Klassenzugehörigkeit eines Bewohners mit den Attributwerten
A1: Alter = 25
A2: Einkommen = durchschnittlich
A3: Berufsstand = berufstätig
Wahrscheinlichkeiten, geschätzt als relative Häufigkeit im Trainings Set
Zeilenprodukt
P(A1|B1): 1/2
P(A2|B1): 1/2
P(A3|B1): 1/2
P(B1): 2/20
0,01250
P(A1|B2): 5/9
P(A2|B2): 3/9
P(A3|B2): 6/9
P(B2): 9/20
0,05556
P(A1|B3): 3/5
P(A2|B3): 3/5
P(A3|B3): 3/5
P(B3): 5/20
0,05400
P(A1|B4): 1/4
P(A2|B4): 2/4
P(A3|B4): 1/4
P(B4): 4/20
0,00625
Maximum aller Produkte
0,05556 (aus B2)
Der Bewohner gehört am wahrscheinlichsten zur Klasse B2 (>1-2 h tgl. TV Konsum).
136
68
Verfeinerung für zu kleine Trainings-Sets:
m-estimate Schätzung der Wahrscheinlichkeiten statt relative Häufigkeit
 geschätzte Wahrscheinlichkeit, zur Klasse Bi zu gehören, für welche es ni (von
n) DO im Trainings Set gibt, wird um eine gewichtete a priori (z.B. aus
vorherigen Beobachtungen/Messreihen) geschätzte Wahrscheinlichkeit p’
ergänzt
 Als Wichtung dient eine sog. “equivalent sample size” m
 Im Extremfall eines leeren Trainings Sets, ni = 0 and n = 0 und somit p = p’
p
•
•
•
•
ni
n
m
p’
ni
n
p
ni  m  p '
nm
Anzahl der DO, die zur Klasse i gehören
Gesamtzahl der DO
equivalent sample size, Wichtung von p’
a priori (z.B. von vorherigen Beobachtungen) geschätzte Wahrscheinlichkeit
- könnte notfalls auch als Gleichverteilung aller Klassen geschätzt werden
137
Problem mit Naïve Bayes: korrelierende Attribute
Betrachten wir ein 2-Klassen Problem (+ und -) mit 2 binären Attributen A und B mit

p(A=0|-) = 0.4 , p(A=1|-) = 0.6

p(A=0|+) = 0.6 , p(A=1|+) = 0.4

Möge B in der Klasse - perfekt mit A korrelieren (B=A), aber in der Klasse + immer
entgegengesetzt zu A sein

Der Einfachheit halber gelte

p(+) = p(-)

B hat die selben bedingten Wahrscheinlichkeiten wie A (siehe oben):
p(B=0|-) = 0.4 , p(B=1|-) = 0.6, p(B=0|+) = 0.6 , p(B=1|+) = 0.4
Im naïve Bayes Ansatz ist dann

p(-|A=0,B=0) = p(A=0|-) p(B=0|-) * p(-) / p(A=0, B=0) = 0.16 * p(-) / p(A=0, B=0)

p(+|A=0,B=0) = p(A=0|+) p(B=0|+) * p(+) / p(A=0, B=0) = 0.36 * p(+) / p(A=0, B=0)
und + würde als die wahrscheinlichste Klassenzugehörigkeit ermittelt werden.
Die Wirklichkeit sieht jedoch anders aus:

p(A=0,B=0|-) = p(A=0|-) = 0.4, weil B in Klasse – stets den gleichen Wert wie A hat
Demnach ist

p(-|A=0,B=0) = p(A=0,B=0|-) p(-) / p(A=0,B=0)= 0.4* p(-) / p(A=0, B=0)
(und nicht 0.16 wie im naïve Bayes kalkuliert) und – ist die wahrscheinlichste Klasse
Lösung dieses Problems:
Analyse der Abhängigkeiten zwischen Attributen  Bayesian Belief Networks
138
69
2.4.2 Bayesian Belief Network (BBN)
= gerichteter Graph

Knoten repräsentieren Attribute A1, A2, ..., An

Kante von Ai nach Aj bedeutet (Aj ist abhängig von Ai)

Knoten sind Wahrscheinlichkeitstabellen zugeordnet:
•
Knoten ohne Vorgänger: a priori Wahrscheinlichkeiten für die verschiedenen
Ausprägungen des Attributs
•
Knoten mit Vorgänger: bedingte Wahrscheinlichkeiten
Bedingungen beziehen sich auf die verschiedenen Werte der Attribute
der Vorgänger-Knoten
•
binäre Attribute
Tabelle enthält meist nur (bedingte) Wahrscheinlichkeit p(x) für eine der
beiden Werte x, die Wahrscheinlichkeit für den Alternativwert ergibt sich
aus p ( x)  1  p( x )
-
139
‘n Beispiel (alle Attribute binär)
Hk=yes
S=yes
D=healthy
0.25
S=yes
D=unhealthy
0.45
S=yes
0.7
Sport
D=healthy
0.25
Sodbrennen
D=healthy
0.2
D=unhealthy
0.85
Brustschmerz
Hk=yes
Sb=yes
0.8
HK=yes
Sb=no
0.6
HK=no
Sb=yes
0.4
HK=no
Sb=no
0.1
Sb=high
S=no
D=healthy
0.55
S=no
D=unhealthy
0.75
Herzkrankheit
Bs=yes
RR=high
Beispiele
Diät
Hk=yes
0.85
Hk=no
0.2
p(S=no) = 0.3
p(Sb=high|D=healthy) = 0.2
p(Sb=low|D=unhaelthy) = 0.15
p(Hk=yes|(S=no)(D=healthy)) = 0.55
p(Bs=no|(Hk=yes)(Sb=no)) = 0.4
Blutdruck
140
70
‘n Algorithmus zur Konstruktion eines BBN
A := [X1, X2, …, Xn] sei eine (anwendungs-spezfisch) sortierte Liste v. Attributen
for i=1 to n do
XA(i) sei das i-te Attribut in A
(XA(i)) = {XA(1) , XA(2) , …, XA(i-1)} sei die Menge der XA(i) vorangestellten Attribute
entferne Attribute aus (XA(i)), die (in der Anwendung) keinen Einfluss auf Ai haben
füge je eine Kante von den verbleibenden Variablen in (XA(i)) zu XA(i) hinzu
end (for)
Sortiert man für‘s o.g. Beispiel im Schritt 1 die Attribute zu [S, D, Hk, Sb, Bs, RR] ,
so vereinfacht sich in der for - Schleife
 p(D | S) zu p(D)
 p(Hk | S  D) nicht
 p(Sb | Hk SD) zu p(Sb | D)
 p(Bs | SbHkSD) zu p(Bs | SbHk)
 p(RR | BsSbHkSD) zu p(RR | Hk)
141
2.5 Support Vector Machines
Ziel
Finden einer Hyperebene, welche DO verschiedener Klassen voneinander
separiert
Beispiel: 2 Klassen, 2 Attribute
142
71
eine Lösung
noch eine Lösung
weitere Lösungen
Welche dieser beiden Lösungen
ist besser, B1 oder B2?
143
Eine Hyperebene (Klassengrenze), welche den Abstand zum
nächstgelegenen DO in jeder der beiden Klassen maximiert, ist optimal.
B1 ist besser als B2
144
72
Lineare SVM, DO linear separierbar
Beispiel

2 Klassen: -1 (Quadrate), +1 (Kreise), n Attribute
n

Beschreibung der Klassengrenze im R
 
w x  b  0
 
w  x  b  1
 
w  x  b  1
Funktion, welche die
Klasse f(x) für ein DO
x berechnet:
 1

f (x)  
 1
w  ( x1  x2 )  2
 
if w  x  b  1
 
if w  x  b   1
|| w || d  2
2
 Abstand d   2
||w||
145
 zu maximieren:
Abstand 
2
 2
|| w ||
 äquivalent zur Minimierung von

|| w ||2
L( w ) 
2
 unter den Randbedingungen:
1

f ( xi )  
 1
 
if w  x i  b  1
 
if w  x i  b   1
= Optimierungsproblem (quadratische Optimierung)
146
73
Was kann man tun, wenn die DO nicht linear
separierbar sind?


=
Man bindet so genannte
Slack-Variablen ξ in die
Optimierung ein
ξ ist der maximaler
Abstand eines falsch
klassifizierten DO
Abschätzung des Fehlers
der Hyperebene über den
Trainingsdaten
 zu minimieren:

|| w ||2
 N

L( w) 
 C  i 
2
 i 1 
 1

f ( xi )  
 1
unter den Randbedingungen
C ist anwendungs-spezifisch:
 
if w  x i  b  1 -  i
 
if w  x i  b   1   i
Maß der Bestrafung von Fehlklassifikationen über den Trainingsdaten
147
Was kann man tun, wenn die Hyperebene nicht
linear ist?
Man wendet eine nicht lineare
Variablen - Transformation Φ
an, durch welche die
Hyperebene linear wird
transformiert man z.B. einen 2dimensionalen Raum in einen 5dimensionalen Raum mit
 : ( x1 , x2 )  ( x12 , x22 , 2 x1 , 2 x2 , 2 x1 x2 )
ergibt sich im transformierten 5-dimensionalen Raum ein
Linearkoeffizient w=[w0 ,w1 ,w2 ,w3 ,w4 ,w5 ] so dass
w5 x12  w4 x22  w3 2 x1  w2 2 x2  w1 2 x1 x2  w0  0
148
74
Variablen - Transformation
zwecks Linearisierung der trennenden Hyperebenen
(.)
tatsächlicher Raum
( )
( )
( ) ( ) ( )
( )
( )
( )
( ) ( )
( ) ( )
( )
( ) ( )
( )
( )
( )
transformierter Raum
149
‘n Beispiel zur „Ebnung“ einer Hyperebene
Die Transformation
mit
x1´ =x12-x1 und x2´= x22-x2
macht aus elliptisch (quadratisch beschreibbaren) verlaufenden Klassengrenzen im
Raum R linear beschreibbare Klassengrenzen im transformierten Raum Rt
Φ: (x1 , x2 ) → ( x1´, x2´)


c2 x2  c1 x1  c0  0
Gerade im R t
c2 ( x22  x2 )  c1 ( x12  x1 )  c0  0
1
1
1
1
c2 ( x22  x2  )  c1 ( x12  x1  )  c0  c1  c2
4
4
4
4
1 2
1 2
1
1
c2 ( x2  )  c1 ( x1  )  c0  c1  c2
2
2
4
4
c2
1
c1
1
( x2  ) 2 
( x1  ) 2  1
1
1
1
1
2
2
 c0  c1  c2
 c0  c1  c2
4
4
4
4
Ellipse im R
Die Ellipse in R hat demnach den Mittelpunkt (-0.5,-0.5) und die Achsen in x1 – und x2
– Richtung haben die Durchmesser
1
1
 c0  c1  c2
4
4
d1  2
c1
1
1
 c0  c1  c2
4
4
d2  2
c2
150
75
n‘ Beispiel zur „Ebnung einer Ellipse“ durch Variablen - Transformation
aus Tan/Steinbach/Kumar: Introduction to Data Mining. Pearson Education Inc.
151
2.6 Ensemble Methoden
Idee
 mehrere Modelle über dem Trainings Set bilden
 deren Ergebnissen zu einem Klassifikationsergebnis kombinieren
D
D1
D2
  
originale
Trainingsdaten
Dt-1
Schritt 1
mehrere
Datensätze
erzeugen
Dt
Schritt 2
mehrere
Modelle
erzeugen
neues DO
C1
C2
Ct-1
C*
Ct
Schritt 3
Ergebnisse
einholen und
kombinieren
152
76
Vorteil
bessere Performance als jedes einzelne Modell
Beispiel




man bilde 25 binäre Klassifikatoren C1, ..., C25
jedes dieser Modelle habe eine (relativ hohe) Fehler-Rate von e( Ci )=0.35
C* ermittelt die Mehrheit der Entscheidungen
maximal 12 Modelle haben eine andere Klasse ermittelt
25 25
 
Die max. Fehler-Rate von C* ist dann e(C*)    e(Ci ) i (1  e(Ci )) 25i  0.06
i 13  i 
Verhältnis zwischen den
Fehler-Raten e(Ci ) und e(C*)
bei verschiedenen e(Ci )
 0.35
„Ensembeln“
lohnt
153
Generierung der Trainingsdaten Di für die Modelle Ci
Bagging



= „Bootstrap aggegation“, d.h. zufälliges Ziehen mit Zurücklegen
kann für die Di parallel durchgeführt werden
jedes DO kann mit einer Wahrscheinlichkeit von (1-1/n)n gezogen werden
Boosting
Idee: vorrangig solche DO als Trainings-DO nehmen, welche schwer zu klassifizieren sind

wichtet die Trainings-DO und zieht vorzugsweise solche DO mit hoher Wichtung;
initial sind alle DO gleich gewichtet

arbeitet sequentiell, nach jeder Runde wird neu gewichtet und das nächste TrainingsSet Di generiert

Gewichte für korrekt klassifizierte DO werden verringert; Gewichte für falsch
klassifizierte DO erhöht

nach der letzen Boosting Runde wird C* ermittelt; diverse Methoden der Ermittlung
von C* :

Mehrheit

gewichtete Mehrheit, Wichtung nach ...

dem Gewicht der am Modell Ci beteiligten DO

Sequenz (zuletzt kreierte Modelle sind u.U. besser, weil sie sich zielgerichtet
den Schwächen vorheriger Runden zuwenden)

Performance der Modelle Ci über dem Test-Datensatz
154
77
2.7 Das Class Imbalance Problem
Anwendungen mit sehr unbalancierten Klassenzugeörigkeiten:

Qualitätskontrolle: defekte vs. intakte Produkte

Kreditkarten Transaktionen: Betrug vs. rechtmäßige Transaktionen

HIV-Test: HIV vs. kein HIV

…
korrekte Klassifikation der seltenen Klasse ist wichtiger als bei der häufigen Klasse

ein Klassifikator, welcher z.B. einfach alle DO der häufigen Klasse zuordnet, hätte
eine u.U. eine sehr hohe Genauigkeit (Accuracy)
 Performance-Metriken müssen das berücksichtigen


alternative Metriken (2.7.1)
graphische Methoden für das trade-off zwischen den Korrektheitsraten beider
Klassen (2.7.2)
die seltene Klasse wird meist sehr spezialisiert beschrieben

lange Regeln mit vielen Prämissen, große Tiefe in einem Entscheidungsbaum, …

diese spezialisierte Modellierung ist anfällig gegenüber verrauschten Trainingsdaten
 Erkennung der seltenen Klasse muss verbessert werden


Cost-Sensitive Learning (2.7.3)
Sampling – basierte Ansätze (2.7.4)
155
2.7.1 Alternative Metriken
Termini für binäre Klassifikation:

seltene Klasse: positive Klasse (+)

häufige Klasse: negative Klasse (-)

Anzahl korrekt klassifizierter positiver DO:
true positive (TP)

Anzahl der als negativ klassifizierten positiven DO:
false negative (FN)

Anzahl der als negativ klassifizierten positiven DO:
false positive (FP)

Anzahl korrekt klassifizierter negativer DO:
true negative (TN)

Konfusionsmatrix:
Klassifizierung durch das Modell
tatsächliche
Klasse
+
-
+
-
f+ + (TP)
f+ - (FN)
f- + (FP)
f- - (TN)
mitunter auch als relative Werte angegeben:

Anteil korrekt klassifizierter pos. DO: true positive rate (TPR), sensitivity:
TPR = TP / (TP+FN)

Anteil der als neg. klassifizierten pos. DO: false negative rate (FNR):
FNR = FN / (TP+FN)

Anteil der als pos. klassifizierten neg. DO: false positive rate (FPR):
FPR = FP / (TN+FP)

Anteil korrekt klassifizierter neg. DO: true negative rate (TNR), specificity:
TNR = TN / (TN+FP)
f+ +
f+ f- +
f- -
156
78
2.7.1 Alternative Metriken
Metriken


Precision Anteil der wirklich pos. DO an den als pos. klassifizierten DO
 p = TP / (TP + FP)
Recall
Anteil der als pos. klassifizierten DO an den wirklich pos. DO (= TPR)
 r = TP / (TP + FN)
wünschenswert: hohe Precision + hohes Recall

Recall erscheint auf den ersten Blick für viele Anwendungen wichtiger, aber ...

... der „Preis“ dafür ist eine geringe Precision (hohe Anzahl „falscher Alarme“)
F1 – Metrik
Kompromiss:

entspr. harmon. Mittelwert zw. r und p: μh = 2 / (1/r + 1/p)


≤ geometrisches Mittel μg=√rh ≤ arithmet. Mittel μa =(r+h)/2
tendenziell näher am kleineren der beiden Werte r oder p als μg und μa
F1 
2
1 1

r p

2rp
2  TP

r  p 2  TP  FP  FN
157
2.7.1 Alternative Metriken
Fβ – Metrik
Kompromiss, abstrakter:
F 
(   1)rp
(  2  1)  TP

r2p
(  2  1)  TP   2  FP  FN
2
β=0 → Precision
β=1 → harmon. Mittel, F1 - Metrik
β=∞ → Recall
Kompromiss, noch abstrakter:
WA 
weighted accuracy WA
w1  TP  w4  TN
w1  TP  w2  FP  w3  FM  w4  TN
Gewicht
Recall
Precision
w1
w2
w3
w4
1
1
0
0
0
1
0
1
Fβ
β2 + 1
β2
1
0
F1
2
1
1
0
Accuracy
1
1
1
1
158
79
2.7.2
Receiver Operating Characteristic (ROC) Kurve
graph. Veranschaulichung des „trade – off“ zwischen FPR (x-Achse) und TPR (y-Achse)
Extremwerte:

FPR = 0, TPR = 0: das Modell ordnet jedem DO die negative Klasse (-) zu

FPR = 1, TPR = 1: das Modell ordnet jedem DO die positive Klasse (+) zu

FPR = 0, TPR = 1: ideales Modell

TPR = FPR (Diagonale in graph. Darstellung): zufälliges Zuordnung einer Klasse
… mit einer festen Wahrscheinlichkeit p, bei n+ pos. und n- neg. DO:
TPR 
p  n
p
n
FPR 
p  n
p
n
‘n Beispiel:  für FPR ≤ 0,36: M1 ist besser als M2
 für FPR > 0,36: M2 ist besser als M1
 TPR  FPR
je weiter links
(nahe FPR=0)
und
 je weiter oben
(nahe TPR=1)
die Kurve liegt,
desto besser ist
das Modell

Fläche unterhalb der ROCKurve ist ein
Maß der durchschnittlichen
Performance
eines Modells
159
2.7.2
Receiver Operating Characteristic (ROC) Kurve
Wie zeichne ich eine ROC Kurve?
1.
2.
Man braucht ein reell-wertiges „Ranking“ der Wahrscheinlichkeiten, als pos.
DO klassifiziert zu werden, welches man z.B. durch einen anderen Data
Mining Klassifikator (z.B. Bayes) oder durch Anwendung des Modells auf
Testdaten ermitteln kann.
Sortiere die DO nach aufsteigender Wahrscheinlichkeit.
4.
Unterstelle pos. Klassifizierung aller DO:
a) Zähle die dabei richtig klassifizierten DO (= TP) und die dabei falsch
klassifizierten DO (= FP)
b) Setze TN:=0 und FN:=0 sowie TPR=TP/(TP+FN):=1 und FPR=FP/(FP+TN):=1
c) Zeichne den Punkt [ FPR=1 , TPR=1 ] in das ROC Diagramm ein
Betrachte das nächst wahrscheinlicher als pos. klassifizierte DO und alle noch
wahrscheinlicheren:
a) Zähle die darunter richtig (TP) und falsch (FP) klassifizierten DO
b) Inkrementiere FN (falls es ein pos. DO ggü. der vorherigen Spalte ein DO
weniger wurde) oder TN (falls es ein neg. DO weniger wurde)
c) Ermittle TPR=TP/(TP+FN) und FPR=FP/(FP+TN) entsprechend der aktuellen
Werte von TP, FP, FN und TN
d) Zeichne den ermittelten Punkt [FPR,TPR] in das ROC Diagramm ein
Wiederhole 3. bis zum am wahrscheinlichsten als pos. klassifizierten DO
5.
Ergänze den Punkt [0,0] im ROC Diagramm
3.
160
80
2.7.2
‘n Beispiel:
Receiver Operating Characteristic (ROC) Kurve
geg.: 10 DO (5 pos., 5 neg.) mit folgenden Wahrscheinlichkeiten einer pos. Klassifikation:
+
+
+
+
+
0.25 0.43 0.53 0.65 0.71 0,77 0,82 0.85 0.91 0.95
1. Spalte: TP:=5 FP:=5 TN:=0 FN:=0 TPR=TP/(TP+FN):=1 FPR=FP/(FP+TN):=1
Klasse
+
+
0.25 0.43 0.53 0.65 0.71
+
0,77 0,82
0.85
+
0.91
+
0.95
TP
5
4
4
3
3
3
3
2
2
1
0
FP
5
5
4
4
3
2
1
1
0
0
0
TN
0
0
1
1
2
3
4
4
5
5
5
FN
0
1
1
2
2
2
2
3
3
4
5
TPR
1
0.8
0.8
0.6
0.6
0.6
0.6
0.4
0.4
0.2
0
FPR
1
1
0.8
0.8
0.6
0.4
0.2
0.2
0
0
0
2. Spalte: TP:=4 FP:=5 TN:=0 FN:=1 TPR=TP/(TP+FN):=0.8 FPR=FP/(FP+TN):=1
3. Spalte: TP:=4 FP:=4 TN:=1 FN:=1 TPR=TP/(TP+FN):=0.8 FPR=FP/(FP+TN):=0.8
… restliche Spalten und [0,0] - Punkt
161
2.7.2
‘n Beispiel:
Receiver Operating Characteristic (ROC) Kurve
TPR
1
0.8
0.6
0.4
0.2
FPR
0.2
0.4
0.6
0.8
1
162
81
2.7.3
Cost-Sensitive Learning
Idee: Quantifizierung

des Schadens C(i,j) für eine Fehlklassifizierung eines DO der Klasse i als ein DO der
Klasse j bzw. im binären Fall

C(+,-) der Fehlklassifizierungen f+- (FN) und

C (-,+) der Fehrklasifizierungen f- + (FP)

des Nutzens C(i,i) einer korrekten Klassifizierung eines DO der Klasse i bzw. im
binären Fall

C(+,+) der korrekten Klassifizierungen f++ (TP) und

C(-,-) der korrekten Klassifizierungen f- - (TN)
einer Kostenmatrix:
Klassifizierung durch das Modell
tatsächliche
Klasse
+
-
+
-
C(+,+)
C(+,-)
C(-,+)
C(-,-)

positive Werte beziffern einen Schaden (Malus)

negative Werte beziffern einen Nutzen (Bonus)
Bei n DO belaufen sich die Gesamtkosten Ct(M) eines Modells (Klassifikators) M auf
Ct ( M )  f    C (,)  f    C (, )  f    C (,)  f    C (,)
In einer 0/1 Kostenmatrix ist

C(+,+) = C(-,-) = 0 („kostet nichts“)

C(+,-) = C(-,+) = 1 („kostet etwas“)
und Ct(M) ist die Anzahl der Fehlklassifikationen des Modells M.
2.7.3
163
Cost-Sensitive Learning
‘n Beispiel: Kostenmatrix eine Anwendung
Klassifizierung durch das Modell
tatsächliche
Klasse
+
-
+
-
-1
100
1
0
Konfusionsmatrizen 2er Modelle:
Model M1
tatsächliche
Klasse
+
-
Klassifizierung durch das Modell
+
-
150
40
60
250
Model M2
tatsächliche
Klasse
+
-
Klassifizierung durch das Modell
+
-
250
45
5
200
Ct ( M 1 )  150  1  60 1  40 100  250  0  3910
Ct ( M 2 )  250  1  5 1  45 100  200  0  4255
Obwohl M2 sehr viel mehr DO richtig klassifiziert als M1, schneidet es bei den
Gesamtkosten schlechter ab als M1 , weil

die „Bestrafung“ für die Fehlklassifizierung C(+,-) sehr viel höher ist als die
Bestrafung für die Fehlklassifizierung C(-,+) und

dies die marginale „Belohung“ für das bessere f++ nicht zu kompensieren vermag.164
82
2.7.3
Cost-Sensitive Learning
Anwendung bei der Modellbildung: statt

hohe Häufigkeiten von Klassenzugehörigkeiten (hohe Klassenreinheit)
werden

geringe mit Kosten gewichtete Häufigkeiten verwendet
1.
2.
3.
bei der Auswahl eines geeigneten Splitting – Attributs
beim Pruning
bei der Klassenzuordnung an Blättern eines Entscheidungsbaumes oder DANNTeilen von Entscheidungsregeln: statt Maxima von Wahrscheinlichkeiten

p(+) > 0.5 → +
p(+) ≤ 0,5 → –
nimmt man Minima der kosten-gewichteten Wahrscheinlichkeiten

p(+)*C(+,-) + p(-)*C(-,-) > p(+)*C(+,+) + p(-)*C(-,+) → + , ansonsten –
Für C(+,+) = C(-,-) = 0 wird demnach die Klasse + zugeordnet, falls:
p(+)*C(+,-) > p(-)*C(-,+)
p(+)*C(+,-) > (1 - p(+))*C(-,+)
p(+)*C(+,-) > C(-,+) - p(+)*C(-,+)
p(+)*C(+,-) + p(+)*C(-,+) > C(-,+)
p(+)*(C(+,-) + C(-,+)) > C(-,+)
p(+) > C(-,+) / (C(+,-) + C(-,+))
und anderenfalls die Klasse –
2.7.4
165
Sampling-basiete Ansätze
Idee: die „rare Klasse“ soll im Trainingsdatensatz nicht „rar“ sein
Beispiel:
Datensatz mit 100 pos. und 1000 neg. DO
Trainingsdatensatz bei
1.
Undersampling: alle (100) pos. und nur ein kleiner Teil (z.B. 100) der neg. DO


2.
Oversampling: pos. DO mehrfach (hier 10-fach) verwenden, so dass deren Anzahl
der Anzahl der neg. DO gleich wird



3.
Nachteil: nützliche neg. DO werden u.U. nicht zur Modellbildung genommen
Methoden zur Milderung dieses Nachteils:

mehrfach undersamplen und Ensemble-Methode auf die entstandenen Modelle
anwenden

„focused“ undersampling: „informierte“ Auswahl der neg. DO (z.B. nach Abstand zur
„Grenze“ zwischen + und - , wenn falls solche Information habhaft ist)
bringt zwar keine neue Information in den Datensatz, aber verhindert ein Pruning von
Teilen des Modells, welche nur wenige Trainings-DO abdecken
Vorteil: auch „einsame“ pos. DO (umringt von neg. DO) werden mitmodelliert.
Nachteil: Model Overfitting, falls verrauschte Daten mehrfach dupliziert werden
hybriden Ansätzen: Kombination des undersamplens der mehrheitlichen Klasse
und oversamplen der raren Klasse
166
83
2.8
Mehrklassen-Problem
die meisten o.g. Techniken machen binäre Klassifikation und müssen erweitert werden,
wenn es eine Menge Y = {y1 , …, yk} von mehr als zwei Klassen gibt
1.
one-against-rest (1-r) Ansatz
2.
one-against-one (1-1) Ansatz
 für jedes Paar von Klassen [yi, yj] einen binären Klassifikator erzeugen (k*(k-1) / 2 Stück)
 dabei DO, die weder zu yi noch zu yj gehören, werden bei der Modellbildung ignoriert

k binäre Klassifikatoren (i-te Klasse vs. andere Klassen) bilden
Alle gebildeten Modelle werden benutzt.

(1-r) Ansatz: wenn das für yi konstruierte Modell ein DO als pos. einstuft und alle
anderen Modelle dieses DO als neg. einstufen, wird es der Klasse i zugeordnet

(1-1) Ansatz:
 jedes Modell, welches für eine binäre [yi, yj] – Entscheidung gebildet wurde,
liefert ein Votum entweder für yi oder für yj
 Voten für jede Klasse werden addiert und eine Mehrheitsentscheidung getroffen
Beide Ansätze [(1-r) mehr noch als (1-1)] bergen die Gefahr, dass es keine klare Zuordnung gibt.
Dies kann man durch zusätzliche Informationen (Zugehörigkeitswahrscheinlichkeiten u.ä.) lösen …
… oder durch Error-Correcting Output Coding entschärfen
167
Error-Correcting Output Coding

k Klassen werden mit n > k Bits derart kodiert, dass die Hamming-Distanzen (Anzahl


der verschiedenartigen Bits) zwischen jedem Paar von Klassen möglichst groß sind
für jedes Bit wird ein Modell gebildet
als Klassifikationsergebnis wird diejenige Klasse zugeornet, welche die geringste
Hamming-Distanz zum bitweisen Klassifikationsregebnis hat
Beispiel: Y = {y1, y2, y3, y4}
Klasse
Code
y1
1 1 1 1 1 1 1
y2
0 0 0 0 1 1 1
y3
0 0 1 1 0 0 1
y4
0 1 0 1 0 1 0
 die sieben Modelle brachten das Ergebnis
[0,1,1,1,1,1,1]
 die Hamming-Distanz zu




y1 ist 1
y2 ist 3
y3 ist 3
y4 ist 3
 y1 ist demnach die wahrscheinlichste Klasse
 Wenn die Minimum Hamming-Distanz zwischen jedem Paar von Codes d ist, kann
diese Methode (d-1)/2 fehlerhafte Klassenzuordnungen bei den n Bits tolerieren
 Beispiel oben:
 min. Hamming-Distanz zwischen 2 Codes ist 4
 3/2 = 1 , d.h. bis zu eine Fehrklassifizierung unter den 7 Klassifikatoren
kann toleriert werden
168
84
3 Assoziations-Analyse
Ziel:
Assoziationen innerhalb einer Menge von Objekten analysieren
gegeben

Transaktionen (= Menge von Objekten, Itemsets)
gesucht

Assoziations-Regeln (Objekte, die typischerweise gemeinsam in Itemsets sind)
Beispiel
Transaktion ID Itemset
Assoziations - Regeln
1
{Brot, Milch}
2
{Brot, Windeln, Bier, Eier}
3
{Milch, Windeln, Bier, Cola}
4
{Brot, Milch, Windeln, Bier}
5
{Brot, Milch, Windeln, Cola}
Anwendungen
 Warenkorbanalyse




 Klassifikation
 Clustering
 Cross Marketing
{Windeln}  {Bier},
{Milch, Brot}  {Eier, Cola},
{Bier, Brot}  {Milch}

Bioinformatik
medizinische Diagnose
Web Mining (Suchmaschinen)
Analyse wissenschaftlicher Daten (z.B. Klimaforschung) 169
Repräsentation von Transaktionen
als DO mit binären Variablen (asymmetrisch, d.h. Werte  0 sind von Interesse)
TID
Brot
Milch
Windeln
Bier
Eier
Cola
1
1
1
0
0
0
0
2
1
0
1
1
1
0
3
0
1
1
1
0
1
4
1
1
1
1
0
0
5
1
1
1
0
0
1
Menge aller Items:
Menge aller Transaktionen:
I = { i1 , i2 , ..., id }
T = { t1 , t2 , ..., tn } mit ti  2I

Itemset: Menge von Items aus I: X  2I

k – Itemset: Menge von Items aus I mit k Elementen: X  2I , |X|=k
Eine Transaktion tj enthält ein Itemset X, gdw. X  tj
Support count σ(X) : Anzahl von Transaktionen, welche X enthalten:



σ(X) = |{ti : ti  T , X  ti }|
Support s(X): Anteil von Transaktionen ti  T, welche X enthalten:
= σ(X) / |T|

Assoziationsregel X → Y : Implikation mit Itemsets X und Y, X  Y = 
s(X)
170
85
Metriken zur Evaluierung von Assoziations-Regeln
Support s( X → Y )

Anteil von Transaktionen, welche ( X  Y ) enthalten:
s( X → Y )
| { ti : ti  T , ( X  Y )  ti } | / | T |
=
=
σ( X  Y ) / n
Confidence c( X → Y )

Anteil von Transaktionen, die (auch) Y enthalten an denen, die X enthalten
= bedingte Wahrscheinlichkeit von Y unter der Bedingung X
c( X → Y ) = σ( X  Y ) / σ(X)
häufiges Itemset X

Itemset, dessen Support einen Mindestwert minsup aufweist: s(X)  MinSup
r: {Milch, Windeln} → {Bier}
Beispiel
TID
Brot
Milch
Windeln
Bier
Eier
Cola
1
1
1
0
0
0
0
2
1
0
1
1
1
0
3
0
1
1
1
0
1
4
1
1
1
1
0
0
5
1
1
1
0
0
1
2
5
2
c(r ) 
3
s (r ) 
171
Wie kann man das Ziel des Data Mining über Transaktionen formal definieren?
Über einer gegebenen Menge T von Transaktionen suchen wir
Assoziations – Regeln X→Y mit

einem Support s(X→Y )  MinSup und

einer Confidence c(X→Y )  MinConf
Problem: kombinatorische Explosion
Über d Items kann man
 d d k  d  k  d
  
  3  2 d 1  1

k
i
k 1   i 1 

d
verschiedene Regeln bilden.
Für d=6 (siehe Beispiel auf vorheriger Seite) sind das bereits 602 Regeln.
Fordert man MinSup = 0.2 und MinConf = 0.5 , bleiben davon nur ca. 120 Regeln.
 Regel-Pruning vor der Berechnung der Confidence-Werte sinnvoll!
172
86
Assoziations-Regel - Mining
2 Schritte:
1. Ermittlung häufiger Item-Sets
=
2.
solche, die einen Mindest-Support minsup aufweisen
Generierung „starker“ Regeln aus den häufigen Item-Sets
=
solche „Verteilungen“ der Items auf Prämisse und Konklusion, für welche
eine hoher Confidence – Wert entsteht
3.1 Ermittlung häufiger Item – Sets
Die Halbordnung  definiert einen Verband über der Menge M := {X: X  I} = 2I
aller Itemsets aus I
Jedes dieser 2|I| Kandidat-

Beispiel:
I = { a, b, c }
{a}
{ a, b }
{b}
{c}
{ a, c }
{ b, c }
Itemset gegen jede Transaktion
t  T (die längsten Transaktion
habe w Items) bzgl. Support zu
vergleichen kostet
o( |T|  (2|I| -1)  w )
Vergleiche!
{ a, b, c }
 untauglich!
173
Reduzierung der Komplexität bei der Generierung häufiger Itemsets
1. Effiziente Generierung von Kandidat - Itemsets
 Anwendung des „a priori“ Prinzips
2. Effiziente Repräsentation der Kandidat - Itemsets
 kompaktere Repräsentation der Kandidaten-Sets als Hash-Baum
3. Effizientes Vergleichen der Kandidaten mit den Transaktionen
 effiziente Traversierung des Hash-Baumes
3.1.1 Effektive Erzeugung von Itemsets, a priori Prinzip
A Priori Prinzip
Wenn ein Itemset häufig (selten) ist, dann sind auch alle seine Teilmengen
(Super-Mengen) häufig (selten).
Logisch, denn Teilmengen-Relation und Support-Wert verhält sich anti-monoton, d.h.

XY : ( X  Y ) → s( X )  s( Y )

die Verkleinerung eines Itemsets kann nur zu einer Erhöhung seines SupportWertes führen
die Vergrößerung eines Itemsets kann nur zu einer Verringerung seines
Support-Wertes führen

, m.a.W.
174
87
A priori – Prinzip
unterschreitet ein Itemset minsup, kann eine
Untersuchung aller seiner Super-Sets unterbleiben
A

B
C
D
E
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
seltenes
Itemset
ABCD
entfernbare
Super-Mengen
ABCE
ABDE
ACDE
BCDE
ABCDE
175
A priori – Algorithmus
 k := 1
 Fk := {i: i I, σ(i)/N  minsup}

; alle 1-elementigen Sets mit support  minsup
repeat
 k:= k+1
 Ck:=apriori_gen(Fk-1) ; bilde alle k-elementigen Kandidaten aus den (k-1) elementigen
 for each transaction t  T do
 Ct:=subset(Ck,t)

for each c  Ct do

; filtere Kandidaten, die  t sind (in Transaktionen vorkommen)
; ermittle den Support count jedes Kandidaten
σ(c) := σ(c) + 1 for each time c  t was found
end (for)
end(for)
 Fk:={c: c  Ck, σ(c)/N  minsup}
; filtere Kandidaten mit support  minsup
until Fk = 
 result := ⋃ Fk
176
88
‘n Beispiel minsup = 0.6, d.h. σmin=3
TID
Entfall wegen nicht
hinreichendem Support
Itemset
1
{Brot, Milch}
2
{Brot, Windeln, Bier, Eier}
3
{Milch, Windeln, Bier, Cola}
4
{Brot, Milch, Windeln, Bier}
5
{Brot, Milch, Windeln, Cola}
Itemsets F1
σ
2-el. Itemsets F2
σ
{Bier}
3
{Bier, Brot}
2
{Brot}
4
{Bier, Milch}
2
{Cola}
2
{Bier, Windeln}
3
3-el. Itemsets F3
σ
{Eier}
1
{Brot, Milch}
3
{Brot, Milch, Windeln}
2
{Milch}
4
{Brot, Windeln}
3
{Windeln}
4
{Milch, Windeln}
3
Ergebnis

6+6+1 = 13 Kandidaten wurden gebildet

ohne Pruning der support-armen Itemsets wären es 6 + 15 + 20 = 41 (für bis zu 3elementige Itemsets) gewesen
177
Ck:=apriori_gen(Fk-1)
Prozedur zur Erzeugung k-elementiger Itemsets durch
1. Generierung einer Menge von Kandidaten-Sets
anhand der (k-1)-elementigen häufigen Itemsets aus der vorherigen Iteration
2. Pruning (Reduzierung) dieser Menge
durch Anwendung der Support-Wert – gestützten Pruning-Strategie
Generierung von Kandidaten - Itemsets
einfache Variante
Zusammenstellen aller Kombinationen von k Items aus dem gesamten Itemset I (|I|=d)
d 
Das sind   Kandidaten, von denen jeder mit einem Aufwand von
k
beim Pruning auf hinreichendem Support untersucht werden muss.
Gesamtkosten:
d
d 
o( k   )  o(d  2 d 1 )
k 1
k 
d
k
k 1
 untauglich
178
89
bessere Variante: Fk-1 x F1 Verschmelzung
Kandidaten der vorherigen Iteration werden mit den (initial gebildeten) 1-elementigen
häufigen Itemsets verschmolzen.
Komplexität:
o( k  | Fk 1 |  | F1 |)
 viel besser!
k


liefert auch garantiert alle häufigen
k- Itemsets, weil sie aus häufigen
(k-1)- Itemsets und häufigen 1Itemsets entsteht
effizienzsteigernd können
Permutationen bereits gebildeter
Itemsets vermieden werden,
indem

alle Itemsets lexikographisch
sortiert werden und

Beispiel
2-el. häufige Itemsets F2
häufige Itemsets F1
{Bier, Windeln}
{Bier}
{Brot, Windeln}
{Brot}
{Brot, Milch}
{Milch}
{Milch, Windeln}
{Windeln}
nur Erweiterungen der (k-1)Itemsets um ein lexikographisch größeres Item aus
F1 vorgenommen werden
3-el. Kandidaten Itemsets C3  F2
{Brot, Milch, Windeln}
179
in a priori-gen genutzte Variante: Fk-1 x Fk-1 Verschmelzung



2 (sortierte) Itemsets aus Fk-1 werden genau dann verschmolzen, falls die ersten
k-2 Items identisch sind
zusätzlicher Pruning-Schritt nach dem Verschmelzen notwendig:

Test, ob alle (k-1)- elementigen Untermengen des entstandenen k- Itemsets
auch häufig (m.a.W.  Fk-1) sind.
liefert auch garantiert alle häufigen k- Itemsets, weil sie aus häufigen (k-1)Itemsets und häufigen 1-Itemsets entsteht
F2
{Bier, Windeln}
KandidatenGenerierung
{Brot, Milch}
{Brot, Windeln}
{Milch, Windeln}
F2
Kandidaten - Pruning:
Entfernung derjenigen, bei denen nicht
jede 2-elementige Teilmenge  F2
3-el. Itemsets C3
3-el. Itemsets F3
{Brot, Milch, Windeln}
{Brot, Milch, Windeln}
{Bier, Windeln}
{Brot, Milch}
{Brot, Windeln}
{Milch, Windeln}
180
90
3.1.2 Repräsentation der Kandidaten in einem Hash-Baum
generierte (sortierte) Kandidaten k-Itemsets werden zur effektiven Ermittlung ihres
Supports in einen Hash - Baum eingeordnet
benötigt wird
1. eine Hash - Funktion, welche einem Itemset in jedem (nicht Blatt -) Knoten
einen Unterbaum zuweist

für Baum des Grades g wäre für die i-te Ebene wäre sinnvoll:
<Ordnungszahl des i-ten Elements im Itemset> mod g
2. eine maximale Anzahl von Itemsets, die in einem Blatt sein dürfen (um die
Komplexität des Vergleichens zu begrenzen)

falls diese überschritten wird, werden Unterbäume generiert und die
Itemsets gemäß der o.g. Hash - Funktion diesen zugeordnet
181
‘n Beispiel

15 3-Itemsets:
{1, 4, 5}, {1, 2, 4}, {4, 5, 7}, {1, 2, 5}, {4, 5, 8}, {1, 5, 9}, {1, 3, 6}, {2, 3, 4},
{5, 6, 7}, {3, 4, 5}, {3, 5, 6}, {3, 5, 7}, {6, 8, 9}, {3, 6, 7}, {3, 6, 8}

Grad des Baumes: g := 3

Hash - Funktion für die i-te Ebene:
<Ordnungszahl des i-ten Elements> mod 3
Hash - Funktion
Hash - Baum
3,6,9
1,4,7
2,5,8
234
567
345
136
145
124
457
125
458
159
356
357
689
367
368
182
91
Kandidaten - Hash-Baum
linke Unterbäume bei Hash-Wert 1
Hash Funktion
1,4,7
Kandidaten – Hash-Baum
3,6,9
2,5,8
234
567
145
136
345
Hash mit
1, 4 oder 7
124
457
125
458
159
356
357
689
367
368
183
Kandidaten - Hash-Baum
mittlere Unterbäume bei Hash-Wert 2
Hash Funktion
1,4,7
Kandidaten – Hash-Baum
3,6,9
2,5,8
234
567
145
136
345
Hash mit
2, 5 oder 8
124
457
125
458
159
356
357
689
367
368
184
92
Kandidaten - Hash-Baum
rechte Unterbäume bei Hash-Wert 0
Hash Funktion
1,4,7
Kandidaten – Hash-Baum
3,6,9
2,5,8
234
567
145
136
345
Hash mit
3, 6 or 9
124
457
125
458
356
357
689
159
367
368
185
3.1.3 Traversierung des Hash - Baumes mit einer Transaktion
Auch k-Untermengen einer (sortierten) Transaktion können in einen Baum
eingeordnet werden

zunächst Bildung möglicher k - Subsets

Einordnung in einen Unterbaum auf i-ten Ebene entsprechende dem i-ten
Element des k-Itemsets
Transaktion t
‘n Beispiel
1 2 3 5 6
für die Bildung

aller 3 – Subsets
Ebene 1
1 2 3 5 6
Transaktion
t = {1, 2, 3, 5, 6}
k=3
2 3 5 6
3 5 6
Ebene 2
12 3 5 6
13 5 6
123 125 126 135 136
15 6
156
23 5 6
235 236
25 6
256
35 6
356
Ebene 3: Blätter enthalten sortierte 3-Itemsets der Transaktion t
186
93
Matching
des Transaktions-Baumes mit dem Hash-Baum der Kandidaten-Itemsets


Mit jedem Blatt des Transaktions-Baumes (s.o.) wird der Hash-Baum traversiert
Im Blatt des Hash-Baumes angekommen, wird das k-Itemset aus dem
Transaktions-Baum mit den Kandidaten im Blatt des Hash-Baumes verglichen
Transaktion
Hash-Funktion
12356
1+ 2356
2+ 356
3,6,9
1,4,7
3+ 56
2,5,8
234
567
145
136
345
124
457
125
458
356
357
689
159
367
368
187
Matching
des Transaktions-Baumes mit dem Hash-Baum der Kandidaten-Itemsets
Hash-Funktion
1 2 3 5 6 Transaktion
1+ 2356
2+ 356
12+ 356
1,4,7
3+ 56
3,6,9
2,5,8
13+ 56
234
567
15+ 6
145
136
345
124
457
125
458
356
357
689
367
368
159
188
94
Matching
des Transaktions-Baumes mit dem Hash-Baum der Kandidaten-Itemsets
Hash-Funktion
1 2 3 5 6 Transaktion
1+ 2356
2+ 356
12+ 356
1,4,7
3+ 56
3,6,9
2,5,8
13+ 56
234
567
15+ 6
123 126
145
136
345
156
125
124
457
125
458
356
357
689
367
368
159
189
Matching
des Transaktions-Baumes mit dem Hash-Baum der Kandidaten-Itemsets
Hash-Funktion
1 2 3 5 6 Transaktion
1,4,7
1+ 2356
2,5,8
2+ 356
12+ 356
3+ 56
13+ 56
234
567
15+ 6
123 126
145
136
345
156
125
124
457
125
458
159
356
357
689
3,6,9
367
368
nur mit diesen
(rot umrandeten) 3Itemsets
musste die
Transaktion verglichen werden,
um das Vorhandensein der
Itemsets des
Hash - Baumes
in der Transaktion zu entscheiden.
190
95
Die Hash-Technik beschränkt die Anzahl der Vergleiche in o.g. Beispiel von 150 (10 3elementige Itemsets in t={1, 2, 3, 5, 6} mit 15 Kandidaten-Itemsets) auf 16:










{1,2,3} wird mit 1 Kandidaten des Hash - Baums verglichen
{1,2,5} wird mit 2 Kandidaten des Hash - Baums verglichen und im Baum gefunden
{1,2,6} wird mit 1 Kandidaten des Hash - Baums verglichen
{1,3,5} wird mit 1 Kandidaten des Hash - Baums verglichen
{1,3,6} wird mit 1 Kandidaten des Hash - Baums verglichen und im Baum gefunden
{1,5,6} wird mit 1 Kandidaten des Hash - Baums verglichen
{2,3,5} wird mit 2 Kandidaten des Hash - Baums verglichen
{2,3,6} wird mit 2 Kandidaten des Hash - Baums verglichen
{2,5,6} wird mit 2 Kandidaten des Hash - Baums verglichen
{3,5,6} wird mit 3 Kandidaten des Hash - Baums verglichen und im Baum gefunden
Nach dem Matching bleiben 3 häufige 3-Itemsets F3 aus dieser Transaktion übrig.
Aus jedem der 3 häufigen Itemsets kann man je 23 – 2 Assoziationsregeln bilden:

Es gibt 23 denkbare Partitionierungen in Prämisse und Konklusion einer Regel

 →F3 und F3→ sind nicht sinnvoll und werden abgezogen
191
3.2 Effiziente Repräsentation von Itemsets
Anzahl häufiger Itemsets kann in Praxi sehr hoch werden
 Idee: nur eine Teil repräsentieren, aus welcher alle häufigen Itemsets
ableitbar sind
3.2.1
Maximale häufige Itemsets
Definition
Ein Itemset ist maximal häufig, wenn keiner seiner direkten (um 1 Element
reicheren) Super-Sets häufig ist.
Alle häufigen Itemsets kann man aus den maximal häufigen Itemsets
generieren, indem man alle Teilmengen der maximal häufigen Itemsets
zu selbigen hinzufügt.
192
96
‘n Beispiel
Itemsets aus

häufige
Itemsets
{ A, B, C, D, E }
A
B
C
D
E
AB
AC
AD
AE
BC
BD
BE
CD
CE
DE
ABC
ABD
ABE
ACD
ACE
ADE
BCD
BCE
BDE
CDE
ABCD
nicht häufige
Itemsets
ABCE
ABDE
ACDE
BCDE
maximale
häufige
Itemsets
ABCDE
193
3.2.1
Maximale häufige Itemsets
Vorteil

außerordentlich kompakte Repräsentation
 siehe Beispiel: 3 von 20 Itemsets müssen gespeichert werden
Nachteil

maximale häufige Itemsets enthalten keine Support – Informationen über ihre
Teilmengen (außer der, dass dieser größer minsup ist)

benötigt man den Support – Wert der Teilmengen, ist ein zusätzlicher Lauf über
die Transaktions-Daten nötig

in einigen Fälle benötigt man eine minimale Darstellung häufiger Itemsets, welche
die Support – Information aller häufigen Itemsets enthält
 geschlossene häufige Itemsets
194
97
3.2.2
Geschlossene häufige Itemsets
Definition
Ein Itemset X ist geschlossen, wenn keiner seiner direkten (um 1 Element
reicheren) Super-Sets einen gleich hohen Support hat.
Für den Support eines Super-Sets X‘  X gilt ohnehin s(X‘)  s(X).

Wenn der Support für jedes Super-Set X‘  X schlechter wird, ist X
geschlossen.

Gibt es (mind.) ein Superset X‘  X mit s(X‘) = s(X), kann man das
Itemset X auch ohne Support-Verlust noch vergrößern, weshalb es nicht
als „geschlossen“ gilt.
Definition
Ein Itemset X ist ein geschlossenes häufiges Itemset, wenn es
geschlossen ist und einen Mindestwert minsup an Support aufweist.
195
‘n Beispiel Itemsets aus { A, B, C, D, E }, minsup=0.4
TID
Items
1
ABC
2
ABCD
3
BCE
4
ACDE
5
DE
0.4
AB
0.6

0.6
AC
0.4
0.4 ABC 0.2 ABD
0.2
Support
geschlossene
häufige
Itemsets
A
AD
0.6
0.2
B
AE
0.6
0.8
C
BC
0.2
0.6
BD
0.2
D
BE
0.6
0.4
E
CD
0.4
0 ABE 0.4 ACD 0.2 ACE 0.2 ADE 0.2 BCD 0.2 BCE
ABCD
0
ABCE
0
ABDE
0
ABCDE
0.2
ACDE
0
CE
0.4
DE
0 BDE 0.2 CDE
BCDE
196
98
gleiches Beispiel - maximal häufig vs. geschlossen häufig, minsup=0.4
TID
Items
1
ABC
2
ABCD
3
BCE
4
ACDE
5
DE
0.4
AB
0.6
0.6
AC
0.4
0.4 ABC 0.2 ABD
nicht häufige
Itemsets
0.2
A
AD
0.6
0.2
B
AE
0.6

geschlossene
häufige
Itemsets

0.8
C
0.6
E
BC
0.2
BD
0.2
D
BE
0.6
0.4
CD
0.4
0 ABE 0.4 ACD 0.2 ACE 0.2 ADE 0.2 BCD 0.2 BCE
ABCD
0
ABCE
0
ABDE
0
ABCDE
0.2
ACDE
0
maximale
häufige
Itemsets
CE
0.4
DE
0 BDE 0.2 CDE
BCDE
197
Vorteil geschlossener häufiger Itemsets
Itemsets sind redundant, wenn sie gleichen Support mit deren Super-Sets haben, z.B. in
TID A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

für minsup = 0.2 gibt es 3*(210-1) = 3069 häufige Itemsets

Warengruppen A, B und C werden aber stets zusammen gekauft

Teilmengen innerhalb dieser Warengruppen zu analysieren, führt zu redundanten
Assoziationsregeln

Eine Assoziationsregel XY ist redundant, wenn es bereits eine Regel X‘Y‘ mit
XX‘ und YY‘ gibt.

Redundanz meint hier, dass immer, wenn X (bzw. Y) im Warenkorb liegt, ohnehin
auch X‘\X (bzw. Y‘\Y) auch im Warenkorb liegt.

Es gibt nur 3 geschlossene häufige Itemsets: {A1, …, A10}, {B1, …, B10} und {C1, …, C10}
 Mitunter ist es sinnvoll, Analysten nur geschlossene häufige Itemsets zu präsentieren 198
99
3.3 Regelgenerierung
Nach der Support – basierten Ermittlung häufiger Itemsets erfolgt eine Confidence –
basierte Extraktion von Regeln aus diesen Itemsets.
Für jedes häufige k - Itemset Fk kann man 2k – 2 Assoziationsregeln X →Fk \ X bilden,
welche auf hinreichende Confidence
c( X →Fk \ X ) = σ(Fk ) / σ(X)
überprüft werden.
Theorem
Wenn eine Regel X → Fk \ X nicht die nötige Mindest - Confidence
c = σ(Fk ) / σ(X)
aufweist, dann wird auch jede Regel X' → Fk \ X ' mit X '  X mit ihrer Confidence
c' = σ(Fk ) / σ(X')
diesem Schwellwert nicht erreichen.
… logisch, da σ(X')  σ(X) für X '  X .
199
3.3 Regelgenerierung
erweist sich eine aus Fk bildbare Regel als inkonfident, ist jede andere aus Fk
bildbare Regel mit kürzerer Prämisse (und längerer Konklusion) erst recht inkonfident
 die im prämissenbasiert gebildeten Verband „darunter“ liegenden Regeln
müssen nicht auf Konfidenz untersucht werden
Beispiel:

abcd→
c < cmin
abc→d
ab→cd
RegelPruning
ac→bd
a→bcd
abd→c
ad→bc
b→acd
acd→b
bc→ad
c→abd
bcd→a
bd→ac
cd→ab
d→abc
200
100
3.3 Regelgenerierung
Effektive Generierung von Regeln für ein gegebenes Itemset
 Verschmelzung 2er als „konfident“ erwiesener Regeln zu einer (im Verband
darunter liegenden) neuen Regel mit einer um 1 Item längeren Konklusion
 Redundanzfreie Auswahl von Regelpaaren zur Verschmelzung:
 Regeln der Ebene k des Verbandes haben k Items in ihrer Konklusion
 Es werden nur solche Regelpaare verschmolzen, welche eine in den ersten
k-1 Items gleiche Konklusion haben, z.B.
• bd  ac und cd  ab zu d  abc
• ae  bcd und ad  bce zu a  bcde
 Voraussetzung: sortierte Itemlisten (zumindest) in der Konklusion
 Pruning
Ist eine so erzeugte Regel nicht hinreichend konfident, wird sie nicht in die
Ebene k+1 aufgenommen und somit nicht für weitere Verschmelzungen
herangezogen.
201
3.3 Regelgenerierung
Redundanzfreie Regel-Verschelzungen im konklusionenbasiert gebildeten Verband
abcd→
abc→d
ab→cd
ac→bd
a→bcd
abd→c
bc→ad
b→acd
acd→b
ad→bc
c→abd
bcd→a
bd→ac
cd→ab
d→abc
→abcd
202
101
3.4 Evaluierung von Assoziations-Patterns
Maße für
Wissen
“Interessantheit”
Patterns
Nachbearbeitung
vorverarbeitete
Daten
Prod
Prod
uct
Prod
uct
Prod
uct
Prod
uct
Prod
uct
Prod
uct
Prod
uct
Prod
uct
Prod
uct
uct
Featur
Featur
e
Featur
e
Featur
e
Featur
e
Featur
e
Featur
e
Featur
e
Featur
e
Featur
e
e
Mining
ausgewählte
Daten
Vorverarbeitung
Daten
Datenauswahl
203
3.4 Evaluierung von Assoziations-Patterns
Assoziations-Pattern
= Paar [Prämisse, Konklusion] einer Assoziationsregel Prämisse  Konklusion
Wie „interessant“ ein Pattern [A, B] ist, wird anhand der Häufigkeiten des (nicht-) Auftretens der verschiedenen Kombinationen aus {A, B, ¬A, ¬B} in den Transaktionen
ermittelt
Häufigkeiten werden in einer Kontingents –Tabelle repräsentiert:
B
¬B
A
f11
f10
f1+
¬A
f01
f00
f0+
f+1
f+0
N
Mit Kontingents-Tabellen können div. „Interessantheits-Maße“ ermittelt werden, z.B.:
(1) Konfidenz
(2) Lift-Maß
(3) Interest Faktor
(4) Korrelation (φ – Koeffizient)
(5) Interest Ssupport (IS-Maß)
(6) Odds Ratio (α – Koeffizient)
204
102
(1) Konfidenz - basierte Evaluierung
Konfidenz:
c( A → B ) = σ( A  B ) / σ(A) = (f11 /N)/ (f1+ /N)= f 11 / f1+
Nachteil:

Support der Regelkonklusion bleibt unberücksichtigt

‘n Beispiel
Analyse des Zusammenhangs zwischen Kaffee- und Teetrinkern, 1000 Leute:
Kaffee
¬ Kaffee
Tee
150
50
200
¬Tee
650
150
800
800
200
1000
r:
Tee  Kaffee
 ist sehr konfident: 150/200 = 0.75
 allerdings trinken ohnehin fast alle Leute (unabhängig vom Tee trinken) Kaffee: 80%
 Anteil der Kaffee-Trinker unter den Tee-Trinkern ist sogar noch geringer als unter
allen Befragten: 75%
 Regel r: Tee  Kaffee ist trotz hoher Konfidenz irreführend!
205
(2) Lift - basierte Evaluierung
s( A  B)
c( A  B )
s( A  B)
f N
s ( A)
Lift ( A  B ) 


 11
s( B)
s( B)
s ( A)  s ( B ) f1  f 1
relativiert Konfidenz mit dem Support der Konklusion.
Damit wird ausgedrückt, um welchen Faktor B wahrscheinlicher wird, wenn A auftrat
ggü. der absoluten Wahrscheinlichkeit von B.
Dieses Maß ist für binäre Variablen (was auf die Aussagen rechts und links von „→“
zutrifft) symmetrisch:
Lift(A,B) = Lift(B,A)
 Lift(A→B)
=1
Korrelieren A und B positiv  s(AB) > s(A)  s(B)  Lift(A→B)
>1
Korrelieren A und B negativ  s(AB) < s(A)  s(B)  Lift(A→B)
<1
Sind A und B unabhängig  s(AB) = s(A)  s(B)
206
103
(3) Interest-Faktor - basierte Evaluierung
I ( A  B)  c( A  B)  s( B) 
 ( A  B )  ( B) f11  f 1


 ( A)
N
f1  N
wichtet Konfidenz mit dem Support der Konklusion.
Damit wird die Konfidenz einer Regel mit ihrer „Interessantheit“ (der Wahrscheinlichkeit
des Auftretens) der Konklusion gewichtet.
207
Nachteil der Lift (Interest-Faktor) - basierten Evaluierug
Beispiel Text-Mining: gemeinsames Auftreten von Wort-Paaren { p, q } und { r, s }
p
¬p
q
880
50
930
¬q
50
20
70
930
70
1000
r
¬r
s
20
50
70
¬s
50
880
930
70
930
1000
Durch die Relativierung auf (bzw. Wichtung mit) den Support der Konklusion wird der
offensichtlich stärkere Zusammenhang von { p, q } ggü. { r, s } verschleiert:
Lift ( p  q ) 
880 1000
 1.018
930  930
Lift (r  s ) 
20 1000
 4.082
70  70
Hier wäre die Konfidenz-basierte Evaluierung besser:
c( p  q ) 
880
 0.946
930
c(r  s) 
20
 0.286
70
208
104
(4) Korrelation (φ – Koeffizient) - basierte Evaluierung
Für numerische Variablen haben wir Korrelation so definiert (siehe Folie 25):
n
s xy
covarianz(x,y)


corr(x,y) 
stdt_abw(x)  std_abw(y) s x s y
 (x
k 1
k
- x)(y k - y)
n
 (x k - x) 2 
k 1
n
 (y
k 1
k
- y) 2
Für binäre Variablen entspricht dies dem φ – Koeffizienten:
f11  f 00  f 01  f10
f1  f 1  f 0  f  0

Nachteil der Korrelations (φ – Koeffizient) - basierten Evaluierung

Co-Präsenz und Co-Absenz werden gleich bewertet
•

für o.g. Beispiel aus dem Text – Mining ist φ(p,q)= φ (r,s)=0.232, obwohl der
Zusammenhang von { p, q } signifikanter als bei { r, s } ist
φ – Koeffizient ist besser für symmetrische Variablen geeignet
209
(5) IS (Interest-Support)- basierte Evaluierung
IS ( A, B)  I ( A, B )  s ( A, B )


s ( A, B)
 s ( A, B ) 
s ( A)  s ( B)
f11
N
f1 f 1

N N

s ( A, B)
s ( A)  s ( B)
N  f11 f11


f1  f 1 N
f11

N
f11
f1  f 1

speziell für asymmetrische Attribute (solche, bei denen es nur auf Werte ≠ 0
ankommt) entwickelt

Entspricht Kosinus-Koeffizienten für binäre Variablen:
n
sim( x, y ) 
x
k 1
n
x
k 1
2
k
k
yk
n
*
y
k 1
2
k
210
105
(4) IS (Interest-Support)- basierte Evaluierung
Für unser Beispiel aus dem Text Mining
p
¬p
q
880
50
930
¬q
50
20
70
930
70
1000
r
¬r
s
20
50
70
¬s
50
880
930
70
930
1000
…ist IS deutlich besser als Interest-Faktor (Lift-Maß) oder Korrelation (φ – Koeffizient):

IS(p,q) = 0.946

IS(r,s) = 0.286
Dies trifft unsere (intuitive) Erwartung.
211
(5) IS (Interest-Support)- basierte Evaluierung
 für statistisch unabhängige Items ist s(A,B) = s(A)  s(B) bzw. f11/N = f1+/N  f+1 /N
 IS entartet dann zu
f1 f 1

N N
 Unabhängigkeit äußert sich in Praxi darin, dass die Häufigkeit, dass die Items
zusammen oder nicht zusammen im Warenkorb liegen, gleich hoch ist
ISindep ( A, B)  s ( A)  s ( B) 
 Beispiel:
p
¬p
q
250
250
500
¬q
250
250
500
500
500
1000
In der Tat ist hier
IS(p,q) = ISindep(p,q) = 0.5
(6) Odds Ratio (α – Koeffizient) - basierte Evaluierung
… ist das Verhältnis zwischen Co-Präsenz oder Co-Absenz zu allen anderen Fällen:
1
1

( A, B)   ( A , B )
f f
s ( A, B)  s ( A , B ) N
N
 ( A, B) 
 11 00

1
1
s ( A, B )  s ( A , B)
 ( A, B )   ( A , B) f10  f 01
N
N
212
106
Zusammenfassung „Interessantheits-Maße“ von Assoziationspatterns
Es gibt zwei Kategorien von Metriken M(AB):

Symmetrische Metriken: M(AB) = M(BA) (deshalb oft M(A,B) geschrieben)

Asymmetrische Metriken: M(AB) ≠ M(AB)
Symmetrisch sind außer dem Konfidenz-Maß alle hier behandelten Metriken: Lift,
Korrelation (φ – Koeffizient), IS-Maß, Odds Ratio (α – Koeffizient)
Asymmetrisch sind neben dem Konfidenz-Maß (c) auch J-Maß (J) (Entropie-ähnlich),
Gini Index (G), Laplace (L), Cobnviction(V), Certainty factor (F), Addad value (AV):
J
 N  f10 
 N  f11  f10
f11

 
log
log
N
 f1  f 1  N
 f1  f  0 
2
2
2
f1  f11   f10    f 1 
f
  
   
 
  0
N  f1   f1    N 
N


L  ( f11  1) ( f1  2)
G
 f   f 
  01    00 
 f 0   f 0 
2
2
  f 2
   0 
  N 
V  ( f1  f  0 ) ( N  f10 )
 f
f  
f 
F   11  1  1  1 
f
N
N 
 1
 
f
f 1
AV  11 
f1
N
213
4 Cluster-Analyse
Ziel
Einteilung der DO eines Datensatzes in Gruppen (Cluster), welche

„sinnstiftend“ (die natürliche Struktur der DO widerspiegelnd, um diese zu
verstehen) oder

„nützlich“ (für andere Zwecke, z.B. einer Zusammenfassung von DO-Eigenschaften)
sind.
Intra-Cluster
Abstände
minimal
Inter-Cluster
Abstände
maximal
214
107
Beispiele für „sinnstiftendes“ Clustering

Biologie

Erarbeitung einer Taxonomie über Species: Art, Familie, Ordnung, Klasse,

Clustern von Genen mit jeweils ähnlichen Funktionen
Stamm, Reich

Information Retrieval
effizientes Suchen im WWW durch Clustern der Suchbegriffe, z.B. Film in die
Cluster Reviews, Trailer und Stars


Klimaforschung
durch Cluster-Analyse wurde der Einfluss der Luftdruckverhältnisse in den
Polarregionen und über den Weltmeeren auf das Klima an Land aufgedeckt


Medizin und Psychologie
pathologische Erscheinungen haben gewöhnlich mehrere Ausprägungen,
solche Sub-Kategorien (z.B. Typen von Depressionen) sind durch ClusterAnalyse identifiziert worden


Wirtschaft
Kunden können durch Cluster-Analyse partitioniert werden in Gruppen mit
ähnlichen Interessen, um das Marketing kundenspezifischer (und damit
effektiver) zu machen

215
Beispiele für „nützliches“ Clustering

Zusammenfassungen (effiziente Datenverarbeitung)


Datenkompression


Viele Analysetechniken haben eine Komplexität o(n2) oder schlimmer.
Clustert man die Daten zuvor und wendet diese Techniken dann nur
noch auf Cluster-Prototypen an, werden sie effizienter
Ähnliches geschieht bei der Vektor-Quantisierung von Bild-, Ton- oder
Videodaten. Für jedes Cluster wird nur ein Repräsentant nebst seinen
Positionen im Datenstrom abgelegt
effiziente Ermittlung nächstliegender Nachbarn

Der paarweise Vergleich von Abstandsmaßen mach die Ermittlung
nächster Nachbarn in großen Datenmengen sehr komplex. Macht man
das nur mit Cluster-Prototypen, wird die Ermittlung effizienter
216
108
4.1
Überblick
Ziel: Finden von Clustern, welche


sich signifikant voneinander unterscheiden, d.h. welche einen maximalen
Abstand voneinander haben, und

innerhalb derer sich die DO nicht signifikant unterscheiden („dicht
beieinander“ sind), d.h. einen minimalen Abstand voneinander haben.
Clustering-Aufgaben haben keine eindeutige Lösung, Beispiel:

Wie viele Cluster?
2 Cluster
6 Cluster
4 Cluster
217
Clustering = Aufteilung von DO in Cluster
4.1.1
Typen von Clusterings
(1) hierarchisch versus Partitionierung

Partitionierung


Einteilen der DO in disjunkte Teilmengen (Cluster), so dass jedes DO zu
genau einem Cluster gehört (wie im Beispiel der vorherigen Folie)
hierarchisches Clustern
Ermittlung einer baumförmigen Cluster-Hierarchie


jede Astgabel des Baumes ist eine (weitere) Partitionierung

jeder Knoten (Cluster) im Baum (mit Ausnahme der Blätter) enthält die
DO, die sich aus der Vereinigung der DO seiner Unterbäume ergibt

im Beispiel könnte man die Einteilung in 2, 4 und 6 Cluster als auch
baumförmige Cluster-Hierarchie organisieren

traditionell (constrained Clustering): binärer Baum, jede Astgabel
des Baumes identifiziert ein (fertiges) Cluster (Blattknoten) in einem
Unterbaum und die restlichen im anderen Unterbaum
218
109
Partitionierendes Clustering
Original DO
Partitionierendes
Clustering
219
hierarchisches Clustering
p1
p3
p4
p2
„traditionelles“ hierarchisches
Clustering
p1
p3
Repräsentation
im „traditionellen“ Dendrogramm
p4
p2
hierarchisches constrained
Clustering
Repräsentation
im constrained Clustering
Dendrogramm
220
110
Typen von Clusterings
(2) exklusiv versus überlappend

exklusive: jedes DO gehört zu genau einem Cluster

überlappend: ein DO kann zu mehreren Clustern gehören
(3) fuzzy versus scharf

fuzzy

jedes DO gehört zu jedem Cluster mit einem Gewicht g, 0 ≤ g ≤ 1

Summer aller Gewichte für ein DO = 1

scharf: scharfe Zugehörigkeiten (0 oder 1)
(4) partiell versus total

partiell: einige DO bleiben clusterfrei

total: jedes DO gehört zu (mindestens) einem Cluster
(5) heterogen versus homogen

heterogen: die Cluster haben verschiedene Größen, Formen und Dichten

homogen: die Cluster sind gleich in Größe, Form oder Dichte
221
4.1.2
Typen von Clustern
(1) wohl – separierte Cluster

jedes DO eines Clusters ist näher (ähnlicher) zu jedem anderen DO innerhalb
des Clusters als zu allen DO außerhalb des Clusters

m.a.W., jeder Punkt außerhalb des Clusters ist ferner (verschiedener) als der
fernste Punkt innerhalb des Clusters
Beispiel: 3 wohl-separierte Cluster
222
111
4.1.2
Typen von Clustern
(2) Prototyp – basierte Cluster (center-based cluster)

jedes DO eines Clusters ist näher (ähnlicher) dem Zentrum (zum Prototyp – DO)
seines Clusters als zum Zentrum jedes anderen Clusters

 tendieren zur Kugelförmigkeit

Zentrum des Clusters wird häufig


Centroid genannt, wenn es für jedes Attribut den Durchschnitt der Werte
aller DO des Clusters hat

Medoid genannt, wenn es das „repräsentativste“ DO des Clusters bildet
Ein Centroid ist nicht zwangsläufig ein reales DO, ein Medoid hingegen ist eines
der DO.
Beispiel: 4 Prototyp-basierte Cluster
223
4.1.2
Typen von Clustern
(3) zusammenhängende Cluster (contiguity-based cluster)

jedes DO eines Clusters ist zu mindestens einem DO seines Clusters näher
(ähnlicher), als zu jeden DO außerhalb des Clusters
Beispiel: 8 zusammenhängende Cluster
224
112
4.1.2
Typen von Clustern
(4) Dichte - basierte Cluster (density-based cluster)

ein Cluster ist eine Region, die sich von angrenzenden Gebieten des „Raumes“
durch eine hohe Dichte von DO auszeichnet

Cluster sind von anderen Clustern durch „Gebiete geringer Dichte“ separiert.

werden typischerweise verwendet, wenn

Cluster irreguläre Formen haben

Cluster ineinander verflochten sind

verrauschte Daten oder „Außenseiter“ im Datensatz sind
Beispiel: 6 Dichte-basierte Cluster
225
4.1.2
Typen von Clustern
(5) konzeptuelle Cluster (conceptual cluster, shared-property cluster)

Umfasst alle anderen o.g. Typen

Cluster werden als Menge von DO mit einer gemeinsamen Eigenschaft, die nicht
als Attribut definiert ist, definiert und nicht durch die Verteilung der DO im AttributRaum

können nichtleere Schnittmengen haben
Beispiel: 2 konzeptuelle Cluster
im Weiteren vorgestellte Clustering Verfahren
•
K - means / K - medoid (4.2)
•
•
hierarchisches Clustering (4.3)
dichtebasiertes Clustering mit DBSCAN (4.4)
226
113
4.2
K – means (K - medoid)
= Prototyp – basiert, partitionierend, nicht hierarchisch
4.2.1
Grundlegender K – means (K - medoid) Algorithmus

initial werden (mehr oder weniger willkürlich) K Centroiden (Medoiden)
festgelegt (K: gewünschte Anzahl von Clustern)

zyklisch wird
1.
Jedes DO wird dem nächstgelegenen Centroiden (Medoiden) zugeordnet

„nächstgelegen“: Euklidischer Abstand, Kosinus-Koeffizient,
Korrelation, …
2. und der Centroid (Medoid) eines jeden Clusters danach neu berechnet
… solange, bis sich keiner Centroiden (Medoiden) durch die Neuberechnung
mehr ändert, d.h. kein DO die Clusterzugehörigkeit ändert


konvergiert typischerweise schnell (nach wenigen Zyklen)
Falls nicht, weicht man mitunter das Stopp-Kriterium auf:
„solange, bis sich nur wenige Centroiden (Medoiden) mehr ändern“



Komplexität  o( n  K  I  d )
n: Anz. d. DO, K: Anz. d. Centroiden (Medoiden), I: Anz. d. Iterationen, d: Anz. d. Attribute
227
Beispiel
2 Attribute, Euklidisches Abstandsmaß, 3 Centroiden ( + )
Iteration 1
Iteration 2
Iteration 3
2.5
2.5
2.5
2
2
2
1.5
1.5
1.5
y
3
y
3
y
3
1
1
1
0.5
0.5
0.5
0
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
0
-2
-1.5
-1
-0.5
x
0
0.5
1
1.5
2
-2
Iteration 4
Iteration 5
2.5
2
2
1.5
1.5
1.5
1
1
1
0.5
0.5
0.5
0
0
-0.5
0
x
0.5
1
1.5
2
0
0.5
1
1.5
2
1
1.5
2
y
2.5
2
y
2.5
y
3
-1
-0.5
Iteration 6
3
-1.5
-1
x
3
-2
-1.5
x
0
-2
-1.5
-1
-0.5
0
x
0.5
1
1.5
2
-2
-1.5
-1
-0.5
0
0.5
x
Zuordnung zum nächstgelegenen Centroiden: häufigste Ähnlichkeitsmaße

Euklidischer (L2) oder Manhatten (L1) Abstand im Euklidischen Raum

Kosinus-Koeffizient oder Jaccard Koeffizient für Dokumente
228
114
Zielfunktion
(bei Auswahl des besten Clusterings nach mehrfacher Anwendung der Technik)
Im Euklidischen Raum mit L2-Distanzmaß:

sum of the squared error SSE
K
•
•
•
•
SSE    dist (ci , x) 2
i 1 xCi
mit
1
mi
ci 
x
x
Ci
ci
mi
DO
i -tes Cluster
Centroid des Clusters Ci
Anz. d. DO im i –ten
Cluster
m Gesamtzahl der DO
K Anz. d. Cluster
•
•
xCi
‘n Beispiel für die Centroiden - Berechnung
Cluster Ci im 2-dim. Raum habe die DO Ci={ [1,1] , [2,3] , [6,2] }

⇒
ci = [ (1+2+6)/3 , (1+3+2)/3 ] = [9,2]
229
Zielfunktion (Auswahl des besten Clusterings nach mehrfacher Anwendung der Technik)
 für Dokumente
 repräsentiert durch eine Dokument – Term – Matrix:
Zeilen: Dokumente, Spalten: Begriffe, Einträge: Anzahl des Auftretens des Begriffes

 Ähnlichkeitsmaß: Kosinus-Koeffizient
 Zielfunktion: Ähnlichkeit der Dokumente eines Clusters zu maximieren
Kohäsion (Cohesion) des Clusters total_cohesion
n
K
K
i 1 xCi
i 1 xCi
total _ cohesion    cos( x j , ci )   
e
k 1
n
c
kj ki
n
e c
2
kj
k 1
k 1
2
ki
mit dem Centroiden ("dem Durchschnittsdokument")
ci  [
1
mi
mi
e
j 1
1j
,
1
mi
mi
e
j 1
2j
,,
1
mi
mi
e
j 1
nj
,]
mit
• xj
• Ci
• ci
• mi
• m
• ekj
• n
• K
d1 d2 d3 d4 d5 d6
‘n Beispiel für die
Berechnung eines
Centroiden c
Toyota
Honda
hybrid
Super
Diesel
Akku
Dokument (j - te Matrix-Zeile)
i -tes Cluster
Centroid des Clusters Ci
Anz. d. DO im i –ten Cluster
Gesamtzahl der DO
Eintrag in der Matrix:
Anz. d. Terme tk im Dokument dj
Anz. d. Terme
Anz. d. Cluster
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
1
0
1
0
1
0
1
2
3
4
5
6
c
1 7/6
0 6/6
3 11/6
0 8/6
5 15/6
0 10/6
230
115
Auswahl von Initial - Centroiden
Davon hängt ab, ob das Verfahren in das globale oder in ein lokales Minimum des SSE
(sum of the squared error) konvergiert.
Originalpunkte
3
2.5
2
y
1.5
1
0.5
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
3
3
2.5
2.5
y
2
1.5
y
2
1.5
1
1
0.5
0.5
0
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
optimales Clustering
(globales Minimum des SSE)
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
sub-optimales Clustering
(lokales Minimum des SSE)
231
noch ein Beispiel (aus Tan/Steinbach/Kumar):
identische DO, optimale vs. schlechte Initial-Centroiden (hier: Kreuze)
232
116
und noch ein Beispiel (aus Tan/Steinbach/Kumar):
Cluster-Paare (rechts/links) werden gefunden, wenn in jedem Paar 2 Initial-Centroide sind
233
und noch ein Beispiel (aus Tan/Steinbach/Kumar):
Cluster-Paare (rechts/links) werden nicht gefunden, wenn in einem Paar 1 und im
anderen Paar 3 Initial-Centroide sind: 2 wirkliche Cluster werden verschmolzen und ein
wirkliches Cluster wird geteilt:
234
117
ein Ansatz zur Vermeidung lokaler SSE Minima
wähle den ersten Centroid zufällig oder verwende den Centroiden aller DO
für alle weiteren Centroiden wähle jeweils einen Punkt, der am weitesten entfernt
von allen bisher gewählten Centroiden ist
Vorteil: Initial-Centroiden sind wohl separiert
Nachteil: ggf. werden „Ausreißer“ zu Clustern erhoben (statt Regionen mit hoher Dichte)


noch ein Ansatz

führe zunächst ein hierarchisches Clustering durch

verwende die Centroiden der dabei entstehenden K Cluster and Initial-Centroide des
partitionierenden Clusterings
Komplexität
space  O(((m  K )  n)
mit
m
n
K
I
time  O( I  K  m  n)
Anzahl der DO
Anzahl der Attribute
Anzahl der gewünschten Cluster
Anzahl der Iterationen (gewöhnlich gering, konvergiert recht schnell)
235
4.2.2
Weiterführende Aspekte
Vermeidung leerer Cluster
bleibt ein Cluster leer, ersetzt man dessen Centroid durch einen neuen Centroiden, z.B.
 das DO, welches am weitesten von allen bisherigen Centroiden entfernt ist oder
 ein DO, welches in demjenigen Cluster liegt, welches am meisten zum Sum of
Squared Error (SSE) beiträgt (den größten Cluster-SSE hat) und splittet dieses damit
in 2 Cluster
Ausreißer führen dazu, dass
 Centroiden nicht wirklich repräsentativ für ihr Cluster sind oder
 Mini-Cluster von Ausreißer-Gruppen entstehen
 Indiz zur Identifikation: DO eines Clusters, die extrem zum SSE dieses Clusters
beitragen, stehen im Verdacht „Ausreißer“ zu sein
Optimierung durch Nachbearbeitung (Post Processing)
 Splitting eines Clusters mit besonders großem Culster-SSE in 2 Cluster
 Einführung eines neuen Clusters mit dem DO, welches am weitesten von allen
Centroiden entfernt ist, als neues Centroiden (s.o.)
 Entfernung der Centroiden solcher Clustern, deren Entfernung die geringste SSEErhöhung nach sich zieht und Zuordnung der betroffenen DO zu anderen Clustern
 Verschmelzung 2er Cluster, deren Centroiden am dichtesten beieinander liegen oder
deren Verschmelzung die geringste SSE Erhöhung nach sich zieht
236
118
4.2.3
Bisecting K – means

beginnend mit genau 2 Clustern in jedem Zyklus ein Cluster ein Cluster ausgewählt,
welches in 2 neue Cluster gesplittet wird …

…bis die gewünschte Anzahl von K Clustern entstanden ist

Mögl. Auswahlkriterien:
 größtes Cluster (bzgl. Anz. d. DO)
 Cluster mit größtem SSE

macht K - means weniger anfällig ggü. Initialisierungsproblemen (Finden guter InitialCentroiden):
 zunächst bisecting K – means anwenden
 dann die resultierenden Centroiden als Initial – Centroiden für klassisches K –
means verwenden
⇒ Vermeidet lokale SSE – Minima, weil SSE Minima gezielt in Teilmengen der DO
gesucht werden: Das Optimum für jede Teilmenge hat bessere „Chancen“, auch
global das Optimum zu sein
237
4.2.4
Probleme mit K - means bei verschiedenen Clustertypen
4.2.4.1 Cluster verschiedener Größe
größere natürliche Cluster tendieren dazu, durch K-Means aufgeteilt zu werden
Originale DO
Ergebnis von K-means (3 Cluster)
238
119
4.2.4
Verhalten von K - Means bei verschiedenen Clustertypen
4.2.4.2 Cluster verschiedener Dichte
natürliche Cluster werden aufgrund unterschiedlicher Dichte mitunter nicht gefunden
Originale DO
Ergebnis von K-means (3 Cluster)
239
4.2.4
Verhalten von K - Means bei verschiedenen Clustertypen
4.2.4.3 Nicht globulare Cluster

Ineinander „verwundene“ und nicht-konvexe Cluster werden nicht gefunden

Aufgrund des Zuordnungs-Kriteriums „Abstand zum Centroiden“ werden nicht
globulare natürliche Cluster nicht identifiziert.
Originale DO
Ergebnis von K-means (2 Cluster)
240
120
4.3


Hierarchisches Clustering
produziert eine Menge baumartig geschachtelter Cluster
kann im bottom-up oder top-down Verfahren durchgeführt werden:

Agglomeratives Clustering (bottom-up)

beginnt mit einzelnen DO als Clustern

in jedem Schritt wird dasjenige Paar von Clustern verschmolzen,
welches am dichtesten beieinander liegt

Divisives Clustering (top down)

beginnt mit einem alle DO enthaltenden Cluster

in jedem Schritt ein Cluster in zwei neue Cluster gesplittet, bis die
gewünschte Anzahl von Clustern erreicht wird
Auswahl des zu splittenden Clusters:

größtes Cluster

Cluster mit größtem SSE

… wird kaum verwendet
241
4.3
Hierarchisches Clustering
Veranschaulichung der Cluster-Hierarchie
Dendrogramm
Cluster Diagramm
Höhe der Gabelungen
= Abstand der verschmolzenen Cluster
5
6
4
0.2
3
4
2
5
0.15
2
0.1
1
3
0.05
0
1
3
2
5
4
1
6
Jede gewünschte Anzahl von Clustern kann
erzeugt werden, indem man das
Dendrogramm auf der entsprechenden Höhe
schneidet
242
121
4.3.1
Hierarchischer Clustering Grund-Algorithmus
Beginnend mit den DO als jeweils ein Cluster werden die beiden am nächsten
beieinander liegenden Cluster verschmolzen, bis nur noch ein Cluster
verbleibt:
1. errechne eine Distanz-Matrix zwischen den Clustern
2. repeat
 verschmelze die beiden Cluster, die am nächsten
beieinander liegen
 aktualisiere die Distanz-Matrix entsprechend
(in der Zeile und/oder Spalte des neuen
Clusters)
3. until nur noch ein Cluster verfügbar
243
Startsituation
Start mit DO als individuelle Cluster und einer Distanz-Matrix
p1
p2
p3
p4 p5
...
p1
p2
p3
p4
p5
.
.
.
Distanz Matrix
244
122
Situation nach einer Anzahl von Durchläufen
nach einigen Verschmelzungsschritten liegen einige Cluster vor
C1
C2
C3
C4
C5
C1
C2
C3
C3
C4
C4
C5
Distanz-Matrix
C1
C5
C2
245
Situation nach einer Anzahl von Durchläufen
die 2 nächstgelegenen Cluster (C2 and C5) werden verschmolzen und die
Distenz-Matrix aktualisiert
C1
C2
C3
C4
C5
C1
C2
C3
C3
C4
C4
C5
Distanz-Matrix
C1
C2
C5
246
123
nach der Verschmelzung
Wie ist die Distanz-Matrix zu aktualisieren?
C1
C2 U C5
C4
C3
C4
?
?
?
C1
C3
C2
U
C5
?
?
C3
?
C4
?
Distanz-Matrix
C1
C2 U C5
247
Ansätze zur Distanzermittlung zwischen 2 Clustern aus dem Distanzmaß zwischen 2 DO
p1
Distanz ?
p2
p3
p4 p5
...
p1
p2
p3
p4
p5
.
.
Distanz-Matrix
. dem Distanzmaß zwischen 2 DO
Ansätze zur Distanzermittlung zwischen 2 Clustern aus
1. MIN: Abstand zw. den einander nächstgelegenen DO der beiden Cluster
2. MAX: Abstand zw. den einander entferntesten DO der beiden Cluster
3. AVERAGE: Durchschnitt der Abstände jedes Paars von DO aus je einem der beiden
Cluster
4. Abstand der Cetroiden
5. Ward‘s Methode: Centroid-basiert, Abstand ist def. durch die Verschlechterung des
SSE (Sum of Squared Error)-Verbesserung beim Verschmelzen des Cluster-Paars
248
124
Ansätze zur Bestimmung der Cluster Abstände
p1
p2
p3
p4 p5
...
p1
p2
p3
p4
1. MIN (single link)
2. MAX (complete link)
3. AVERAGE (group average)
p5
.
.
.
4. Abstand der Centroiden
Distanz-Matrix
5. Zielfunktions – orientierte Methoden
 Ward’s Clustering Methode
Es wird diejenige Verschmelzung durchgeführt,
welche die geringste Verschlechterung des SSE
(sum of squared error) zur Folge hat.
249
Ansätze zur Bestimmung der Cluster Abstände
p1
p2
p3
p4 p5
...
p1
p2
p3
p4
1. MIN (single link)
2. MAX (complete link)
3. AVERAGE (group average)
4. Abstand der Centroiden
p5
.
.
.
Distanz-Matrix
5. Zielfunktions – orientierte Methoden
 Ward’s Clustering Methode
Es wird diejenige Verschmelzung durchgeführt,
welche die geringste Verschlechterung des SSE
(sum of squared error) zur Folge hat.
250
125
Ansätze zur Bestimmung der Cluster Abstände
p1
p2
p3
p4 p5
...
p1
p2
p3
p4
p5
1. MIN (single link)
.
2. MAX (complete link)
.
3. AVERAGE (group average)
.
4. Abstand der Centroiden
Distanz-Matrix
5. Zielfunktions – orientierte Methoden
 Ward’s Clustering Methode
Es wird diejenige Verschmelzung durchgeführt,
welche die geringste Verschlechterung des SSE
(sum of squared error) zur Folge hat.
251
Ansätze zur Bestimmung der Cluster Abstände
p1
p2
p3
p4 p5
...
p1


p2
p3
p4
1. MIN (single link)
2. MAX (complete link)
3. AVERAGE (group average)
4. Abstand der Centroiden
p5
.
.
.
Distanz-Matrix
5. Zielfunktions – orientierte Methoden
 Ward’s Clustering Methode
Es wird diejenige Verschmelzung durchgeführt,
welche die geringste Verschlechterung des SSE
(sum of squared error) zur Folge hat.
252
126
Datenobjekte
Beispiel-Datensatz
DO
x
0,6
y
0.4005
0.5306
0,5
p2
0.2148
0.3854
0,4
p3
0.3457
0.3156
p4
0.2652
0.1875
p5
0.0789
0.4139
p6
0.4548
0.3022
y
p1
0,3
0,2
0,1
0
0
0,1
0,2
0,3
0,4
0,5
x
p1
Distanz-Matrix
(Euklidischer Abstand)
p2
p3
p4
p5
p6
0.2218
0.3688
0.3421
0.2347
p1
0
0.2357
p2
0.2357
0
0.1483
0.2042
0.1388
0.2540
p3
0.2218
0.1483
0
0.1513
0.2843
0.1100
p4
0.3688
0.2042
0.1513
0
0.2932
0.2216
p5
0.3421
0.1388
0.2843
0.2932
0
0.3921
p6
0.2347
0.2540
0.1100
0.2216
0.3921
0
253
Cluster nach MIN-Ansatz (single link approach)

kleinster Abstand zwischen p3 und p6:
• d(p3,p6) = 0.1100  erste Dendrogramm-Gabelung bei y = 0.1100

weiteres Beispiel
• dist({p3,p6},{p2,p5}) = min(d(p3,p2), d(p3,p5) , d(p6,p2) , d(p6,p5) )
= min( 0.1483, 0.2843, 0.2540, 0.3921)
= 0.1483
 Dendrogramm-Gabelung bei y = 0.1483
1
3
5
0.2
5
2
1
2
3
0.15
6
0.1
0.05
4
4
0
3
6
2
5
4
1
254
127
Cluster nach MAX-Ansatz (complete link approach)

kleinster Abstand zwischen p3 und p6:
• d(p3,p6) = 0.1100  erste Dendrogramm-Gabelung bei y = 0.1100

weiteres Beispiel
• dist({p2,p5},{p1}) = max(d(p2,p1), d(p5,p1))
= max( 0.2357, 0.3421) = 0.3421
 Dendrogramm-Gabelung bei y = 0.3421
0.4
0.35
4
1
0.3
2
5
5
0.25
0.2
2
3
3
6
1
0.15
0.1
4
0.05
0
3
6
4
2
5
1
255
Cluster nach AVERAGE-Ansatz (group average approach = Abstand der Centroiden)

kleinster Abstand zwischen p3 und p6:
• d(p3,p6) = 0.1100  erste Dendrogramm-Gabelung bei y = 0.1100

weiteres Beispiel
• dist({p3,p6, p4},{p2,p5})
= d(p3,p2)+d(p3,p5)+d(p6,p2)+d(p6,p5)+d(p4,p2)+d(p4,p5) / 6
= 0.1483+0.2843+0.2540+0.3921+0.2042+0.2932 / 6 = 0,2627
 Dendrogramm-Gabelung bei y = 0.2627
5
2
5
0.3
1
4
0.25
0.2
2
3
6
1
4
3
0.1
5
0.1
0.05
0
3
6
4
2
5
1
256
128
Cluster nach WARD‘s Methode
 Es wird diejenige Verschmelzung durchgeführt, welche die geringste
Verschlechterung des SSE (sum of squared error) zur Folge hat.
5
4
0.3
1
2
5
0.25
2
0.2
3
6
0.15
1
4
0.1
3
0.05
0
3
4
6
1
2
5
257
Vergleich aller Methoden
1
3
5
5
1
2
MIN
3
MAX
5
2
4
5
5
Ward’s Method
3
6
Group Average
4
1
2
5
2
3
1
4
6
1
4
2
3
3
3
2
4
5
6
1
5
1
2
2
4
4
6
1
4
3
258
129
Vorteile
Nachteile
MIN
erkennt auch nicht-elliptische
Cluster-Formen gut


anfällig gegen verrauschte Daten und „Ausreißer“
tendiert zur Bildung „kettenförmiger“
Clustergebilde (chaining effect), in welchem sich
DO befinden, die zueinander geringere Ähnlichkeit
aufweisen als zu DO anderer Cluster
MAX
weniger anfällig gegen
verrauschte Daten und
Ausreißer




tendiert dazu, große Cluster zu splitten
bildet vorzugsweise gleich große Cluster
bildet vorzugsweise kugelförmige Cluster
erkennt nicht – konvexe Cluster oft nicht
AVERAGE weniger empfindlich gegen
verrauschte Daten und
Ausreißern
WARD


bildet vorzugsweise gleich große Cluster
bildet vorzugsweise kugelförmige Cluster
erkennt nicht – konvexe Cluster oft nicht
weniger anfällig gegen
bildet vorzugsweise kugelförmige Cluster
verrauschte Daten und
Ausreißer
eignet sich gut zur
Ermittlung geeigneter Initial
- Centroiden für K - means
Nachteile aller hierarchischen Verfahren

Gebildetes Cluster werden nie wieder “angefaßt”. Eine einmal vollzogene
Verschmelzung kann nicht wieder rückgängig gemacht werden

Die Zielfunktion wird meist nicht direkt minimiert (Ausnahme: Ward)

diverse Cluster – Abstandsmaße haben spezifische Nachteile (s.o.)
4.4
259
Dichtebasiertes Clustering mit DBSCAN
Dichte eines Punktes = Anzahl d. DO innerhalb eines Radius Eps (inkl. des Punktes)
Core Point
DO, in deren Eps - Umgebung ein Minimum MinPts weiterer DO ist
Border Point
DO, in deren Eps - Umgebung dieses Minimum nicht erreicht wird, aber ein Core
Point in der Eps - Umgebung liegt
Noise point:
DO, die weder Core Point
noch Border Point sind
260
130
In einem Cluster zusammengefasst werden:


Core Points, welche einen Abstand von höchstens Eps zueinender haben
Border Points, in deren Eps - Umgebung einer der o.g. Core points liegt
⇒ Für den Fall, dass mehrere Core Points in der Eps – Umgebung eines Border
Points liegen, müssen Regeln für eine eindeutige Zuordnung getroffen werden.
Algorithmus DBSCAN
1. klassifiziere alle DO als Core - , Border- oder Noise
Point
2. entferne alle Noise Points
3. verbinde alle Core Points, deren Entfernung ≤ Eps ist
4. fasse alle verbundenen DO zu einem Cluster
zusammen
5. ordne alle Border Points zu einem der Cluster seiner
Core Points zu
261
Wie findet man geeignete Parameter Eps und MinPts ?
Idee
 In allen Clustern sollte die Distanz eines DO zu seinem k -t nächsten
Nachbarn etwa gleich sein.
 Noise Points sollten ihren k -t nächsten Nachbarn in einer deutlich weiteren
Entfernung haben als Cluster Points
Ansatz
 Ermittle für alle DO die Distanz
ihrem k -t nächsten Nachbarn
für verschiedene k
 Zeichne für jedes k ein
Diagramm, in dem für jede
Distanz die Anzahl der in
diese Distanz hinein fallenden
DO abgetragen ist.
 Ab einer gewissen Distanz
steigt diese Anzahl sprunghaft;
dort ist der für dieses k (als
MinPts) geeignete Wert für Eps
262
131
‘n Beispiel



(aus dem das Diagramm der vorigen Folie gewonnen wurde)
3000 DO im
MitPts = 4
Eps = 10 (siehe Diagramm)
R2
•
•
•
Original - DO
Core Points
Border Points
Noise Points
263
‘n Beispiel



(aus dem das Diagramm der vorigen Folie gewonnen wurde)
3000 DO im
MitPts = 4
Eps = 10 (siehe Diagramm)
R2
Original - DO
Cluster
264
132
Stärken und Schwächen von DBSCAN


wenig anfällig ggü. verrauschten Datan
kann verschiedene Clusterformen und –größen erkennen (und ist in
dieser Frake z.B. K – means weit überlegen)


kann Cluster mit sehr verschiedenen Dichten schlecht erkennen
ist schwer anwendbar bei viel - dimensionalen Daten (schwer zu
definierendes Dichte – Maß)

hohe Zeitkomplexität, insbesondere bei der paarweisen Ermittlung eines
k –t nächsten Nachbarn bei viel – dimensionalen Daten
265
133
Herunterladen