Kapitel 3: KlassifikationKapitel 3: Klassifikation · DATABASE SYSTEMS GROUP 3.1 Grundbegriffe der...
Transcript of Kapitel 3: KlassifikationKapitel 3: Klassifikation · DATABASE SYSTEMS GROUP 3.1 Grundbegriffe der...
DATABASESYSTEMSGROUP
Ludwig Maximilians Universität MünchenInstitut für InformatikLehr- und Forschungseinheit für Datenbanksysteme
GROUP
Skript zur Vorlesung
K l d Di i D t bKnowledge Discovery in Databasesim Wintersemester 2009/2010
Kapitel 3: KlassifikationKapitel 3: Klassifikation
Skript © 2003 Johannes Aßfalg, Christian Böhm, Karsten p g, ,Borgwardt, Martin Ester, Eshref Januzaj, Karin Kailing, Peer
Kröger, Jörg Sander und Matthias Schubert
htt // db ifi l d /L h /KDD
47
http://www.dbs.ifi.lmu.de/Lehre/KDD
DATABASESYSTEMSGROUP
3. KlassifikationGROUP
Inhalt dieses Kapitels3.1 Grundbegriffe der Klassifikation
3 2 Bayes-Klassifikatoren3.2 Bayes Klassifikatoren
3.3 Nächste-Nachbarn-Klassifikatoren
3.4 Entscheidungsbaum-Klassifikatoren
3.5 Neuronale Netze
3.5 Support Vector Machines and Kernel Learning
3 6 Hi hi h Kl ifik i3.6 Hierarchische Klassifikation
48
DATABASESYSTEMSGROUP
3.1 Grundbegriffe der KlassifikationGROUP
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 DB \ Oein Klassifikator K : DB → C
Abgrenzung zum Clustering
Klassifikation: Klassen apriori bekannt
Clustering: Klassen werden erst gesuchtClustering: Klassen werden erst gesucht
Verwandtes Problem: Vorhersage (Prediction)g ( )gesucht ist der Wert für ein numerisches AttributMethode z.B. Regression (siehe Kapitel 4).
49
DATABASESYSTEMSGROUP
EinleitungGROUP
BeispielID Alter Autotyp RisikoID Alter Autotyp Risiko
1 23 Familie hoch2 17 Sport hochp3 43 Sport hoch4 68 Familie niedrig5 32 LKW i d i
Einfacher Klassifikator
5 32 LKW 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=Niedrig;
if Alter ≤ 50 and Autotyp ≠ LKW
then Risikoklasse = Hoch.
50
then Risikoklasse Hoch.
DATABASESYSTEMSGROUP
Der Prozess der KlassifikationGROUP
Konstruktion des Modells
Trainings-
Klassifikations-Algorithmus
Trainings-daten
NAME RANK YEARS TENURED
Mike Assistant Prof 3 noM A i t t P f 7
Klassifikator
Mary Assistant Prof 7 yesBill Professor 2 yesJim Associate Prof 7 yes if rank = ‘professor’yDave Assistant Prof 6 noAnne Associate Prof 3 no
if rank professoror years > 6
then tenured = ‘yes’
51
DATABASESYSTEMSGROUP
Der Prozess der KlassifikationGROUP
Anwendung des ModellsAnwendung des Modells
Unbekannte DatenKlassifikator
Unbekannte Daten
(Jeff Professor 4)(Jeff, Professor, 4)
Tenured?
h l k i Kl ifik i b k D d “
yes
manchmal: keine Klassifikation unbekannter Daten sondern „nur“ besseres Verständnis der Daten
52
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
GrundbegriffeSei K ein Klassifikator und sei TR ⊆ O die Trainingsmenge. O ⊆ DB ist die Menge der Objekte, bei denen die Klassenzugehörigkeit bereits bekanntistist .
Problem der Bewertung: Problem der Bewertung:
• gewünscht ist gute Performanz auf ganz DB.
• Klassifikator ist für TR optimiert• Klassifikator ist für TR optimiert.
• Test auf TR erzeugt in der Regel viel bessere Ergebnisse,
als auf DB\TR.als auf DB\TR.
Daher kein realistisches Bild der Performanz auf DB.
⇒ Overfitting
53
g
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
Train-and-Test
Bewertung ohne Overfitting durch Aufteilen von O in :
• Trainingsmenge TRTrainingsmenge TRzum Lernen des Klassifikators (Konstruktion des Modells)
• Testmenge TE
bhä i B d Kl ifikzum unabhängigen Bewerten des Klassifikators
54
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
Grundbegriffe• Train-and-Test nicht anwendbar, wenn nur wenige Objekte mit
bekannter Klassenzugehörigkeit vorhanden sind.
St ttd f h Üb k V lidi ( f ld C V lid ti )• 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 g g
• kombiniere die erhaltenen m Klassifikationsfehler
55
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
Ablauf 3-fache Überkreuzvalidierung (3-fold Cross Validation)
f ld i i
1 a2 3 b cSei n = 3 : Menge aller Daten mit Klasseniformation die zur Verfügung stehen
1 fold:1 a2 b
3 cTestmenge
Klassifikator
Trainingsmenge
Klassifikations3 c Klassifikations-ergebnise
2 fold:1 a3 cT t
Trainingsmenge1 a3 c
2 bTestmenge
Klassifikator Klassifikations-ergebnise
gesamtesKlassifikations-
ergebnis
3 fold:2 b3 c
1 aTestmenge
Klassifikator
Trainingsmenge
Klassifikations
56
1 a Klassifikations-ergebnise
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
Ergebnis des Tests : Konfusionsmatrix (confusion matrix)
Klasse1 Klasse 2 Klasse 3 Klasse 4 other
Klasse 1 35 1 1 1 4
klassifiziert als ...
Klasse 2
Klasse 3
0
3
31
1
1
50
1
1
5
2Kla
sse
...
Klasse 3
Klasse 4
3
1
1 50
10
1 2
210
atsä
chli
che
k kother 3 1 9 15 13ta
A d f i i l i h f l d hl b h
korrekt klassifizierteObjekte
Aus der Konfusionsmatrix lassen sich folgende Kennzahlen berechnen :Accuracy, Classification Error, Precision und Recall.
57
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
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:
G Ko TE K o C o
TE ( )|{ | ( ) ( )}|
=∈ =
• Tatsächlicher Klassifikationsfehler (true classification error)
G KTETE ( )
| |
B b ht t Kl ifik ti f hl ( t l ifi ti )
F Ko TE K o C o
TETE ( )|{ | ( ) ( )}|
| |=
∈ ≠
• Beobachteter Klassifikationsfehler (apparent classification error)
F Ko TR K o C o
TRTR ( )|{ | ( ) ( )}|
| |=
∈ ≠
58
TRTR | |
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
Recall: Zugeordnete Klasse K(o)
Anteil der Testobjekte einer Klasse i, die richtig erkannt wurden.
Sei C = {o∈ TE| C(o) = i} dann ist
Zugeordnete Klasse K(o)
Kla
sse
C(o
) 1 212
Sei Ci= {o∈ TE| C(o) = i}, dann ist
|)}()(|{|),(Recall i
TE
oCoKCoiK
=∈=
Ci
Ki
Tats
ächl
.
||),(
iTE C
Precision:
Ki
Anteil der zu einer Klasse i zugeordneten Testobjekte, die richtig erkannt wurden. Sei Ki= {o∈ TE| K(o) = i}, dann ist
||
|)}()(|{|),(Precision i
TE K
oCoKKoiK
=∈=
i
59
|| iK
DATABASESYSTEMSGROUP
Bewertung von KlassifikatorenGROUP
weitere Gütekriterien für Klassifikatoren
• Kompaktheit des Modells
• z B Größe eines Entscheidungsbaumsz.B. Größe eines Entscheidungsbaums
• Interpretierbarkeit des Modells
• Wieviel Einsichten vermittelt das Modell dem Benutzer?
• Effizienz
• der Konstruktion des Modells
d A d d M d ll• der Anwendung des Modells
• Skalierbarkeit
• für große Datenmengenfür große Datenmengen
• für sekundärspeicherresidente Daten
• Robustheit gegenüber Rauschen und fehlenden Werten
60
DATABASESYSTEMSGROUP
Überblick über KlassifikationsmethodenGROUP
Trainingsmenge mit 3 Klassen 3 Klassenbereiche (weiß, grau, schwarz)
Alle Klassifikatoren legen beim Training Klassengrenzen fest.
Aber: Es gibt viele Methoden Klassengrenzen aus Trainingsdaten abzuleiten.
U t hi dli h Kl ifik t=> Unterschiedliche Klassifikatoren( statische Kl., Entscheidungsbäume, Support Vektor Maschinen,kNN-Klassifikatoren, neuronale Netze, …)
61
DATABASESYSTEMSGROUP
Motivation der Klassifikationsmethoden(1)GROUP
1-dimensionale Projektion
Klassengrenzen
Bayes Klassifikatoren Unterscheidung durch DichtefunktionenBayes Klassifikatoren Unterscheidung durch Dichtefunktionen.
Unterscheidung durch Voronoi-Zellen(1 nächster Nachbar Klassifikator)
62
NN-Klassifikator
DATABASESYSTEMSGROUP
Motivation der Klassifikationsmethoden(2)GROUP
2
1
2
2
EntscheidungsbäumeFestlegen der Grenzen durch rekursiveU t t il i Ei ldi i
33
14
4
Entscheidungsbäume Unterteilung in Einzeldimension.
Grenzen über lineare Separation
63
Support Vektor Maschinen
DATABASESYSTEMSGROUP
Anwendungen KlassifikationGROUP
• Klassifikation von Risikoklassen(b i V i h d K di b )(bei Versicherungen und Kreditvergabe)
• Funktionsvorhersage von Proteinen
G i ht k• Gesichtserkennung
• Erkennen von relevanten Webinhalten• Erkennen von relevanten Webinhalten
Erkennen von Spam Emails• Erkennen von Spam- Emails
64
DATABASESYSTEMSGROUP
3.2 Bayes-KlassifikatorenGROUP
Was sind Bayes-Klassifikatoren?
Statistische Klassifikatoren• Klassen werden durch statistische Prozesse beschrieben
B ht f d S t B• Beruht auf dem Satz von Bayes
• Bestimme Wahrscheinlichkeiten mit denen jeder Prozess das Objekt erklärt(Cl M b hi P b bilit )(Class-Membership-Probability)
• Vorhersage der wahrscheinlichsten Klasse(Maximum Likelihood Classification)
Klassengrenzen
1-dimensionale Projektion
Klassengrenzen
65
DATABASESYSTEMSGROUP
Überblick Bayes KlassifikatorenGROUP
Grundlagen statistischer Klassifikatoren1 A i i d A i i W h h i li hk i1. A-priori und A-posteriori Wahrscheinlichkeiten
2. Regel von Bayes
3 Maximum Likelihood“ Klassifikation3. „Maximum Likelihood Klassifikation
Klassifikatoren und Statistische Prozeße1. Naive Bayes
2. Bayes Netzwerke
3. LDA
4. multivariate Gauss-Prozesse
66
DATABASESYSTEMSGROUP
Bayes-KlassifikatorenGROUP
GrundlagenRegeln und Fakten zur Klassifikation werden mit Hilfe des Satzes von Bayes als bedingte Wahrscheinlichkeiten formuliert
A-Priori-Wahrscheinlichkeiten modellieren Faktenwissen über dieA Priori Wahrscheinlichkeiten modellieren Faktenwissen über die Häufigkeit einer Klasse und das Auftreten von Merkmalen, z.B.
– 20% der Objekte sind Äpfel
30% i d OA-Priori Wahrsch. f. Klassenzugehörigk.
– 30% sind Orangen
– 50% der Objekte sind rund
– 40% haben Farbe orangeA-Priori Merkmalshäufigkeit
Bedingte Wahrscheinlichkeiten („A-Posteriori“) modellieren Zusammenhänge zwischen Klassen und Merkmalen:Zusammenhänge zwischen Klassen und Merkmalen:
– 100% der Orangen sind rund: P (rund | Orange) = 100%
– 100% der Äpfel sind rund: P (rund | Apfel) = 100%
67
– 90% der Orangen sind orange: P (orange | Orange) = 90%
DATABASESYSTEMSGROUP
Bayes-KlassifikatorenGROUP
Bei einem gegebenen Merkmals-Vektor M lässt sich die Wahrscheinlichkeit der Klassenzugehörigkeit zu Klasse C mitWahrscheinlichkeit der Klassenzugehörigkeit zu Klasse Ci mit dem Satz von Bayes ermitteln:
⋅⋅ CPCMPCPCMP )()|()()|(
∑∈
⋅⋅
=⋅
=
Ccjj
iiiii
j
CMPCP
CPCMP
MP
CPCMPMCP
)|()(
)()|(
)(
)()|()|(
Im Beispiel: Wahrscheinlichkeit, dass ein oranges Objekt eine Orange ist:
3090)O()O|( PP675.0
4.0
3.09.0
)orange(
)Orange()Orange|orange()orange|Orange( =
⋅=
⋅=
P
PPP
Die entsprechenden Wahrscheinlichkeiten werden aus den Trainingsdaten geschätzt.
68
DATABASESYSTEMSGROUP
Bayes-KlassifikationGROUP
Der Bayes-Klassifikator schätzt die Wahrscheinlichkeit der Kl hö i k it i M k l ktKlassenzugehörigkeit eines Merkmalsvektors
Zur eindeutigen Zuordnung eines Klassen-Labels geht man meist nach dem Prinzip Maximum Likelihood“ vor:meist nach dem Prinzip „Maximum Likelihood vor:
)()|(argmax)()|(
argmax)|( argmax iiii
i CPCMPCPCMP
MCPC ⋅=⋅
==
Da P(M) bei allen C gleich ist ist n r das Prod kt
)()|(g)(
g)|(g iiCC
iC MP iii
Da P(M) bei allen Ci gleich ist, ist nur das Produkt zu optimieren. Beispiel:
– P(Apfel | M) = 32%P(Apfel | M) = 32%
– P(Orange | M) = 32% ⇒ C = Kiwi
– P(Kiwi | M) = 36%
69
DATABASESYSTEMSGROUP
Schätzung der WahrscheinlichkeitenGROUP
„A-priori“ WahrscheinlichkeitenMeistens: relative Häufigkeit in den TrainingsdatenMeistens: relative Häufigkeit in den Trainingsdaten.
Bsp: 7 Orangen , 2 Äpfel , 1 Stein => %70127
7)( =
++=OrangeP
„A-Posteriori“ Wahrscheinlichkeiten
• Statistischer Prozess modelliert Zusammenhänge
127 ++
• Statistischer Prozess modelliert Zusammenhänge zwischen Merkmalen und einer Klasse
• Unterschiede verwendeter Prozesse:
• Abhängigkeit der Merkmale ( Korrelation oder Unabhängigkeit)
• Verwendete Verteilungsfunktionen der Merkmalswerte• Verwendete Verteilungsfunktionen der Merkmalswerte(diskret, Normalverteilung, Multinomialverteilung…)
• Beschaffenheit der Objekte (Vektor, Sequenz…)
70
DATABASESYSTEMSGROUP
1-dimensionale VerteilungenGROUP
Diskrete Merkmale ID Form Farbe KlasseAuszählen relativer Häufigkeiten
Bsp:
1 rund orange A2 rund grün A3 d lb A
3)|( d 3 rund gelb A
4 eckig grün A5 oval weiß B
%754
3)|( === ArundFormP
%502
1
4
2)|( ==== AgrünFarbeP
5 oval weiß B
Problem: (Form = oval) => Klasse ≠ A
%04
0)|( === AovalFormP
Problem: (Form = oval) => Klasse ≠ AMan verwendet häufig „Smoothing“, d.h. P(x|Klasse) > ε.mit 0 < ε << 1.
εε =⎟⎠⎞
⎜⎝⎛== ,
4
0max)|( AovalFormPD.h.
71
DATABASESYSTEMSGROUP
1-dimensionale VerteilungenGROUP
Kontinuierliche metrische Attributte
diskrete Approximation30
diskrete ApproximationP ( 9.0 < Durchmesser £ 9.5 | Orange) = 10%P ( 9.5 < Durchmesser £ 10.0 | Orange) = 30%P (10 0 < Durchmesser £ 10 5 | Orange) = 30%
10
15
20
25
P (10.0 < Durchmesser £ 10.5 | Orange) = 30%P (10.5 < Durchmesser £ 11.0 | Orange) = 10%P (11.0 < Durchmesser £ 11.5 | Orange) = 5% 1
23
45
R1
0
5
Wahrscheinlichkeits-Dichtefunktionen
z.B. Orangen haben einen Durchmesser von 10±1 cm:
p(Durchmesser | Orange) = N (10, 1)
meist Berechnung nach Normalverteilung:x 2)( μ
wobei und
eCxP
x
|2
1)|(
22
)(
σπσ
μ−−
= xTRx
∑∈=μ
)( 2xTRx
∑∈
−=
μσ
72
wobei und|| TR
μ|| TR
=σ
DATABASESYSTEMSGROUP
MotivationGROUP
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:
)()|( ⋅∧∧ CPCMMP
• Bei d verschiedenen Merkmalen und jeweils r verschiedenen
...)(
)()|...(...)|(
21
2121 ∧∧
⋅∧∧=∧∧
MMP
CPCMMPMMCP
jWerten ergeben sich rd verschiedene Merkmalskombinationen
Probleme:Probleme:• Die Wahrscheinlichkeiten lassen sich nicht mehr abspeichern
• Man bräuchte >> rd Trainingsdatensätze um dieMan bräuchte >> r Trainingsdatensätze, um die Wahrscheinlichkeit der einzelnen Merkmalskombinationen überhaupt ermitteln zu können
73
DATABASESYSTEMSGROUP
Naive Bayes-KlassifikationGROUP
Lösung dieses Problems beim naiven Bayes-Klassifikator:
Annahme der bedingten Unabhängigkeitd.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?Klasse=Orange: • Annahme kann falsch sein
• Dies führt nicht unbedingt dazu
Gew
icht
• Dies führt nicht unbedingt dazu,dass die Klassifikation versagt
• Aber schlechte Leistung, wenn…ll M k l b i h
M2
= G •alle Merkmale bei mehreren
Klassen etwa gleich verteilt sind•Unterschiede nur in „Relationen“
74
M1 = Durchmesserder Merkmale zueinander
DATABASESYSTEMSGROUP
Naive Bayes-KlassifikationGROUP
Damit ist die Wahrscheinlichkeit der ZugehörigkeitKl Czur Klasse Ci:
)|...()()|( 21 ∧∧⋅ CMMPCP
MMCP ii
...)(
)|...()(...)|(
21
2121 ∧∧
=∧∧MMP
CCMMCP ii
i
∏⋅ iji CMPCP )|()(
∑ ∏∏
=
k jkjk
jiji
CMPCP )|()(
)|()(
Auch hier ist der Nenner für alle Klassen gleich, so dass nur
j
der Zähler zu maximieren ist:
∏⋅= ijiC
CMPCPC )}|()({argmax
75
jCi
DATABASESYSTEMSGROUP
Bayes-NetzwerkeGROUP
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 WahrscheinlichkeitenTabelle der bedingten Wahrscheinlichkeiten
• Trainieren eines Bayes-Netzwerkes
• bei gegebener Netzwerk Struktur und allen bekannten Zufallsvariablen• bei gegebener Netzwerk-Struktur und allen bekannten Zufallsvariablen
• bei gegebener Netzwerk-Struktur und teilweise unbekannten
Zufallsvariablen
• bei apriori unbekannter Netzwerk-Struktur
76
DATABASESYSTEMSGROUP
Bayes-NetzwerkeGROUP
Beispiel
FamilyHistory
Smoker
H,S
H, ¬
S
FH
,S
FH
, ¬S
History
FH FH
¬F
¬F
LC 0.8 0.5 0.7 0.1
LungCancer Emphysema ~LC 0.2 0.5 0.3 0.9
bedingte Wahrscheinlichkeiten
PositiveXRay Dyspnea
bedingte Wahrscheinlichkeitenfür LungCancer
bei gegebenen Werten für FamilyHistory und Smoker liefert der Wert für Emhysema keine zusätzliche Information über LungCancer.
77
DATABASESYSTEMSGROUP
Lineare Diskriminanz AnalyseGROUP
• Modelliere alle Klassen als multivariate Normalverteilungen• Berücksichtigt Korrelationen der Attributeg• Varianzen und Korrelationen für alle Klassen gleich
Basis m lti ariate Normal erteil ng (Ga ss Verteil ng)
( ) xx T
1 )()(2
1 1 −⋅∑⋅−⋅− − μμ
Basis multivariate Normalverteilung (Gauss-Verteilung)
ed
CxP||)2(
1)|(
∑=
π xTRx
∑∈μErwartungsvektor:
|| TRTRx∈=μ
Kovarianzmatrix :
Erwartungsvektor:
TR
xx
ji TRxjjii∑
∈
−⋅−=Σ
)()(
),(
μμ
Eigenschaften:• Korrelation zwischen i und j
78
• Korrelation zwischen i und j• Varianz in der Diagonalen
DATABASESYSTEMSGROUP
Lineare Diskriminanz AnalyseGROUP
Training:
B i d Σ fü ll Kl C• Bestimme μC und ΣC für alle Klassen C.
• Mittle globale Kovarianzmatrix Σ.(Gewichteter Durchschnitt der
CCCi∑Σ
Kovarianzmatritzen aller Klassen)
Kl ifik ti
|| CCCi ∈=Σ
Klassifikation: ( )
)(||)2(
1maxarg)|(maxarg
)()(2
1 1
CPeCxPiC
TiC
ii
id
xx
CCi
CC π
μμ
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛⋅
∑=
−⋅∑⋅−⋅−
∈∈
−
( ) ))(log()()(2
1maxarg
||)(
1 CPxxi
i
ii
iiCT
CCC
μμ ⎟⎠⎞
⎜⎝⎛ +−⋅∑⋅−⋅−=
⎟⎠
⎜⎝
∑
−
∈
( ) ( ) )())(log(2
1maxarg 11 xCPx
ii
i
i
CiiCTCiC
T
CCσμμμ =⎟
⎠⎞
⎜⎝⎛ +∑−∑=
⎠⎝
−−
∈
i i k i i f k i
79
Lineare Diskriminanzfunktion
DATABASESYSTEMSGROUP
Lineare Diskriminanz AnalyseGROUP
• Beobachtung: Da nur Erwartungswerte unterschiedlich⇒ Lineare Separation⇒ Lineare Separation
• Man muss nicht die Wahrscheinlichkeit berechnen.
• Es reicht die Auswertung der folgenden Diskriminanzfunktion:
Klasse mit maximalem σ (x) wird
)(log2
1)( 11
iCTCC
TC CPxx
iiii+Σ−Σ= −− μμμσ
1 2Klasse mit maximalem σC(x) wirdvorhergesagt.
80
3
DATABASESYSTEMSGROUP
Multivariate Gauss-ProzesseGROUP
• Modelliere jede Klasse als multivariate Normalverteilung(Vektoren im Rd)(Vektoren im R )
• Berücksichtigt Korrelationen der Attribute• Hier: Varianzen und Korrelationen für alle Klassen individuell
Berechnung der Wahrscheinlichkeiten zur Klassifikation• Berechnung der Wahrscheinlichkeiten zur Klassifikation(Maximum Likelihood)
Probleme:Braucht sehr viel Trainingsobjekte fürg jjede Klasse, um signifikanteKorrelationswerte zu bestimmen.
81
DATABASESYSTEMSGROUP
Interpretation von RasterbildernGROUP
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
• • • •• • • •
• • • •• • • •• • • •
Band 112 •
(12),(17.5)
••Cluster 1 Cluster 2Ackerland
Wasser• • • •• • • •
• • • •
10
•
(8.5),(18.7)
• ••
•• •
••
••1 1 1 21 1 2 2 Cluster 3
Wasser
Stadt
Erdoberfläche Feature-RaumBand 2
16.5 22.020.018.0
8••••1 1 2 2
3 2 3 23 3 3 3
82
DATABASESYSTEMSGROUP
Interpretation von RasterbildernGROUP
Grundlagen
Anwendung des Bayes-Klassifikators mit Gauss Prozess
Schätzung der P(o | c) ohne Annahme der bedingten Unabhängigkeitg g g g
Annahme einer d-dimensionalen Normalverteilung für die Grauwertvektoren einer Klasse
Wasser
EntscheidungsflächenStadt
Wahrscheinlichkeitder Klassen-zugehörigkeit
Ackerland
83
DATABASESYSTEMSGROUP
Interpretation von RasterbildernGROUP
Methode
Zu schätzen aus den Trainingsdaten:
μi: d-dimensionaler Mittelwertvektor aller Feature-Vektoren der Klasse ciμi: d dimensionaler Mittelwertvektor aller Feature Vektoren der Klasse ci
Σi: Kovarianzmatrix der Klasse cid d⋅
Probleme der Entscheidungsregel:• Likelihood für die
gewählte Klasse sehr kleingewählte Klasse sehr klein
• Likelihood für mehrereKlassen ähnlich
Grenzwert
Klassen ähnlichunklassifizierte Regionen
84
DATABASESYSTEMSGROUP
Bayes-KlassifikatorenGROUP
Diskussion+ hohe Klassifikationsgenauigkeit in vielen Anwendungen
+ Inkrementalität Klassifikator kann einfach an neue Trainingsobjekte adaptiert werden
+ Einbezug von Anwendungswissen+ Einbezug von Anwendungswissen
- Anwendbarkeit die erforderlichen bedingten Wahrscheinlichkeiten sind oft unbekannt
- Ineffizienz bei sehr vielen Attributen insbesondere Bayes-Netzwerke
85
DATABASESYSTEMSGROUP
3.3 Nächste-Nachbarn-KlassifikatorenGROUP
Schrauben TrainingsNägelKlammern
Trainings-daten
Instanzbasiertes Lernen (instance based learning)
Neues Objekt
g
• Einfacher Nächste-Nachbar-Klassifikator: Zuordnung zu der Klasse des nächsten Nachbarpunkts
I B i i l Nä h t N hb i t i S h b• Im Beispiel: Nächster Nachbar ist eine Schraube
• Regionen der Klassenzuordnung können als Voronoi-Diagrammedargestellt werden:g
Mittel-senkrechte
86
DATABASESYSTEMSGROUP
Nächste-Nachbarn-KlassifikatorenGROUP
• Problem: Punkt rechts oben wahrscheinlich nur Ausreißer
• Besser: Betrachte mehr als nur einen Nachbarn⇒ k-Nächste-Nachbarn-Klassifikator⇒ k Nächste Nachbarn Klassifikator
• Entscheidungsmengedie Menge der zur Klassifikation betrachteten k-nächsten Nachbarn
• Entscheidungsregel• EntscheidungsregelWie bestimmt man aus den Klassen der Entscheidungsmenge die Klasse des zu klassifizierenden Objekts?
Interpretiere Hä figkeit einer Klasse in der Entscheid ngsmenge als– Interpretiere Häufigkeit einer Klasse in der Entscheidungsmenge als Wahrscheinlichkeit der Klassenzugehörigkeit
– Maximum-Likelihood-Prinzip: Mehrheitsentscheidung
87
– Ggf. Gewichtung
DATABASESYSTEMSGROUP
Wahl des Parameters kGROUP
• „zu kleines“ k: hohe Sensitivität gegenüber Ausreißern• „zu großes“ k: viele Objekte aus anderen Clustern (Klassen)
in der Entscheidungsmenge.• mittleres k: höchste Klassifikationsgüte, oft 1 << k < 10mittleres k: höchste Klassifikationsgüte, oft 1 << k < 10
x
Entscheidungsmenge für k = 1
Entscheidungsmenge für k = 7x Entscheidungsmenge für k = 7
E h id f k 17Entscheidungsmenge für k = 17
x: zu klassifizieren
88
x: zu klassifizieren
DATABASESYSTEMSGROUP
EntscheidungsregelGROUP
• Standardregel
⇒ wähle die Mehrheitsklasse der Entscheidungsmenge
• Gewichtete Entscheidungsregelgewichte die Klassen der Entscheidungsmenge
– nach Distanz, meist invers quadriert: weight (dist) = 1/dist2
– nach Verteilung der Klassen (oft sehr ungleich!)
Problem: Klasse mit zu wenig Instanzen (< k/2) in der Trainingsmenge
bekommt keine Chance ausgewählt zu werden selbst bei optimalerbekommt keine Chance, ausgewählt zu werden, selbst bei optimaler
Distanzfunktion
• Klasse A: 95 %, Klasse B 5 %
• Entscheidungsmenge = {A, A, A, A, B, B, B}
• Standardregel ⇒ A, gewichtete Regel ⇒ B
89
g g g
DATABASESYSTEMSGROUP
Klassifikation von SternenGROUP
Analyse astronomischer Dateny
Entfernen von Rauschen
Manuelle Analyse
der interessanten
Bildsegmentierung
Feature-Extraktion
Automatische
Klassifikationder interessanten
Sterntypen
Feature ExtraktionKlassifikation
des Sterntyps
Klassifikation des Sterntyps mit Nächste-Nachbarn Klassifikator
basierend auf dem Hipparcos-Katalog
90
DATABASESYSTEMSGROUP
Klassifikation von SternenGROUP
Hipparcos-Katalog [ESA 1998]
• enthält ca. 118 000 Sterne
• mit 78 Attributen (Helligkeit, Entfernung, Farbe,. . .)( g , g, , )
• Klassenattribut: Spektraltyp (Attribut H76)
z.B. ANY
H76: G0 G K . . .
H76: G7.26: G .
H76: KIII/IV G0 G1 G2 . . .
• Werte des Spektraltyps sind vage• Werte des Spektraltyps sind vage
Hierarchie von Klassen benutze die ersteEbene der Klassenhierarchie
91
DATABASESYSTEMSGROUP
Klassifikation von SternenGROUP
Verteilung der Klassen
Klasse #Instanzen Anteil Instanzen
K 32 036 27.0
F 25 607 21 7F 25 607 21.7
G 22 701 19.3
A 18 704 15.8
B 10 421 8 8
häufige Klassen
B 10 421 8.8
M 4 862 4.1
O 265 0.22C 165 0 14C 165 0.14R 89 0.07
W 75 0.06
N 63 0.05seltene Klassen
S 25 0.02
D 27 0.02
92
DATABASESYSTEMSGROUP
Klassifikation von SternenGROUP
Experimentelle Untersuchung [Poschenrieder 1998]
• Distanzfunktion• mit 6 Attributen (Farbe, Helligkeit und Entfernung)
• mit 5 Attributen (ohne Entfernung)
⇒ beste Klassifikationsgenauigkeit mit 6 Attributen
• Anzahl k der Nachbarn⇒ beste Klassifikationsgenauigkeit für k = 15
• Entscheidungsregel• Gewichtung nach Distanz
G i h h Kl il• Gewichtung nach Klassenverteilung
⇒ beste Klassifikationsgenauigkeit bei Gewichtung nach Distanz aber nicht nach Klassenverteilung
93
g
DATABASESYSTEMSGROUP
Klassifikation von SternenGROUP
Klasse Falsch Korrekt Klassifikations-klassifiziert klassifiziert genauigkeit
K 408 2338 85.1%F 350 2110 85.8%G 784 1405 64.2%A 312 975 75.8%B 308 241 43.9%M 88 349 79.9%C 4 5 55.6%R 5 0 0%W 4 0 0%O 9 0 0%N 4 1 20%D 3 0 0%S 1 0 0%
Total 2461 7529 75.3%
hohe Klassifikationsgenauigkeit für die häufigen Klassen, schlechte Genauigkeit für die seltenen Klassen
di i t lt Kl b it i l k / 2 8 I t !
94
die meisten seltenen Klassen besitzen weniger als k / 2 = 8 Instanzen!
DATABASESYSTEMSGROUP
Nächste-Nachbarn-Klassifikatoren GROUP
Diskussion
+ Anwendbarkeit erfordert als Eingabe nur die Trainingsdaten
h h Kl ifik ti i k it i i l A d+ hohe Klassifikationsgenauigkeit in vielen Anwendungen
+ inkrementell Klassifikator kann sehr einfach an neueT i i bj k d i dTrainingsobjekte adaptiert werden
+ auch zur Vorhersage einsetzbar
- Ineffizienz bei der Auswertung des “Modells” erfordertk ä h N hb A f di D b kk-nächste-Nachbarn Anfrage an die Datenbank
- liefert kein explizites Wissen über die Klassen
95
DATABASESYSTEMSGROUP
3.4 Entscheidungsbaum-KlassifikatorenGROUP
Motivation
Autotyp
= LKW
AlterRisikoklasse = niedrig
≠ LKWID Alter Autotyp Risiko1 23 Familie hoch2 17 Sport hoch3 43 Sport hoch
> 60 ≤ 60
Risikoklasse = hochRisikoklasse = niedrig
3 43 Sport hoch4 68 Familie niedrig5 32 LKW niedrig
finden explizites Wissen
Risikoklasse = hochRisikoklasse = niedrig
finden explizites Wissen
Entscheidungsbäume sind für die meisten Benutzer verständlich
96
DATABASESYSTEMSGROUP
GrundbegriffeGROUP
• Ein Entscheidungsbaum ist ein Baum mit folgenden Eigenschaften:
• ein innerer Knoten repräsentiert ein Attribut,• eine Kante repräsentiert einen Test auf dem Attribut des Vaterknotens,• ein Blatt repräsentiert eine der Klassen.p
• Konstruktion eines Entscheidungsbaums
• anhand der Trainingsmenge
• Top-Down
• Anwendung eines Entscheidungsbaums
D hl f d E t h id b d W l i d BlättDurchlauf des Entscheidungsbaum von der Wurzel zu einem der Blätter
⇒ eindeutiger Pfad
Zuordnung des Objekts zur Klasse des erreichten BlattsZuordnung des Objekts zur Klasse des erreichten Blatts
97
DATABASESYSTEMSGROUP
Konstruktion eines EntscheidungsbaumsGROUP g
Basis-Algorithmus• Anfangs gehören alle Trainingsdatensätze zur Wurzel.
• Das nächste Attribut wird ausgewählt (Splitstrategie).
Die Trainingsdatensätze werden unter Nutzung des Splitattributs• Die Trainingsdatensätze werden unter Nutzung des Splitattributspartitioniert.
• Das Verfahren wird rekursiv für die Partitionen fortgesetzt.g
⇒ lokal optimierender Algorithmus
AbbruchbedingungenAbbruchbedingungen• keine weiteren Splitattribute
• alle Trainingsdatensätze eines Knotens gehören zur selben Klasseg g
98
DATABASESYSTEMSGROUP
Entscheidungsbaum-KlassifikatorenGROUP
Beispiel
Tag Aussicht Temperatur Feuchtigkeit Wind Tennispielen
1 i h iß h h h h i1 sonnig heiß hoch schwach nein2 sonnig heiß hoch stark nein3 bedeckt heiß hoch schwach ja4 regnerisch mild hoch schwach ja4 regnerisch mild hoch schwach ja5 regnerisch kühl normal schwach ja6 regnerisch kühl normal stark nein 77 . . . . . . . . . . . . . . .
Ist heute ein Tag zum Tennisspielen?
99
DATABASESYSTEMSGROUP
Entscheidungsbaum-KlassifikatorenGROUP
Beispiel
Aussicht
sonnig bedeckt regnerisch
hoch normal stark schwach
„ja“Feuchtigkeit Wind
„nein“ „ja“ „nein“ „ja“
100
DATABASESYSTEMSGROUP
SplitstrategienGROUP
Typen von Splits• Kategorische Attribute
Splitbedingungen der Form „Attribut = a“ or „Attribut ∈ set“viele mögliche Teilmengenviele mögliche Teilmengen
Attribut Attribut
= a1 = a2 = a3 ∈ s1 ∈ s2
• Numerische AttributeSplitbedingungen der Form Attribut < a“ AttributSplitbedingungen der Form „Attribut < aviele mögliche Splitpunkte
Attribut
< a ≥ a
101
DATABASESYSTEMSGROUP
Numerische SplitgrenzenGROUP
Wo sollen diskrete Attribute gesplittet werden?
A d S ll di di Q li ä i i=> An den Stellen, die die Qualität maximieren.
Idee: Ordnen der numerischen Attributwerte
Wert 0.9 0.8 0.65 0.5 0.45 0.3 0.15 0.01
Klasse A A B B B A A A
Teste die Kombination die den höchsten Information Gain erzielen
Potentielle Splitkandidaten
Teste die Kombination, die den höchsten Information Gain erzielen.
Schnellere Methode:Potentielle
Splitkandidaten
• Bilde Gauß-Kurve über alle Klassen
• Wähle Schnittpunkte der Gauß-Kurvenl K did t
102
als Kandidaten.
DATABASESYSTEMSGROUP
SplitstrategienGROUP
Qualitätsmaße für SplitsGegeben
• eine Menge T von Trainingsobjekteng g j
• eine disjunkte, vollständige Partitionierung T1, T2, . . . , Tm von T
• pi die relative Häufigkeit der Klasse ci in Tpi die relative Häufigkeit der Klasse ci in T
Gesuchti M ß d U i h it i M S T i i bj kt i B• ein Maß der Unreinheit einer Menge S von Traininsgobjekten in Bezug
auf die Klassenzugehörigkeit
• ein Split von T in T1, T2, . . . , Tm , der dieses Maß der Unreinheit p 1 2 m minimiert
⇒ Informationsgewinn, Gini-Index
103
DATABASESYSTEMSGROUP
SplitstrategienGROUP
Informationsgewinn
Entropie: minimale Anzahl von Bits zum Codieren der Nachricht,
mit der man die Klasse eines zufälligen Trainingsobjekts mitteilen möchtemit der man die Klasse eines zufälligen Trainingsobjekts mitteilen möchte.
Die Entropie für eine Menge T von Trainingsobjekten ist definiert als
i Tk
( ) l∑entropie(T) = 0, falls pi = 1 für ein i
t i (T) 1 fü k 2 Kl it 1/2
entropie T p pi ii
( ) log= − ⋅=
∑1
entropie(T) = 1 für k = 2 Klassen mit pi = 1/2
Das Attribut A habe die Partitionierung T1, T2, . . . , Tm erzeugt.
D I f i i d A ib A i B f T i d fi i lDer Informationsgewinn des Attributs A in Bezug auf T ist definiert als
)(||
||)(),( i
mi Tentropie
T
TTentropieATnsgewinnInformatio ⋅−= ∑
104
||1i T=
DATABASESYSTEMSGROUP
SplitstrategienGROUP
Gini-Index
Gini-Index für eine Menge T von Trainingsobjektenk
kl i Gi i I d i U i h i
gini T pj
j
k
( ) = −=
∑1 2
1
– kleiner Gini-Index ⇔ geringe Unreinheit,
– großer Gini-Index ⇔ hohe Unreinheit
D A ib A h b di P i i i T T TDas Attribut A habe die Partitionierung T1, T2, . . . , Tm erzeugt.
Gini-Index des Attributs A in Bezug auf T ist definiert als
gini TT
Tgini TA
i
i
m
i( )| |
| |( )= ⋅
=∑
1
105
DATABASESYSTEMSGROUP
SplitstrategienGROUP
Beispielp
Feuchtigkeit
9 „ja“ 5 „nein“ Entropie = 0,940
Wind
9 „ja“ 5 „nein“ Entropie = 0,940
g
hoch normal
3 „ja“ 4 „nein“ 6 „ja“ 1 „nein“ 3 „ja“ 3 „nein“
schwach stark
6 „ja“ 2 „nein“3 „ja 4 „nein 6 „ja 1 „nein
Entropie = 0,985 Entropie = 0,592
77
j„j „
Entropie = 0,811 Entropie = 1,0
151,0592,014
7985,0
14
794,0),( =⋅−⋅−=itFeuchtigkeTnsgewinnInformatio
048,00,114
6811,0
14
894,0),( =⋅−⋅−=WindTnsgewinnInformatio
⇒ Feuchtigkeit liefert den höheren Informationsgewinn
1414
106
DATABASESYSTEMSGROUP
OverfittingGROUP
EinführungOverfitting bei der Konstruktion eines Entscheidungsbaums, wenn es zwei Entscheidungsbäume E und E’ gibt mit
E hat auf der Trainingsmenge eine kleinere Fehlerrate als E’– E hat auf der Trainingsmenge eine kleinere Fehlerrate als E ,– E’ hat auf der Grundgesamtheit der Daten
eine kleinere Fehlerrate als E.
igke
iton
sgen
aula
ssif
ikat
io
auf Trainingsdatenauf Testdaten
107
Kl
Baumgröße
DATABASESYSTEMSGROUP
OverfittingGROUP
Ansätze zum Vermeiden von Overfitting
• Entfernen von fehlerhaften Trainingsdaten
i b d id ü hli h T i i dinsbesondere widersprüchliche Trainingsdaten
• Wahl einer geeigneten Größe der Trainingsmengenicht zu klein, nicht zu groß
• Wahl einer geeigneten Größe des minimum supportminimum support:
Anzahl der Datensätze, die mindestens zu einem Blattknoten
des Baums gehören müssen
minimum support >> 1
108
DATABASESYSTEMSGROUP
OverfittingGROUP
Ansätze zum Vermeiden von Overfitting
• Wahl einer geeigneten Größe der minimum confidence
minimum confidence: Anteil, den die Mehrheitsklasse eines
Blattknotens mindestens besitzen mu.
minimum confidence << 100%
Blätter können auch fehlerhafte Datensätze oder Rauschen
„absorbieren“
• nachträgliches Pruning des Entscheidungsbaums
Abschneiden der überspezialisierten Äste
109
DATABASESYSTEMSGROUP
Pruning von EntscheidungsbäumenGROUP
Fehlerreduktions-Pruning [Mitchell 1997]
• Aufteilung der klassifizierten Daten in Trainingsmenge und Testmenge
• Konstruktion eines Entscheidungsbaums E für die Trainingsmenge• Konstruktion eines Entscheidungsbaums E für die Trainingsmenge
• Pruning von E mit Hilfe der Testmenge T
- bestimme denjenigen Teilbaum von E, dessen Abschneiden denbestimme denjenigen Teilbaum von E, dessen Abschneiden den
Klassifikationsfehler auf T am stärksten reduziert
- entferne diesen Teilbaum
- fertig, falls kein solcher Teilbaum mehr existiert
nur anwendbar, wenn genügend viele klassifizierte Daten
110
DATABASESYSTEMSGROUP
Entscheidungsbaum-KlassifikatorenGROUP
Diskussion
+ Interpretation des gefundenen Baumes relativ einfach+ Implizite Gewichtung der Attribute+ Implizite Gewichtung der Attribute+ Leistungsfähiger Klassifikator, häufig in der Praxis
verwendetverwendet+ Effiziente Auswertung des gefundenen Modells
- Finden eines optimalen Entscheidungsbaums ist exponentiellp
- Heuristische Methoden können nur lokales Optimum finden
- Anfällig für Overfitting
111
Anfällig für Overfitting
DATABASESYSTEMSGROUP
3.4 Neuronale NetzeGROUP
Grundlagen [Bigus 1996], [Bishop 1995]
P di fü i M hi d B h d ll• Paradigma für ein Maschinen- und Berechnungsmodell• Funktionsweise ähnlich der von biologischen Gehirnen
• Neuronales Netz: Menge von Neuronen, über Kantenit i d b dmiteinander verbunden
• Neuron: entspricht biologischem Neuron Aktivierung durch Input-Signale an den
• Synapseny p
• Erzeugung eines Output-Signals, das zu anderen Neuronen weitergeleitet wird.
• Organisation eines neuronalen NetzesInput-Schicht, verborgene Schichten, Output-SchichtK t i S hi ht it ll K t d h h d S hi htKnoten einer Schicht mit allen Knoten der vorhergehenden Schicht verbunden
112
DATABASESYSTEMSGROUP
GrundlagenGROUP
Kanten besitzen GewichteKanten besitzen Gewichte
Funktion eines neuronalen Netzes
Output-Vektor y VorhergesagteKlasse
Output-Schicht
verborgene Schicht
wij
g
Input-Schichtwij
Input-Vektor x
113
DATABASESYSTEMSGROUP
NeuronenGROUP
allgemeines Neuron
a: Aktivierungswert
n
∑ 1Σ×
×x1
x2
w1
aa w xi ii
= ⋅=∑
1y
e a=+ −1Σ
×
×. . .w2
w
a
Threshold Logic Unit
xnwn
x1 w1Threshold Logic Unit
(TLU)y
wenn a
sonst=
≥⎧⎨⎩
1
0
,
,
θy
aθΣ×
×
. . .x2
w1
w2
a⎩aθ
×. . .
xnwn
114
DATABASESYSTEMSGROUP
NeuronenGROUP
• Klassifikation mit Hilfe einer TLU
ä i i (H )Ebn
∑ θ1 1 1
1x2
• repräsentiert eine (Hyper-)Ebene
• links von der Ebene: Klasse 0
ht d Eb Kl 1
w xi ii
⋅ ==∑
1
θ
1
11
1
11
0 0
00
• rechts von der Ebene: Klasse 1 00 0
0
0 0
x1• Trainieren einer TLU
• Lernen der „richtigen“ Gewichte zur Unterscheidung der zwei KlassenIterative Anpassung der Gewichte wIterative Anpassung der Gewichte wij
• Rotation der durch w und θ gegebene Hyperebene um einen kleinen Betragin Richtung v, wenn v noch nicht auf der richtigen Seite der Ebene liegt
115
DATABASESYSTEMSGROUP
Kombination mehrerer NeuronenGROUP
zwei Klassen, die nicht linear separierbar sind:
zwei innere Knoten und ein Output-Knoten
BeispielBeispiely
10
h h y Klasse B1 20 0 0= ∧ = =: ( )
h h
A
A
A AA
AA
AA
A
01
0
andernfalls y Klasse A1=: ( )h1 h2
AA
A
B
BB
B
B B
A
A
A
A A
B
B
116
DATABASESYSTEMSGROUP
Lernalgorithmus für komplexe Neuronale NetzeGROUP
Bei Abweichung von vorhergesagter und tatsächlicher Klasse:
Anpassung der Gewichte mehrerer Knoten
Frage
In welchem Maße sind die verschiedenen Knotenan dem Fehler beteiligt?
A d G i htAnpassung der Gewichte
• durch Gradientenverfahren, das den Gesamtfehler minimiert
• Gesamtfehler: Summe der (quadratischen) Abweichungen des tatsächlichen Outputs y vom gewünschten Output t für die Menge der Inputvektoren. (Least Squares Optimierung)p q p g
• Voraussetzung: Output y stetige Funktion der Aktivierung a
117
DATABASESYSTEMSGROUP
Algorithmus BackpropagationGROUP
für jedes Paar(v,t) // v = Input,t = gewünschter Output
„forward pass”:
Bestimme den tatsächlichen Output y für Eingabe v;
„backpropagation”:„backpropagation :
Bestimme den Fehler (t - y) der Output-Einheiten
und passe die Gewichte der Output-Einheiten in die
Richtung an, die den Fehler minimiert;
Solange der Input-Layer nicht erreicht ist:
Propagiere den Fehler auf die nächste Schicht undPropagiere den Fehler auf die nächste Schicht und
passe auch dort die Gewichte der Einheiten in
fehlerminimierender Weise an;
118
DATABASESYSTEMSGROUP
Design der NetztopologieGROUP
Bestimmung von
• Anzahl der Input-Knoten
• Anzahl der inneren Schichten und jeweilige Anzahl der Knoten
• Anzahl der Output-Knoten
starker Einfluss auf die Klassifikationsgüte:
• zu wenige Knoten
⇒ niedrige Klassifikationsgüteg g
• zu viele Knoten
⇒ Overfittingg
119
DATABASESYSTEMSGROUP
Bestimmung der NetztopologieGROUP
nach [SPSS Clementine 2000]
Statische TopologieStatische Topologie
– Topologie wird apriori festgelegt
– eine verborgene Schicht reicht in vielen Anwendungen auseine verborgene Schicht reicht in vielen Anwendungen aus
Dynamische Topologie
– dynamisches Hinzufügen von Neuronen (und verborgenen Schichten)dynamisches Hinzufügen von Neuronen (und verborgenen Schichten)
solange Klassifikationsgüte signifikant verbessert wird
Multiple TopologienMultiple Topologien
– Trainieren mehrerer dynamischer Netze parallel
z.B. je ein Netz mit 1, 2 und 3 verborgenen Schichtenz.B. je ein Netz mit 1, 2 und 3 verborgenen Schichten
120
DATABASESYSTEMSGROUP
Bestimmung der NetztopologieGROUP
Pruning• Trainieren eines Netzes mit statischer Topologie• Trainieren eines Netzes mit statischer Topologie
• nachträgliches Entfernen der unwichtigsten Neuronen solange Klassifikationsgüte verbessert wirdg
Schlussfolgerung
• statische Topologie: niedrige Klassifikationsgüte, aber relativ schnell.statische Topologie: niedrige Klassifikationsgüte, aber relativ schnell.
• Pruning: beste Klassifikationsgüte, aber sehr hoher
Laufzeitaufwand zum Training.g
121
DATABASESYSTEMSGROUP
DiskussionGROUP
+ im Allgemeinen sehr hohe Klassifikationsgütebeliebig komplexe Entscheidungsflächen
+ robust gegen Rauschen in den Trainingsdaten
+ Effizienz der Anwendung+ Effizienz der Anwendung
- schlechte Verständlichkeit (lernt nur Gewichte, aber keine Klassenbeschreibung)
Ineffizienz des Lernens (sehr lange Trainingszeiten)- Ineffizienz des Lernens (sehr lange Trainingszeiten)
- keine Integration von Hintergrundwissen
122
DATABASESYSTEMSGROUP
3.5. Support Vector MachinesGROUP
Motivation: Lineare Separation
• Vektoren in IRd repräsentieren Objekte.
• Objekte gehören zu genau einer von jeObjekte gehören zu genau einer von je2 Klassen
Klassifikation durch lineare Separation:Klassifikation durch lineare Separation:• Suche Hyperebene, die beide Klassen
„maximal stabil“ voneinandertrennttrennt.
• Ordne unbekannte Elemente der Seited Eb f d i i h
trennende Hyperebeneder Ebene zu, auf der sie sichbefinden.
123
DATABASESYSTEMSGROUP
Support Vector MachinesGROUP
Probleme bei linearer Separation: p
• Was ist die „maximal stabile“ Hyperebene undwie berechnet man sie effizient?wie berechnet man sie effizient?
• Klassen nicht immer linear trennbar.
• Berechnung von Hyperebenen nach Auswahl sehr aufwendig.
• Einschränkung auf 2 Klassen.
• ......
Lösungen dieser Problemeit S t V t M hi (SVM ) [V ik 1979 1995]
124
mit Support Vector Machines(SVMs ) [Vapnik 1979 u. 1995].
DATABASESYSTEMSGROUP
Maximum Margin HyperplaneGROUP
Problem: Hyperebene die P1 und P2 trennt ist nicht eindeutig.⇒ Welche Hyperebene ist für die Separation die Beste ?
P2 P2
P1 P1
K it iKriterien: • Stabilität beim Einfügen• Abstand zu den Objekten beider Klassen
125
Abstand zu den Objekten beider Klassen
DATABASESYSTEMSGROUP
Maximum Margin HyperplaneGROUP
Lineare Separation mit der „Maximum Margin Hyperplane“
Maximum Margin Hyperplane• Abstand zu Punkten aus beiden
Mengen ist maximal, d.h. mind. ξ.• Wahrscheinlichkeit, dass beim
Einfügen die trennende Hyperebeneverschoben werden muss, ist minimal.
• generalisiert am besten.P2
ξ
ξ
⇒ Maximum Margin Hyperplane (MMH)ist „maximal stabil“P1
P2
MMH ist nur von Punkten Pi abhängig, die Ab t d ξ Eb f i
Rand (margin)Abstand ξ zur Ebene aufweisen.
⇒ Pi heißt Support Vector
126
DATABASESYSTEMSGROUP
Maximum Margin HyperplaneGROUP
Zusammenfassung der Schreibweisen der benötigten algebraischen Konstrukte für Featurespace FS:
Sk l d kt i V kt FSSkalarprodukt zweier Vektoren:
z.B. kanonisches Skalarprodukt
FSyxyx ∈,,,
( )∑ ⋅=d
ii yxyx,
Beschreibung einer Hyperebene: ( )⎭⎬⎫
⎩⎨⎧ +=∈= bxwFSxbwH ,0,
=i 1
g yp ( )⎭⎬
⎩⎨ ,,
Abstand eines Vectors zur Ebene: ( ) bxwww
bwHxdist += ,,
1),(,
127
DATABASESYSTEMSGROUP
Maximum Margin HyperplaneGROUP
Berechnung der Maximum Margin Hyperplane
1. Bedingung: kein Klassifikationsfehler (Klasse1: yi=1,Klasse 2:yi=-1)
[ ]0],[)1( ⎪⎬⎫<+⇒−=
bbxwy ii
2 B di M i l R d (M i )
[ ] 0,0],[)1(
>+⇔⎪⎭
⎪⎬
>+⇒=bxwy
bxwyii
ii
ii
2. Bedingung: Maximaler Rand (Margin)
maximiere: (Abstand von xi zur Ebene )( )bxw i += ,1
minξ )( bwHmaximiere: (Abstand von xi zur Ebene )
oder
( )bxwww
iTRx i
+∈
,,
minξ
⎤⎡ ⎞⎛
),( bwH
maximiere: ξ , so dass für ∀i ∈ [1..n][ ]⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
≥⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛+ ξbxw
wwy ii ,
,
1
128
⎥⎦⎢⎣⎟⎠
⎜⎝
ww,
DATABASESYSTEMSGROUP
Maximum Margin HyperplaneGROUP
ma imiere ξ in für ∀i [1 n][ ] ⎥⎥⎤
⎢⎢⎡
≥⎟⎟⎞
⎜⎜⎛
+ ξbxwy1
maximiere ξ in ; für ∀i ∈ [1..n][ ]⎥⎥
⎦⎢⎢
⎣
≥⎟⎟
⎠⎜⎜
⎝
+ ξbxwww
y ii ,,
Setze = ξ : max. , mit ∀i ∈ [1..n]ww,
1
( )( )ww,
1
1
( )( )( )ξξ ≥+⋅⋅ bxwy ii ,
⇒ max. , mit ∀i ∈ [1..n]
Statt invertiere quadriere und minimiere das Ergebnis:
( )( )1, ≥+ bxwy iiww,
1
1Statt invertiere, quadriere und minimiere das Ergebnis:
ww,
bJ )( wwbwJ ,),( =
unter Nebenbedingung für ∀i ∈ [1..n] sei ( )( )1, ≥+bxwy ii
Primäres OP: minimiere
129
g g [ ] ( )( ),y ii
DATABASESYSTEMSGROUP
Maximum Margin HyperplaneGROUP
Zur Berechnung wird das primäre Optimierungsproblem in ein duales OP überführt.(Umformulierung in Form mit Langrange Multiplikatoren nach Karush-Kuhn-Tucker)
n nn 1⎞⎛jiji
i jji
ii xxyyL ,
2
1)(
1 11
⋅⋅⋅⋅−⎟⎠
⎞⎜⎝
⎛= ∑∑∑= ==
ααααDuales OP: maximiere
unter Bedingung , 0 ≤ αi und∑=
=⋅n
iii y
1
0α nℜ∈α
⇒ Lösung des Problems mit Algorithmen aus der Optimierungstheorie⇒ bis jetzt nur linear separierbarer Fall: Soft Margin Optimierung
Einführ ng on Kernelf nktionen r Steiger ng der Kapa ität⇒ Einführung von Kernelfunktionen zur Steigerung der Kapazität
130
DATABASESYSTEMSGROUP
Soft Margin GROUP
Behandlung nicht linear trennbarer Daten:Soft Margin OptimierungSoft Margin Optimierung
Daten nicht separierbar vollständige Separation ist nicht optimal
⇒ Trade-Off zwischen Trainingsfehler und Breite des Randes
131
DATABASESYSTEMSGROUP
Soft MarginGROUP
Betrachte beim Optimieren zusätzlich noch die Anzahl der Trainingsfehler.
ξ2
P2
• ξi ist der Abstand von Pi zum Rand (wird auch Slack-Variable genannt)
ξ1
P1 • C reguliert den Einfluss eines einzelnenTrainingsvektors
Primäres OP :∑
=
⋅+=n
iiCwwbwJ
1
,2
1),,( ξξminimiere
⇒ Primäres Optimierungsproblem unter weichen Grenzen (Soft Margin)
unter Nebenbedingung für ∀i ∈ [1..n] sei und ξi ≥ 0( ) iii bxwy ξ−≥+ 1,
i 1
132
⇒ Primäres Optimierungsproblem unter weichen Grenzen (Soft Margin)
DATABASESYSTEMSGROUP
Soft MarginGROUP
⎞⎛
Das duale OP mit Lagrange Multiplikatoren verändert sich wie folgt:
jiji
n
i
n
jji
n
ii xxyyL ,
2
1)(
1 11
⋅⋅⋅⋅−⎟⎠
⎞⎜⎝
⎛= ∑∑∑= ==
ααααDuales OP: maximiere
n
mit Bedingung und 0 ≤ α i ≤ C∑=
=⋅i
ii y1
0α
• 0 < α i <C ⇔ Support Vektor mit ξi = 0• α i = C ⇔ Support Vektor mit ξi >0• α 0 sonst ξ2
P2• α i= 0 sonst
ξ1
ξ2
P1
Entscheidungsregel:Entscheidungsregel:
( ) ⎟⎟⎠
⎞⎜⎜⎝
⎛+⋅= ∑
SV
iii bxxysignxh ,α
133
⎠⎝ ∈SVxi
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
Lernen bei nicht linear trennbaren Datenmengen
Problem: Bei realen Problemen ist häufig keine lineare Separation mit hoher Klassifikationsgenauigkeit mehr möglich.
Idee: Transformiere Daten in einen nicht linearen Feature-Raum und versuche sie im neuen Raum linear zu separieren.(Erweiterung des Hypothesenraumes)(Erweiterung des Hypothesenraumes)
134
Beispiel: quadratische Transformation
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
Erweiterung der Hypothesenraumesg ypEingaberaum
φerweiterter Feature Raum
⇒ Versuche jetzt in erweitertem Feature Raum linear zu separieren
φ
j p
Beispiel: a b c
a b c a a a b a c b b b c c cφ
hier: Eine Hyperebene im erweiterten Feature Raum istein Polynom 2. Grades im Eingaberaum.
135
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
( )21, xxx =Eingaberaum: (2 Attribute)
im erweiterten Raum:(6 Attribute)
( )( ) ( )1,2,2,2,, 2121
22
21 xxxxxxx ⋅⋅⋅⋅=φ
x2 x2
x121x
136
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
Einführung eines Kernels ⇔ (Implizite) Featuretransformationi l ( )mittels ( ) neualt FSFSx ⎯→⎯:φ
)(),(2
1)(
1 11
jiji
n
i
n
jji
n
ii xxyyL φφαααα ⋅⋅⋅⋅−⎟⎠
⎞⎜⎝
⎛= ∑∑∑= ==
Duales OP: maximiere
n j⎠⎝mit Bedingung und 0 ≤ α i ≤ C∑
=
=⋅n
iii y
1
0α
Zusätzliche Featuretransformation wirkt sich nur auf das Skalarproduktder Trainingsvektoren aus. ⇒ Kernel K ist eine Funktion mit:
( ) )(),(, jiji xxxxK φφφ =
137
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
Wann ist eine Funktion K(x,y) ein Kernel ?Wenn die Kernel-Matrix (Gram Matrix) KM
⎟⎟⎞
⎜⎜⎛ ),(..),( 111 nxxKxxK
⎟⎟⎟⎟
⎠⎜⎜⎜⎜
⎝
=),(..),(
......)(
1 nnn xxKxxK
KKM
positiv (semi) definit ist, also keine negativenEigenwerte besitzt, dann ist K(x,y) ein Kernel (siehe Mercer‘s Theorem)
Notwendige Bedingungen:
• (Symmetrie)( ) ( )xyKxyyxyxK ,)(),()(),(, φφ φφφφ ===
• (Cauchy-Schwarz)( ) ( ) ( )yyKxxKyxK ,,,2
φφφ ⋅≤
Symmetrie und Cauchy-Schwarz sind keine hinreichenden Bedingungen!
138
y y g g
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
einige Regeln zur Kombination vom Kerneln:
( ) ( ) ( )yxKyxKyxK ,,, 21 ⋅=
( ) ( ) ( )yxKyxKyxK +
( ) ( )yxKayxK ,, 1⋅=
( ) ( ) ( )yxKyxKyxK ,,, 21 +=
( ) yBxyxK T ⋅⋅=,
für K1, K2 Kernelfunktionen, a eine positive Konstante undB eine symmetrische positiv semi-definite Matrix.y p
139
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
Beispiele für verwendete Kernel-Funktionen:
• linear: yxyxK ,),( =
( )• polynomiell: ( )dcyxyxK += ,),(
⎞⎛ 2• Radiale Basisfunktionen: ⎟
⎠⎞⎜
⎝⎛ −⋅−=
2
exp),( yxyxK γ
⎞⎛ 2
• Gauss Kernel:⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛ −−=
2
2
2exp),(
σ
yxyxK
• Sigmoid: ( )cyxyxK +⋅= ,tanh),( γ
⎟⎠
⎜⎝
140
DATABASESYSTEMSGROUP
Kernel MachinesGROUP
Polynomieller Kernel (Grad 2)
Radial Basis Kernel
141
DATABASESYSTEMSGROUP
Training einer SVMGROUP
zu lösen ist folgendes Problem:
( )jiji
n n
ji
n
i xxKyyL ,2
1)( ⋅⋅⋅⋅−⎟
⎠
⎞⎜⎝
⎛= ∑∑∑ ααααDuales OP: maximiere ( )jji
i jji
ii yy ,
2)(
1 11 ⎠⎝∑∑∑
= ==
mit Bedingung und 0 ≤ α i ≤ C∑=
=⋅n
iii y
1
0α
⎤⎡⎤⎡⎤⎡⎤⎡⎤⎡TT
KK )()(1
oder
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡⋅
⎥⎥⎥⎤
⎢⎢⎢⎡
⋅⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡⋅
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ nn
TT
KK
xxKyyxxKyy ααα..
)()(
......
),(..),(
..2
1..
1
..
1
max111111111
⎥⎦⎢⎣⎥⎦
⎢⎣⎥⎦⎢⎣⎥⎦⎢⎣⎥⎦⎢⎣ nnnnnnnnn xxKyyxxKyy ααα ),(..),(1 11
it B di d 0 ≤ ≤ C∑n
0
142
mit Bedingung und 0 ≤ α i ≤ C∑=
=⋅i
ii y1
0α
DATABASESYSTEMSGROUP
Training einer SVMGROUP
zur Lösung:g• Standardalgorithmen aus der Optimierungstheorie für
konvexe quadratische Programme
• für große Trainingsmengen numerische Algorithmen notwendignotwendig
• es existieren einige Spezialalgorithmen für SVM-Training:g p g g• Chunking / Decomposition• Sequential Minimal Optimisation (SMO)
143
DATABASESYSTEMSGROUP
Multi-Class SVMsGROUP
Bisher SVMs nur anwendbar auf 2 Klassen Probleme !!
Idee: Kombination mehrere 2-Klassen SVMs zu Klassifikatoren, die beliebig viele Klassenunterscheiden können.
Multi-Class SVMs
2 kl i h A ä2 klassische Ansätze:
⇒ Unterscheide jede Klasse von allen anderen(1 versus Rest)(1-versus-Rest)
⇒ Unterscheide je 2 Klassen(1-versus-1)
144
(1-versus-1)
DATABASESYSTEMSGROUP
1-versus-Rest AnsatzGROUP
y yKlassifikation A B Cy
A
C A B C
SVMs:y
AC
R
RESTξA
O
x
B
x
BREST
1 -1 -1ξB
ξC
Klasse von O
O
• 1-versus-Rest Ansatz : 1 SVM für jede Klasse.• SVM trennt jedes Klasse von Vereinigung
Klasse von O
• SVM trennt jedes Klasse von Vereinigungaller anderen Klassen ab
• Klassifiziere O mit allen Basis-SVMs.M lti l Kl hö i k it ö li h (M lti Cl ifi ti )⇒ Multiple Klassenzugehörigkeit möglich (Multi-Classification)
oderEntscheidung für die Klasse,
145
bei der Abstand ξi am größten ist.
DATABASESYSTEMSGROUP
1-versus-1 AnsatzGROUP
SVMs:Klassifikation
yA
C A B C
SVMs:A C
C
y
A
C
A B CAB
SVMs:
x
BC A
BC
A-B A-C
B-C
x
BC B
C
1 0 2A B C
o
• 1-versus-1 Ansatz : 1 SVM für jedes Paar von Klassen.
xVoting-Vektor
j• Klassifikation von Objekt O:
1. Klassifiziere O mit allen Basis-SVMs.“ ”2. Zähle “Stimmen”(Votes) für jede Klasse.
• Maximale Anzahl an Votes => Ergebnis.
146
DATABASESYSTEMSGROUP
Vergleich 1-versus-restund 1-versus-1GROUP
Kriterium 1-versus-rest 1-versus-1
A f d T i i li A hl d Q d ti h hl dAufwand Training linear zur Anzahl der Klassen ( O(|K|) )
Quadratisch zur anzahl der Klassen ( O(|K|2) )
Aufwand linear zur Anzahl der Quadratisch zur Anzahl derAufwandKlassifikation
linear zur Anzahl der Klassen ( O(|K|) )
Quadratisch zur Anzahl der Klassen ( O(|K|2) )
Verbesserung:
„Decision Directed Acyclic Graphs“
Klassifikation in O(|K|)Klassifikation in O(|K|)
[Platt,Christianini 1999]
Genauigkeit tendenziell schlechter tendenziell höher,g ,
(nutzt wissen über unterschiedliche Klassen besser aus)
147
besser aus)
DATABASESYSTEMSGROUP
Anwendungen von SVMGROUP
SVM zur Textklassifikation [Joachims98]
2 Datensätze • Reutersdatensatz: NachrichtenagenturtexteReutersdatensatz: Nachrichtenagenturtexte
9603 Trainingsdokumente, 3299 Testdokumente, 90 Kategorien• Ohsumed corpus: Medizinische Texte
j il 10 000 T d T i i d k 23 K i
Experimente durch Vergleich zwischen:
jeweils 10.000 Test- und Trainingsdokumente, 23 Kategorien(unterschiedliche Krankheiten)
Experimente durch Vergleich zwischen:• Naive Bayes• C4.5(Entscheidungsbaum)• Rocchio (Relevance Feedback)• k-NN Klassifikator• SVM (polynomieller und „radial basis function“-Kernel )
148
DATABASESYSTEMSGROUP
Anwendungen von SVMGROUP
Ergebnisse:Naive Rocchio C4 5 k-NN SVM SVMNaiveBayes
Rocchio C4.5 k NN SVM
(poly.)
SVM
(rbf)
durchschn. 72.0 79.9 79.4 82.3 86.0 86.4Genauigkeit
max. pro Kl. 95.9 96.1 96.1 97.3 98.5 98.5
(Klassifikation mit 1 Klassifikator pro Klasse, der Zugehörigkeit prüft.)
Ergebnis:⇒ SVM lieferten deutlich bessere Ergebnisse⇒ k-NN Klassifikator bester der etablierten Methoden⇒ k-NN Klassifikator bester der etablierten Methoden⇒ Wahl des Kernel/der Kernelparameter rel. unkritisch
Bsp.: Grad des Polynoms : 84.2% (d=2) - 86.2% (d=4)
149
p y
DATABASESYSTEMSGROUP
Anwendungen von SVMGROUP
weitere Anwendungsbeispiele:
• Bilderkennung [Pontil, Verri 98]
• Buchstabenerkennung [Boser, Guyon, Vapnik 92]
• Bioinformatik• Genexpressionsanalyse [Brown et al. 99]
• Erkennen homologer Proteine[Jaakkola Haussler 98][Jaakkola, Haussler 98]
150
DATABASESYSTEMSGROUP
Support Vector MachinesGROUP
Diskussion
+ erzeugt Klassifikatoren mit hoher Genauigkeit+ verhältnismäßig schwache Tendenz zu Overfitting+ verhältnismäßig schwache Tendenz zu Overfitting
(Begründung durch Generalisierungtheorie)+ effiziente Klassifikation neuer Objekte+ effiziente Klassifikation neuer Objekte+ kompakte Modelle
- unter Umständen lange Trainingszeiten
- aufwendige Implementierung- aufwendige Implementierung
- gefundene Modelle schwer zu deuten
151
DATABASESYSTEMSGROUP
Support Vector MachinesGROUP
Literatur:• C Cortes V Vapnik: Support-vector networks• C. Cortes, V. Vapnik: Support vector networks.
Machine Learning, 20:273-297, November 1995.
C J C Burges: A tutorial on support vector machines for pattern• C.J.C. Burges: A tutorial on support vector machines for patternrecognition.Data Mining and Knowledge Discovery, 2(2):121-167,1998.
• T. Joachims: Text categorisation with Support Vector Machines.in Proceedings of European Conference on Machine Learning (ECML), 1998.
• N. Cristianini, J Shawne-Taylor: An Introduction to Support Vector, y ppMachines and other kernel-based learning methods.Cambridge University Press 2000.
152
DATABASESYSTEMSGROUP
3.6 Hierarchische KlassifikationGROUP
Bisher: Flacher Klassenraum C = {C1,..,Cn}Beispiel: Eine Email ist Spam oder nicht .
Häufig: Hierarchischer Klassenraum Beispiel: Nachrichten über Fußball sind ein Teil der Sportnachrichten.
⇒ Hierarchische Klassifikation berücksichtigtBeziehungen der Klassen zueinanderBeziehungen der Klassen zueinander.
153
DATABASESYSTEMSGROUP
Beispiel zur hierarchischen KlassifikationGROUP
Nachrichtenklassen Alle
Sport Politik Wirtschaft
Ballsport Motorsport Kampfsport … …
• Klassen sind in einer Taxonomie organisiert! (is-a Beziehungen)• Es gilt: Gehört ein (Trainings-)Objekt o zu Klasse C1, dann gehört
h ll Kl C di Ob kl C i do auch zu allen Klassen Ci , die Oberklassen von C1 sind.⇒ es reicht aus, wenn die Trainingsdokumente, ihrer
speziellsten Klasse zugeordnet sind.• Top-Down Klassifikation in der Taxonomie:
Damit Objekt zur Klasse gehört, muss es zur Vaterklasse gehören.• Achtung: Es gibt auch andere Arten von hierarchischen Klassifikatoren,
154
g g ,die Klassen-Ähnlichkeiten ausnützen!
DATABASESYSTEMSGROUP
Aufbau von hierarchischen KlassifikatorenGROUP
Für die Klassifikatoren Ki ist prinzipiell jedes Klassifikationsverfahren anwendbar.
A fb d Kl ifik ti t
K1
K2 K3 K4Aufbau des Klassifikationssystems:
• 1 Objekt hat genau eine Klasse:
P i K i d
K2 K3 K4
Pro inneren Knoten wirdein Klassifikator trainiert.
• 1 Objekt kann mehrere Klassen haben:Pro Kante wird ein
K1 K2K3
Pro Kante wird einKlassifikator trainiert. K4 K5
K6K7
K8K9 K10
155
DATABASESYSTEMSGROUP
Training von hierarchischen KlassifikatorenGROUP
Top-Down Training für eindeutige Klassenzugehörigkeit:Top Down Training für eindeutige Klassenzugehörigkeit:Trainingsmenge TR
• Trainiere K mit TR für Klassen C C C All• Trainiere K1 mit TR für Klassen C1,C2,C3
• Trainiere K2 mit TRC1={x∈TR|class(x) = C1}fü Kl C d C
K1
All
für Klassen C4 und C5
• Trainiere K3 mit C1 C2 C3TRC2
={x∈TR|class(x) = C2}für Klassen C6, C7, C8
• …
C1
K2 K3 K4
C6 C7 C8 C9 C10C4 C5
156
DATABASESYSTEMSGROUP
Training von hierarchischen KlassifikatorenGROUP
Top-Down Training für mehrfache Klassenzugehörigkeit:Trainingsmenge TR, Class(o) = {Menge der Klassen von o}
• Trainiere K1 mit TR für Klassen C1, Other All1 1,wobeiTRC1
= {x ∈ TR| C1 ∈ Class(x)}TR h = {x ∈ TR| C1 ∉ Class(x)}
All
K1 K3TRother = {x ∈ TR| C1 ∉ Class(x)}…. • Trainiere K4 mit TR für Klassen C4, Other
wobei C1 C2 C3
K1K2
K3
wobeiTRC4 = {x ∈ TRC1
| C4 ∈ Class(x)}TRother = {x ∈ TRC1
| C4 ∉ Class(x)}
C1 C2 C3
K4K5
K6 K8
9 K10…
C6 C7 C8 C9 C10C4 C5
K5K7
K9 K10
157
DATABASESYSTEMSGROUP
Klassifikation mit hierarchischen KlassifikatorenGROUP
Greedy-Ansatz: o
K1
AllKlassifikation von Objekt o
1. Klassifiziere o mit K1 K1
C1 C2 C3
1=> Ct ∈{C1, C2, C3}
2. Gehe zu Ct und klassifiziere C1
K2 K3 K4
2. Gehe zu Ct und klassifiziereo mit Kt : …
Klassifikation entlang desC6 C7 C8 C9 C10C4 C5
Klassifikation entlang des Pfades auf dem die jeweils vorhergesagte Klasse liegt.g g g
Abbruch wenn Blatt erreicht ist. o gehört zu C8.
158
DATABASESYSTEMSGROUP
Klassifikation mit hierarchischen KlassifikatorenGROUP
All
Vorteile des Greedy-Ansatz: o
K1
All1. EffizienzNur ein Pfad in der Taxonomie muß besucht werden.
C1 C2 C32. Taxonomie beliebig
Blätter dürfen auf unterschiedlicher Höhe li K2 K4
C9 C10C4 C5
liegen.
3. Beliebige Klassifikatoren anwendbar.o gehört zu C2.
C9 C10C4 C5Nachteil des Greedy-Ansatzes:Fehler bei Vaterknoten können nicht durch korrekte Behandlung bei den Söh li h d D hSöhnen ausgeglichen werden. D.h.
Falls K1 nur 55 % Genauigkeit leistet, kann Klassifikationsgüte des gesamten Klassifikators nur schlechter werden
159
gesamten Klassifikators nur schlechter werden.
DATABASESYSTEMSGROUP
Klassifikation mit hierarchischen KlassifikatorenGROUP
Vollständige hierarchische Klassifikation
Bedingungen:
1. alle Blätter auf selber Höhe. K1
All
2. Klassifikator liefert Wahrscheinlichkeiten/Konfidenzwerte für jede Klasse.
B h K fid /W h h i li hk iC1 C2 C3
0,40,45
0,15
⇒ Berechne Konfidenz/Wahrscheinlichkeitjeder Blattklasse.
Bsp: P(C |o) = P(C |o) P(C |o∈C )
K2 K3 K4
0,9 0,1 0,40,3
0,3 0,5 0,5Bsp: P(C4|o) = P(C1|o) ⋅P(C4|o∈C1)
= 0,4 ⋅ 0,9 = 0,36
A l i h b i F hlkl ifik ti ö li h
C6 C7 C8 C9 C10C4 C50,3
0,36 0,04 0,18 0,135 0,135 0,075 0,075
Ausgleich bei Fehlklassifikation möglich.
Nachteile: - schlechte Effizienz- von der Güte der berechneten
wahrscheinlichstes Blatt
160
von der Güte der berechnetenKonfidenzwerte abhängig.
DATABASESYSTEMSGROUP
Klassifikation bei mehrfacher Klassenzugehörigkeit
GROUPg g
Bestimme alle Klassen im Baum zu denen Objekt o gehört.
1. Klassifiziere o mit K1, K2, K3:Falls Ki Klasse Ci vorhersagt, gehezu Knoten C {C C }
Allzu Knoten Ci.. {C1, C3}
2. Für alle erreichten Knoten Ci, bestimmeKlassifikatoren auf Kanten zu Sohnknoten.{K K K K }
K1K2
K3
{K4,K5, K9, K10}3. Klassifiziere o mit diesen Klassifikatoren
und bestimme alle erreichten Sohnknoten C1 C2 C3
…
• Sagt nicht nur Blätter sondernK4
K5
K6
K7
K8
K9 K10
beliebige Klassen vorher !!!• Fehler in allgemeinen Knoten
können viele falsche Klassen imC6 C7 C8 C9 C10C4 C5
K7
Cl ( ) {C5 C10}
161
Ergebnis bewirken. Class(o) = {C5, C10}
DATABASESYSTEMSGROUP
Diskussion hierarchische KlassifikationGROUP
Ziel: Miteinbeziehen von Taxonomien für schnellere und genauere Klassifikation.
Anwendungsbereich: Probleme mit vielen Klassen die bereitsin Taxonomie organisiert sind. (z B Webpages nach Yahoo Taxonomie Proteinklassen )(z.B. Webpages nach Yahoo-Taxonomie, Proteinklassen,..)
Eigenschaften:⇒ schnelle Klassifikation mit Greedy-Ansatz⇒ schnelle Klassifikation mit Greedy Ansatz.
⇒ vollständige hierarchische Klassifikation sehr aufwendig.
⇒ Steigerung der Klassifikationsgüte hängtvon Anwendung ab.
⇒ In der Regel mäßige Verbesserung der Genauigkeit im Vergleich zu flachen Klassensystemenflachen Klassensystemen.
⇒ Klassifikation mit mehrfachen Klassenzugehörigkeiten ordnet Objekt eine Teilmenge aller möglichen Klassen zu.
162