3. Klassifikation
Inhalt dieses Kapitels
3.1 Einleitung
Das Klassifikationsproblem, Bewertung von Klassifikatoren
3.2 Bayes-Klassifikatoren
Optimaler Bayes-Klassifikator, Naiver Bayes-Klassifikator, Anwendungen
3.3 Nächste-Nachbarn-Klassifikatoren
Grundbegriffe, Parameterwahl, Anwendungen
3.4 Entscheidungsbaum-Klassifikatoren
Grundbegriffe, Splitstrategien, Overfitting, Pruning von
Entscheidungsbäumen
3.5 Support Vector Machines
maximal trennende Hyperebenen, strukturelle Risiko Minierung,
Kernel Maschienen
94
3.1 Einleitung
Das Klassifikationsproblem
• Gegeben: eine Menge O von Objekten des Formats (o1, . . ., od)
mit Attributen Ai, 1  i d, und Klassenzugehörigkeit ci, ci C = {c1 ,..., ck}
• Gesucht:
die Klassenzugehörigkeit für Objekte aus D \ O
ein Klassifikator K : D C
• Abgrenzung zum Clustering
Klassifikation: Klassen apriori bekannt
Clustering: Klassen werden erst gesucht
• Verwandtes Problem: Vorhersage (Prediction)
gesucht ist der Wert für ein numerisches Attribut
Methode z.B. Regression
95
Einleitung
Beispiel
ID
Alter
1
2
3
4
5
23
17
43
68
32
Autotyp
Familie
Sport
Sport
Familie
LKW
Risiko
hoch
hoch
hoch
niedrig
niedrig
Einfacher Klassifikator
if Alter > 50 then Risikoklasse = Niedrig;
if Alter  50 and Autotyp=LKW then Risikoklasse=Niedrig;
if Alter  50 and Autotyp  LKW
then Risikoklasse = Hoch.
96
Der Prozess der Klassifikation
Konstruktion des Modells
KlassifikationsAlgorithmus
Trainingsdaten
NAME
Mike
Mary
Bill
Jim
Dave
Anne
RANK
Assistant Prof
Assistant Prof
Professor
Associate Prof
Assistant Prof
Associate Prof
YEARS
3
7
2
7
6
3
TENURED
no
yes
yes
yes
no
no
Klassifikator
if rank = ‘professor’
or years > 6
then tenured = ‘yes’
97
Der Prozess der Klassifikation
Anwendung des Modells
Unbekannte Daten
Klassifikator
(Jeff, Professor, 4)
Tenured?
yes
manchmal: keine Klassifikation unbekannter Daten
sondern „nur“ besseres Verständnis der Daten
98
Bewertung von Klassifikatoren
Grundbegriffe
Sei K ein Klassifikator und sei TR  O die Trainingsmenge. O  D ist die
Menge der Objekte, bei denen die Klassenzugehörigkeit bereits bekannt ist .
Problem der Bewertung:
• gewünscht ist gute Performanz auf ganz D.
• Klassifikator ist für TR optimiert.
• Test auf TR erzeugt in der Regel viel bessere Ergebnisse, als auf D\TR.
Daher kein realistisches Bild der Performanz auf D.
 Overfitting
99
Bewertung von Klassifikatoren
Train-and-Test
Bewertung ohne Overfitting durch Aufteilen von O in :
• Trainingsmenge TR
zum Lernen des Klassifikators (Konstruktion des Modells)
• Testmenge TE
zum Bewerten des Klassifikators
100
Bewertung von Klassifikatoren
Grundbegriffe
• Train-and-Test nicht anwendbar, wenn nur wenige Objekte mit bekannter
Klassenzugehörigkeit
• Stattdessen: m-fache Überkreuz-Validierung (m-fold Cross-Validation)
• m-fache Überkreuz-Validierung
- teile die Menge O in m gleich große Teilmengen
- verwende jeweils m-1 Teilmengen zum Training
und die verbleibende Teilmenge zur Bewertung
- kombiniere die erhaltenen m Klassifikationsfehler
(und die m gefundenen Modelle!)
101
Bewertung von Klassifikatoren
Sei n = 3 : Menge aller Daten mit Klasseniformation die zur Verfügung stehen
1
2
1 fold:
Testmenge
3
2
1
c
1
b
c
2
Klassifikator
a
b
Modell und
Klassifikationsfehler
Trainingsmenge
1
b
3 fold:
Testmenge
a
Trainingsmenge
2 fold:
Testmenge
3
3
Klassifikator
a
c
Modell und
Klassifikationsfehler
Gesamtklassifikationsfehler
Trainingsmenge
2
a
3
Klassifikator
b
c
Modell und
Klassifikationsfehler
102
Bewertung von Klassifikatoren
Ergebnis des Tests : Konfusionsmatrix (confusion matrix)
klassifiziert als ...
tatsächliche Klasse ...
Klasse1 Klasse 2 Klasse 3 Klasse 4 other
Klasse 1
35
1
1
1
4
Klasse 2
0
31
1
1
5
Klasse 3
3
1
50
1
2
Klasse 4
1
0
1
10
2
other
3
1
9
15
13
korrekt
klassifizierte
Objekte
Aus der Konfusionsmatrix lassen sich folgende Kennzahlen berechnen :
Accuracy, Classification Error, Precision und Recall.
103
Bewertung von Klassifikatoren
Gütemaße für Klassifikatoren
• Sei K ein Klassifikator, TR  O die Trainingsmenge, TE  O die Testmenge.
Bezeichne C(o) die tatsächliche Klasse eines Objekts o.
• Klassifikationsgenauigkeit (classification accuracy) von K auf TE:
GTE ( K ) 
|{o TE | K (o)  C(o)}|
| TE |
• Tatsächlicher Klassifikationsfehler (true classification error)
FTE ( K ) 
|{o TE | K (o)  C(o)}|
| TE |
• Beobachteter Klassifikationsfehler (apparent classification error)
FTR ( K ) 
|{o TR | K (o)  C(o)}|
| TR|
104
Bewertung von Klassifikatoren
Gütemaße für Klassifikatoren
• Precision : Anzahl der Objekte aus einer Klasse, die richtig erkannt wurden.
Sei Ti= {o TE| C(o) = i}, dann ist
Pr ecisionTE ( K , i ) 
| {o  Ti |K (o)  C (o)} |
| Ti |
• Recall : Anzahl der zu einer Klasse zugeordneten Objekte, die richtig erkannt
wurden. Sei Ci= {o TE| K(o) = i}, dann ist
Re callTE ( K , i ) 
| {o  Ci |K (o)  C (o)} |
| Ci |
105
Bewertung von Klassifikatoren
weitere Gütemaße für Klassifikatoren
•Kompaktheit des Modells
z.B. Größe eines Entscheidungsbaums
• Interpretierbarkeit des Modells
wieviel Einsichten vermittelt das Modell dem Benutzer?
• Effizienz
der Konstruktion des Modells
der Anwendung des Modells
• Skalierbarkeit für große Datenmengen
für sekundärspeicherresidente Daten
• Robustheit
gegenüber Rauschen und fehlenden Werten
106
3.2 Bayes-Klassifikatoren
Was sind Bayes-Klassifikatoren?
• Statistische Klassifikatoren
• Vorhersage der Class-Membership-Probability für verschiedene Klassen
• Beruht auf dem Satz von Bayes
• Verschiedene Verfahren:
• Naiver Bayes-Klassifikator:
Relativ einfach zu implementierendes Verfahren, beruhend auf Annahme
der Unabhängigkeit zwischen den einzelnen Merkmalen (deshalb naiv)
• Bayes-Netzwerk (Bayesian Belief Network):
Mögliche Abhängigkeiten zwischen Merkmalen werden in Form eines
Graphen modelliert, der entweder durch den Benutzer vorgegeben wird
oder durch das System selbst „gelernt“ wird.
107
Bayes-Klassifikatoren
Grundlagen
• Regeln und Fakten zur Klassifikation werden mit Hilfe des Satzes
von Bayes als bedingte Wahrscheinlichkeiten formuliert
• A-Priori-Wahrscheinlichkeiten modellieren Faktenwissen über die
Häufigkeit einer Klasse und das Auftreten von Merkmalen, z.B.
•
•
•
•
20% der Objekte sind Äpfel
30% sind Orangen
50% der Objekte sind rund
40% haben Farbe orange
A-Priori Wahrsch. f. Klassenzugehörigk.
A-Priori Merkmalshäufigkeit
• Bedingte Wahrscheinlichkeiten („A-Posteriori“) modellieren
Zusammenhänge zwischen Klassen und Merkmalen:
• 100% der Orangen sind rund: P (rund | Orange)
= 100%
• 100% der Äpfel sind rund:
P (rund | Apfel)
= 100%
• 90% der Orangen sind orange: P (orange | Orange) = 90%
108
Bayes-Klassifikatoren
• Bei einem gegebenen Merkmals-Vektor M lässt sich die
Wahrscheinlichkeit der Klassenzugehörigkeit zu Klasse C mit
dem Satz von Bayes ermitteln:
P( M | C )  P(C )
P(C | M ) 
P( M )
• Im Beispiel: Wahrscheinlichkeit, dass ein oranges Objekt eine
Orange ist:
P(Orange| orange) 
P(orange| Orange)  P(Orange) 0.9  0.3

 0.675
P(orange)
0.4
Die entsprechenden Wahrscheinlichkeiten werden aus den
Trainingsdaten geschätzt
109
Bayes-Klassifikatoren
• Kontinuierliche metrische Merkmale können…
…diskret approximiert werden:
30
P ( 9.0 < Durchmesser  9.5 | Orange) = 10%
P ( 9.5 < Durchmesser  10.0 | Orange) = 30%
P (10.0 < Durchmesser  10.5 | Orange) = 30%
P (10.5 < Durchmesser  11.0 | Orange) = 10%
P (11.0 < Durchmesser  11.5 | Orange) = 5%
25
20
15
10
5
0
1
2
3
R1
4
5
…oder als Wahrscheinlichkeits-Dichtefunktion definiert werden:
Orangen haben einen Durchmesser von 10±1 cm:
p (Durchmesser | Orange) = N (10, 1)
(meist unter Annahme der Normalverteilung)
110
Bayes-Klassifikation
• Der Bayes-Klassifikator schätzt die Wahrscheinlichkeit der
Klassenzugehörigkeit eines Merkmalsvektors
• Zur eindeutigen Zuordnung eines Klassen-Labels geht man meist
nach dem Prinzip „Maximum Likelihood“ vor:
P( M | Ci )  P(Ci )
C  argmax P(Ci | M )  argmax
 argmaxP( M | Ci )  P(Ci )
P( M )
Ci
Ci
Ci
• Da P(M) bei allen Ci gleich ist, ist nur das Produkt zu optimieren
• Beispiel:
• P(Apfel | M) = 32%
• P(Orange | M) = 32%
• P(Kiwi | M) = 36%
 C = Kiwi
111
Naive Bayes-Klassifikation
Motivation
Bei hochdimensionalen Merkmalsvektoren schwierige Schätzung
der bedingten Wahrscheinlichkeiten P(M | C) und damit P(C | M):
• M besteht aus vielen einzelnen Komponenten, die UND-verknüpft sind:
P(C | M1  M 2  ...) 
P( M1  M 2  ... | C )  P(C )
P( M1  M 2  ...)
• Bei d verschiedenen Merkmalen und jeweils r verschiedenen Werten
ergeben sich rd verschiedene Merkmalskombinationen
Probleme:
• Die Wahrscheinlichkeiten lassen sich nicht mehr abspeichern
• Man bräuchte >> rd Trainingsdatensätze, um die Wahrscheinlichkeit der
einzelnen Merkmalskombinationen überhaupt ermitteln zu können
112
Naive Bayes-Klassifikation
Lösung dieses Problems beim naiven Bayes-Klassifikator:
Annahme der Bedingten Unabhängigkeit
d.h. bei jeder einzelnen Klasse werden die Merkmale so behandelt
als wären sie voneinander statistisch unabhängig:
P (M1 M2 | C) = P (M1 | C)  P (M2 | C)
Was bedeutet dies?
M2 = Gewicht
Klasse=Orange:
M1 = Durchmesser
• Annahme kann falsch sein
• Dies führt nicht unbedingt dazu,
dass die Klassifikation versagt
• Aber schlechte Leistung, wenn…
• alle Merkmale bei mehreren
Klassen etwa gleich verteilt sind
• Unterschiede nur in „Relationen“
der Merkmale zueinander
113
Naive Bayes-Klassifikation
Damit ist die Wahrscheinlichkeit der Zugehörigkeit zu Klasse Ci:
P(Ci | M1  M 2  ...) 

P(Ci )  P( M1  M 2  ... | Ci )
P( M1  M 2  ...)
P(Ci )   P( M j | Ci )
j
 P(M
k
j
| Ck )
j
Auch hier ist der Nenner für alle Klassen gleich, so dass nur der
Zähler zu maximieren ist:
C  argmax{P(Ci )   P(M j | Ci )}
Ci
j
114
Bayes-Netzwerke
Grundbegriffe
• Graph mit Knoten = Zufallsvariable und Kante = bedingte Abhängigkeit
• Jede Zufallsvariable ist bei gegebenen Werten für die Vorgänger-Variablen
bedingt unabhängig von allen Zufallsvariablen, die keine Nachfolger sind.
• Für jeden Knoten (Zufallsvariable): Tabelle der bedingten Wahrscheinlichkeiten
• Trainieren eines Bayes-Netzwerkes
– bei gegebener Netzwerk-Struktur und allen bekannten Zufallsvariablen
– bei gegebener Netzwerk-Struktur und teilweise unbekannten
Zufallsvariablen
– bei apriori unbekannter Netzwerk-Struktur
115
Bayes-Netzwerke
PositiveXRay
FH, S
FH,S
LungCancer
FH,S
Family
History
LC
0.8
0.5
0.7 0.1
~LC
0.2
0.5
0.3 0.9
Smoker
Emphysema
Dyspnea
FH, S
Beispiel
bedingte Wahrscheinlichkeiten
für LungCancer
bei gegebenen Werten für FamilyHistory und Smoker liefert der Wert
für Emhysema keine zusätzliche Information über LungCancer
116
Klassifikation von Texten
Grundlagen
• Anwendungen (z.B. [Craven et al. 1999], [Chakrabarti, Dom & Indyk 1998])
Filterung von Emails
Klassifikation von Webseiten
• Vokabular T = {t1, . . ., td} von relevanten Termen
• Repräsentation eines Textdokuments o = (o1, . . ., od)
• oi: Häufigkeit des Auftretens von ti in o
• Methode
– Auswahl der relevanten Terme
– Berechnung der Termhäufigkeiten
– Konstruktion des Modells
– Anwendung des Modells zur Klassifikation neuer Dokumente
117
Klassifikation von Texten
Auswahl der Terme
• Reduktion der auftretenden Worte auf Grundformen
Stemming
Abhängigkeit von der Sprache der Texte
• Einwort- oder Mehrwort-Terme?
• Elimination von Stoppwörtern
• weitere Reduktion der Anzahl der Terme
bis zu 100 000 Terme
118
Klassifikation von Texten
Reduktion der Anzahl der Terme
• optimaler Ansatz
O(2AnzahlTerme) Teilmengen
optimale Teilmenge läßt sich nicht effizient bestimmen
• Greedy-Ansatz
bewerte jeden Terms einzeln
welchen „Informationsgewinn“ liefert er in Bezug auf die Separation
der gegebenen Klassen?
sortiere die Terme nach dieser Maßzahl absteigend
wähle die ersten d Terme als Attribute aus
119
Klassifikation von Texten
Konstruktion des Modells
• Anwendung des naiven Bayes-Klassifikators
aber: Häufigkeiten der verschiedenen Terme typischerweise korreliert
• wichtigste Aufgabe: Schätzung der P(oi| c) aus den Trainingsdokumenten
• Generierung eines Dokuments o der Klasse c mit n Termen
Bernoulli-Experiment:
n mal eine Münze werfen,
die für jeden Term ti eine Seite besitzt
• Wahrscheinlichkeit, daß ti nach oben kommt
f(ti, c): relative Häufigkeit des Terms ti in der Klasse c
120
Klassifikation von Texten
Konstruktion des Modells
• Dokument als „Bag of Words“
Reihenfolge der Terme spielt keine Rolle
• Bestimmung der P(oi| c) mit Hilfe der Bimonialverteilung
• Problem
– Term ti tritt in keinem Trainingsdokument der Klasse c auf
– ti tritt in einem zu klassifizierenden Dokument o auf
– in o treten aber auch „wichtige“ Terme der Klasse c auf
vermeide P(oi| c) = 0
Glättung der beobachteten Häufigkeiten
121
Klassifikation von Texten
Experimentelle Untersuchung [Craven et al. 1999]
• Trainingsmenge: 4127 Webseiten von Informatik-Instituten
• Klassen: department, faculty, staff, student, research project, course, other
• 4-fache Überkreuz-Validierung
drei der Universitäten zum Training, vierte Universität zum Test
• Zusammenfassung der Ergebnisse
- Klassifikationsgenauigkeit 70% bis 80 % für die meisten Klassen
- Klassifikationsgenauigkeit 9% für Klasse staff
aber 80% korrekt in Oberklasse person
- schlechte Klassifikationsgenauigkeit für Klasse other
große Varianz der Dokumente dieser Klasse
122
Interpretation von Rasterbildern
Motivation
• automatische Interpretation von d Rasterbildern eines bestimmten Gebiets
für jedes Pixel ein d-dimensionaler Grauwertvektor (o1, . . ., od)
• verschiedene Oberflächenbeschaffenheiten der Erde besitzen jeweils ein
charakteristisches Reflexions- und Emissionsverhalten
(12),(17.5)
• • • •
• •• •• •• •
• • • •
• • • •
• • • •
• • • •
• • • •
(8.5),(18.7)
1
1
3
3
1
1
2
3
1
2
3
3
2
2
2
3
Erdoberfläche
Cluster 1
Ackerland
Band 1
12
•
10
•
Cluster 2
•
•
•
••
•
• •
Wasser
•
Stadt
8
16.5
• •
18.0
•
•
Cluster 3
20.0
22.0
Band 2
Feature-Raum
123
Interpretation von Rasterbildern
Grundlagen
• Anwendung des optimalen Bayes-Klassifikators
• Schätzung der P(o | c) ohne Annahme der bedingten Unabhängigkeit
• Annahme einer d-dimensionalen Normalverteilung für die Grauwertvektoren
einer Klasse
Wahrscheinlichkeit
der Klassenzugehörigkeit
Wasser
Entscheidungsflächen
Stadt
Ackerland
124
Interpretation von Rasterbildern
Methode
• Zu schätzen aus den Trainingsdaten
mi: d-dimensionaler Mittelwertvektor aller Feature-Vektoren der Klasse ci
Si: d  d Kovarianzmatrix der Klasse ci
• Probleme der Entscheidungsregel
- Likelihood für die gewählte
Klasse sehr klein
Grenzwert
- Likelihood für mehrere
Klassen ähnlich
unklassifizierte Regionen
125
Bayes-Klassifikatoren
Diskussion
+ hohe Klassifikationsgenauigkeit in vielen Anwendungen
+ Inkrementalität
Klassifikator kann einfach an neue Trainingsobjekte adaptiert werden
+ Einbezug von Anwendungswissen
- Anwendbarkeit
die erforderlichen bedingten Wahrscheinlichkeiten sind oft unbekannt
- Ineffizienz
bei sehr vielen Attributen
insbesondere Bayes-Netzwerke
126

kdd-3-klassifikation1