Methoden zur Klassifikation - OptiV
Methoden zur Klassifikation - OptiV
Methoden zur Klassifikation - OptiV
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Inhaltsverzeichnis<br />
<strong>Methoden</strong> <strong>zur</strong> <strong>Klassifikation</strong><br />
Mike Hüftle<br />
31. Juli 2006<br />
1 Einleitung 2<br />
1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
2 Diskriminanzanalyse 3<br />
2.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />
2.2 <strong>Methoden</strong>beschreibung . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
2.3 <strong>Methoden</strong>beschreibung . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
2.3.1 Nebenpfad: Klassifizierung von Objekten . . . . . . . . . 6<br />
2.4 Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
3 Naive Bayes-Klassifikatoren 8<br />
3.1 <strong>Methoden</strong>beschreibung . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
3.2 Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />
3.2.1 Nebenpfad: Bedingte Wahrscheinlichkeiten für das Beispiel 9<br />
3.3 Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />
4 Bayes-Netzwerke 12<br />
4.1 <strong>Methoden</strong>beschreibung . . . . . . . . . . . . . . . . . . . . . . . . 12<br />
4.2 Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />
5 Entscheidungsbäume 14<br />
5.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
5.2 ID3-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . 15<br />
5.2.1 Nebenpfad: Window-Technik des ID3 . . . . . . . . . . . 15<br />
5.2.2 Nebenpfad: Informationskriterium . . . . . . . . . . . . . 16<br />
5.3 Anwendung von ID3 . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />
5.4 Weitere Entscheidungsbäume . . . . . . . . . . . . . . . . . . . . 19<br />
5.4.1 Nebenpfad: Pruning-Verfahren . . . . . . . . . . . . . . . 19<br />
5.4.2 Nebenpfad: . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br />
5.4.3 Nebenpfad: . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />
5.4.4 Nebenpfad: GID3-IV-Algorithmus . . . . . . . . . . . . . 22<br />
5.4.5 Nebenpfad: SLIQ-Algorithmus . . . . . . . . . . . . . . . 22<br />
5.4.6 Nebenpfad: Chaid-Algorithmus . . . . . . . . . . . . . . . 23<br />
1
6 Weitere <strong>Klassifikation</strong>smethoden 24<br />
6.1 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . 24<br />
6.2 Support Vector Machines . . . . . . . . . . . . . . . . . . . . . . 25<br />
6.3 Regelgenerierungsverfahren . . . . . . . . . . . . . . . . . . . . . 26<br />
6.4 Logistische Regression . . . . . . . . . . . . . . . . . . . . . . . . 27<br />
7 Literatur und <strong>Methoden</strong>verzeichnis 28<br />
7.1 Literatur <strong>zur</strong> Diskriminanzanalyse . . . . . . . . . . . . . . . . . 28<br />
7.1 Literatur zu Naiven-Bayes-Klassifikatoren und Bayes-Netzwerken 28<br />
7.1 Literatur zu Entscheidungsbäumen . . . . . . . . . . . . . . . . . 29<br />
7.1 Literatur zu weiteren Verfahren . . . . . . . . . . . . . . . . . . . 30<br />
7.1 <strong>Methoden</strong>verzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />
2
<strong>Klassifikation</strong><br />
vs.<br />
Segmentierung<br />
Vorgehensweise<br />
bei der<br />
<strong>Klassifikation</strong><br />
1 Einleitung<br />
1.1<br />
Neben der Segmentierung ist die <strong>Klassifikation</strong> die zweite Möglichkeit, um Objekte<br />
in verschiedene Gruppen oder Klassen einzuteilen. Im Gegensatz<br />
<strong>zur</strong> Segmentierung setzt die <strong>Klassifikation</strong> jedoch die Kenntnis des Kriteriums<br />
voraus, nach dem die Gruppierung durchgeführt wird. Es werden also Objekte<br />
mit unbekannter Gruppenzugehörigkeit der richtigen Gruppe zugeordnet.<br />
Um eine Zuordnung zu ermöglichen wird bei allen <strong>Methoden</strong> der <strong>Klassifikation</strong><br />
eine Entscheidungsfunktion oder Regel vorausgesetzt, nach der die Daten<br />
in Gruppen eingeteilt werden.<br />
Diese Funktion oder Regel wird aus einer Menge von Trainingsdaten erlernt,<br />
von denen die Einteilung in die verschiedenen, im voraus festgelegten Gruppen<br />
bekannt ist. Die so abgeleiteten Klassifizierungsmodelle können beispisweise die<br />
Form von <strong>Klassifikation</strong>sregeln der Form ” wenn-dann“ oder von Neuronalen<br />
Netzen haben.<br />
Anwendungsbereiche Typische Beispiele für die Anwendung der <strong>Klassifikation</strong> sind die medizinische<br />
der Diagnose anhand von Krankheitssymptomen, die Überprüfung der Korrektheit<br />
<strong>Klassifikation</strong> von Steuererklärungen oder das Filtern von Spam-Emails.<br />
3
2 Diskriminanzanalyse<br />
2.1 Allgemeines<br />
Die Diskriminanzanalyse ist ein multivariates statistisches Verfahren <strong>zur</strong><br />
Analyse von Gruppenunterschieden und <strong>zur</strong> Prognose der Gruppenzugehörigkeit<br />
von Objekten.<br />
Die Diskriminanzanalyse gehört wie auch die Regresionsanalyse oder die Varianzanalyse<br />
<strong>zur</strong> Gruppe der strukturprüfenden statistischen Verfahren.<br />
Während die Merkmalsvariablen der Objekte metrisch skaliert sein müssen, wird<br />
die Gruppenzugehörigkeit durch eine nominal skalierte Variable ausgedrückt.<br />
Mittels der Diskriminanzanalyse werden Objekte, die bestimmte Kombinationen<br />
von Merkmalsausprägungen haben, in vorher bekannte Gruppen eingeordnet.<br />
Dabei wird versucht, aus einer Trainingsmenge, deren Klassenzugehörigkeit<br />
bekannt ist, eine Diskriminanzfunktion zu schätzen, welche die Objekte der<br />
Stichprobe richtig klassifiziert.<br />
Weitere Objekte, deren Klassenzugehörigkeit unbekannt ist, können anhand<br />
dieser Funktion mit einer gewissen Wahrscheinlichkeit einer Klasse zugeordnet<br />
werden.<br />
4
2.2 <strong>Methoden</strong>beschreibung<br />
<strong>Methoden</strong>beschreibung Das Ziel der Diskriminanzanalyse ist, die Werte eines abhängigen Merkmals<br />
durch die Werte von einem oder mehreren unabhängigen Merkmalen zu erklären.<br />
Dazu müssen zunächst anhand von Objekten, für welche die Merkmalsausprägungen<br />
bekannt sind, eine oder mehrere Diskriminanzfunktion(en) geschätzt<br />
werden. Diese dienen dann <strong>zur</strong> <strong>Klassifikation</strong> des abhängigen Merkmals, wenn<br />
nur die unabhängigen Merkmale eines Objektes beobachtet wurden.<br />
Der Ablauf der Diskriminanzanalyse lässt sich in zwei Schritte gliedern.<br />
1. Im ersten Schritt werden die Gruppen definiert sowie eine Diskriminanzfunktion<br />
geschätzt und geprüft (die Definition der Gruppen kann sich unmittelbar<br />
aus dem realen Problem ergeben oder das Ergebnis einer vorgeschalteten<br />
Clusteranalyse sein).<br />
2. Im zweiten Schritt werden neue Objekte klassifiziert.<br />
Die Vorgehensweise der Diskriminanzanalyse ist ähnlich der Regressionsanalyse,<br />
jedoch hat das abhängige Merkmal nominalesoder ordinales Skalenniveau<br />
und drückt somit eine Gruppenzugehörigkeit aus (vgl. Tabachnik/ Fidell 1996,<br />
S. 507 ff.).<br />
Eine zu schätzende Diskriminanzfunktion hat die Form<br />
D = b0 + b1 · X1 + b2 · X2 + ... + bn · Xn<br />
mit den unabhängigen Merkmalen Xi und den zu schätzenden Koeffizienten bi,<br />
mit denen die Merkmale in die Diskriminanzfunktion eingehen. D ist der so<br />
genannte Diskriminanzwert.<br />
5
Schätzung der<br />
Diskriminanzfunktion<br />
Überprüfung<br />
der Güte der<br />
Diskriminanzfunktion<br />
2.3 <strong>Methoden</strong>beschreibung<br />
Es gibt eine Reihe von Verfahren <strong>zur</strong> Schätzung der Diskriminanzfunktion.<br />
Das bekannteste ist der Ansatz von Fisher, welcher die Koeffizienten bi so<br />
wählt, dass die Funktionswerte der Diskriminanzfunktion für verschiedene Gruppen<br />
möglichst weit auseinanderliegen bzw. das Verhältnis von erklärter Streuung<br />
(zwischen den Gruppen) zu nicht erklärter Streuung (innerhalb der Gruppen)<br />
möglichst groß ist.<br />
max<br />
G<br />
G<br />
g=1<br />
g=1 ng · ( ¯ Dg − ¯ D) 2<br />
ng<br />
i=1 (Dgi − ¯ Dg)<br />
Streuung zwischen den Gruppen<br />
=<br />
2 Streuung innerhalb der Gruppen<br />
Hierbei ist ng die Anzahl der Fälle in einer Klasse g, ¯ D das gesamte Mittel aller<br />
Diskriminanzwerte D, ¯ Dg das Mittel aller Diskriminanzwerte in einer Klasse g<br />
und Dgi der Diskriminanzwert des i-ten Falles in der Klasse g (vgl. Tabachnik/Fidell<br />
1996, S. 514 f.).<br />
Dieses Maximierungsproblem wird über ein Eigenwertproblem gelöst. Weitere<br />
Diskriminanzfunktionen werden so ermittelt, dass diese einen maximalen Anteil<br />
der bis dahin nicht erklärten Streuung erklären können.<br />
Die gebräuchlichsten Kriterien <strong>zur</strong> Überprüfung der Güte der Diskriminanzfunktion<br />
sind der kanonische Korrelationskoeffizient und Wilks Lambda<br />
im Falle zweier Gruppen sowie das multivariate Wilks Lambda bei mehreren<br />
Gruppen. Mit der Anwendung von Wilks Lambda sind Wahrscheinlichkeitsaussagen<br />
über die Unterschiedlichkeit der Gruppen möglich. Hierdurch kann die<br />
statistische Signifikanz ermittelt werden.<br />
Der Kanonische Korrelationskoeffizient misst den Anteil der Streuung zwischen<br />
den Klassen an der gesamten Streuung der Daten. Je größer der Wert des Koeffizienten<br />
ist, desto größer ist die Streuung der Merkmalsausprägungen zwischen<br />
den Gruppen, im Verhältnis <strong>zur</strong> Streuung innerhalb der Gruppen.<br />
Klassifizierung Die Klassifizierung von Objekten mit unbekannter Klassenzugehörigkeit<br />
lässt sich nach verschiedenen <strong>Methoden</strong> durchführen. Zu den bekanntesten gehören<br />
die Distanzmethode, das Wahrscheinlichkeitskonzept und die Klassifizierungsfunktionen<br />
von Fischer.<br />
6
2.3.1 Nebenpfad: Klassifizierung von Objekten<br />
Distanzmethode Gemäß der Distanzmethode wird ein neues Objekt derjenigen Gruppe g zugeordnet<br />
deren mittlerer Distanzwert ¯ Dg dem Distanzwert Dgi des zu klassifizierenden<br />
Objektes am nächsten liegt.<br />
Bei mehreren Diskriminanzfunktionen reicht die Berücksichtigung der signifikanten<br />
Funktionen aus. Die Distanzmethode setzt gleiche Streuungenin den<br />
verschiedenen Gruppen voraus. Ist dies nicht der Fall, so müssen modifizierte<br />
Distanzen verwendet werden.<br />
Wahrscheinlichkeitskonzept Das Wahrscheinlichkeitskonzept ist die flexibelste Methode <strong>zur</strong> Klassifizierung.<br />
Es ermöglicht die Berücksichtigung von A-priori-Wahrscheinlichkeiten<br />
Pi(g), die vor der Durchführung der Diskriminanzanalyse bekannt sind oder<br />
geschätzt werden.<br />
Diese geben an, mit welcher Wahrscheinlichkeit ein Objekt i einer bestimmten<br />
Gruppe g angehört. Hieraus wird mittels des Satzes von Bayes die Wahrscheinlichkeit<br />
P (g|Di) berechnet, mit der ein Objekt mit einem bestimmten Distanzwert<br />
Di zu einer Gruppe g gehört.<br />
Fischer’s Klassifizierungsfunktionen<br />
P (g|Di) = G P (Di|g)·Pi(g)<br />
; g = 1, ..., G<br />
P (Di|g)·Pi(g)<br />
g=1<br />
P (Di|g) sind bedingte Wahrscheinlichkeiten, die angeben wie wahrscheinlich ein<br />
Diskriminanzwert Di für Objekt i wäre, wenn es <strong>zur</strong> Gruppe g gehören würde.<br />
Zusätzlich können Fehlklassifikationskosten berücksichtigt werden, die falsche<br />
<strong>Klassifikation</strong>en in bestimmte Gruppen bestrafen.<br />
Fischers Klassifizierungsfunktionen sind ein Hilfsmittel, um eine Klassifizierung<br />
ohne Anwendung der Diskriminanzfunktion vornehmen zu können. Die<br />
Methode ist nur durchführbar wenn gleiche Streuung innerhalb der Gruppen<br />
unterstellt werden kann.<br />
Für jede Gruppe ist eine Klassifizierungsfunktion zu bestimmen. Zur Klassifizierung<br />
eines Objektes sind dessen Funktionswerte für jede Klassifizierungsfunktion,<br />
also jede Gruppe, zu berechnen. Das Objekt wird der Gruppe zugeordnet,<br />
für die der berechnete Funktionswert maximal ist. Auch hier können A-priori-<br />
Wahrscheinlichkeiten berücksichtigt werden.<br />
7
2.4 Anwendung<br />
Anwendungsvoraussetzungen<br />
Vor der Durchführung einer Diskriminanzanalyse sollte sichergestellt werden,<br />
dass die Trainingsdaten keine Objekte enthalten, welche gleichzeitig zu<br />
mehr als einer Klasse gehören.<br />
Außerdem sollte der Umfang der Trainingsdaten mindestens doppelt so<br />
groß sein wie die Anzahl der Merkmale und deren Anzahl sollte auf jeden Fall<br />
größer sein als die Anzahl der vorgegebenen Klassen. Andernfalls werden Testdatensätze<br />
erheblich schlechter klassifiziert als die Trainingsdaten.<br />
Die Schätzung der Diskriminanzfunktion sollte zunächst nach Wilks Lambda<br />
erfolgen und die Interpretation graphisch überprüft werden. Bei der eigentlichen<br />
Klassifzierung sollten nur die signifikantesten Diskriminanzfunktionen in<br />
die Analyse einbezogen werden.<br />
FehlklassifikationenDen Fehlern der Diskriminanzanalyse, die in falschen Gruppenzuordnungen<br />
zum Ausdruck kommen, muss nicht unbedingt eine falsche Parameterwahl<br />
zugrunde liegen. Vielmehr ist oft das dahinter liegende Modell fehlerhaft. Nur<br />
selten ist es möglich, eine abhängige Variable vollständig durch unabhängige<br />
Variablen zu beschreiben, da häufig nicht erfassbare oder quantifizierbare Einflussfaktoren<br />
existieren.<br />
Sind alle Objekte richtig zugeordnet worden, besagt dies lediglich, dass die Zusammenhänge<br />
in den Trainingsdaten richtig dargestellt wurden. Daraus folgt<br />
jedoch nicht automatisch, dass dies auch für eine <strong>Klassifikation</strong> von Objekten<br />
mit unbekannter Klassenzugehörigkeit gilt. Dies ist lediglich dann der Fall, wenn<br />
die Trainingsdaten die Grundgesamtheit aller Objekte sehr gut repräsentiert und<br />
die neu zu klassifizierenden Objekte ebenfalls dieser Grundgesamtheit entstammen.<br />
Gibt es Unterschiede zwischen der Struktur der Grundgesamtheit und der<br />
Trainingsdaten, so ergeben sich systematische Verzerrungen.<br />
8
3 Naive Bayes-Klassifikatoren<br />
3.1 <strong>Methoden</strong>beschreibung<br />
Allgemeines Die Bayes-<strong>Klassifikation</strong> ist eine statistische <strong>Klassifikation</strong>smethode, welche<br />
die Wahrscheinlichkeit vorhersagt, mit der ein Objekt zu einer bestimmten<br />
Gruppe gehört.<br />
Die Bayes-<strong>Klassifikation</strong> basiert auf der Formel von Bayes, mit der die bedingte<br />
Wahrscheinlichkeit eines Ereignisses unter einer Bedingungen berechnet<br />
werden kann. Naive Bayes-Klassifikatoren vereinfachen das Problem, indem sie<br />
die Gültigkeit der Unabhängigkeitsannahme voraussetzen.<br />
Diese besagt, dass die Auswirkung eines Merkmales auf die Klassifizierung unabhängig<br />
von den Ausprägungen anderer Attributwerte ist. Diese Annahme ist<br />
in gewissem Sinne naiv, da sie in der Realität selten gültig ist. Sie reduziert die<br />
Komplexität des Problems jedoch erheblich.[5]<br />
<strong>Methoden</strong>beschreibung Naive Bayes-Klassifikatoren repräsentieren jedes Objekt durch einen n-dimensionalen<br />
Vektor, wobei n die Anzahl der Merkmale aj eines Objektes ist. Danach wird<br />
ein Objekt derjenigen Klasse ci ∈ C zugeordnet, zu der es mit der höchsten<br />
Wahrscheinlichkeit gehört:<br />
c = arg max<br />
ci∈C P (a1,<br />
n<br />
a2, ..., an)P (ci) = arg max P (ci)<br />
ci∈C<br />
P (aj|ci)<br />
Die bedingten Wahrscheinlichkeiten P (aj|ci) werden aus den Trainingsbeispielen<br />
geschätzt.<br />
Der naive Bayes-Klassifikator ist im Vergleich mit anderen <strong>Klassifikation</strong>smethoden<br />
theoretisch der genaueste Klassifikator. In der Praxis ist dies jedoch<br />
oftmals aufgrund von Verletzungen der Unabhängigkeitsannahme und aufgrund<br />
fehlender oder fehlerhafter Daten über die bedingten Wahrscheinlichkeiten nicht<br />
der Fall.<br />
9<br />
j=0
3.2 Beispiel<br />
Beispiel Der Naive Bayes-Klassifikator wird im folgenden an einem Beispiel erläutert.<br />
Berechnung<br />
der bedingten<br />
Wahrscheinlichkeiten<br />
für<br />
das Beispiel<br />
Es soll die Kreditwürdigkeit eines potentiellen Kreditnehmers überprüft werden.<br />
Hierzu baut die Bank anhand einer Kundendatenbank einen Klassifikator<br />
für das Kreditrisiko eines Kunden auf. Die Abbildung zeigt die Kundendatenbank.<br />
Der Klassifikator wird mit den Daten aus der Kundendatenbank folgenermaßen<br />
aufgebaut: Zuerst werden die bedingten Wahrscheinlichkeiten P (aj|ci) aus den<br />
Daten geschätzt:<br />
P(Alter¡30 — Kreditw.= ” schlecht“) = 2/3; P(Alter¡30 — Kreditw.= ” gut“) =<br />
2/7; P(Alter¡30 — Kreditw.= ” sehr gut“)= 1/4; P(Alter=30-40 — Kreditw.= ” schlecht“)<br />
= 0; P(Alter=30-40 — Kreditw.= ” gut“) = 1/7; P(Alter=30-40 — Kreditw.= ” sehr<br />
gut“)=3/4; usw.<br />
Die vollständige Berechnung aller bedingten Wahrscheinlichkeiten des Beispiels<br />
finden SIe hier.<br />
Es soll ein potenzieller Kreditnehmer X auf seine Kreditwürdigkeit beurteilt werden.<br />
X hat die Attributausprägungen Alter¡30, Einkommen=2.000-5.000 eund<br />
Beruf= ” Angestellter“.<br />
Dann wird die Wahrscheinlichkeit, dass X eine schlechte Kreditwürdigkeit besitzt<br />
folgendermaßen berechnet:<br />
P(ci) n<br />
j=0 P (aj|ci) = P (Kreditw. = schlecht) · P (Alter < 30|Kreditw. =<br />
schlecht) · P (Einkommen<br />
=2.000-5.000—Kreditw.=schlecht)<br />
·P (Beruf = Angestellter|Kreditw. = schlecht)<br />
=3/14 ·2/3 · 0 · 2/3 = 0<br />
Ebenso berechnen sich die Wahrscheinlichkeit, dass seine Kreditwürdigkeit ” gut“<br />
ist zu 0,10 bzw. dass seine Kreditwürdigkeit ” sehr gut“ ist zu 0,03. Der Kunde<br />
wird somit mit der Kreditwürdigkeit ” gut“ klassifiziert.<br />
3.2.1 Nebenpfad: Bedingte Wahrscheinlichkeiten für das Beispiel<br />
P(Alter¡30 — Kreditw.= ” schlecht“) = 2/3;<br />
P(Alter¡30 — Kreditw.= ” gut“) = 2/7;<br />
10
P(Alter¡30 — Kreditw.= ” sehr gut“) = 1/4;<br />
P(Alter=30-40 — Kreditw.= ” schlecht“) = 0;<br />
P(Alter=30-40 — Kreditw.= ” gut“) = 1/7;<br />
P(Alter=30-40 — Kreditw.= ” sehr gut“) =3/4;<br />
P(Alter¿40 — Kreditw.= ” schlecht“) = 1/3;<br />
P(Alter¿40 — Kreditw.= ” gut“) = 4/7;<br />
P(Alter¿40 — Kreditw.= ” sehr gut“) =0;<br />
P(Einkommen¡2000 — Kreditw.= ” schlecht“) = 1;<br />
P(Einkommen¡2000 — Kreditw.= ” gut“) = 1/7;<br />
P(Einkommen¡2000 — Kreditw.= ” sehr gut“) = 1/4;<br />
P(Einkommen=2000-5000 — Kreditw.= ” schlecht“) = 0;<br />
P(Einkommen=2000-5000 — Kreditw.= ” gut“) = 5/7;<br />
P(Einkommen=2000-5000 — Kreditw.= ” sehr gut“) =2/4;<br />
P(Einkommen¿5000 — Kreditw.= ” schlecht“) = 0;<br />
P(Einkommen¿5000 — Kreditw.= ” gut“) = 1/7;<br />
P(Einkommen¿5000 — Kreditw.= ” sehr gut“) =1/4;<br />
P(Beruf= ” Arbeiter“ — Kreditw.= ” schlecht“) = 1/3;<br />
P(Beruf= ” Arbeiter“ — Kreditw.= ” gut“) = 4/7;<br />
P(Beruf= ” Arbeiter“ — Kreditw.= ” sehr gut“) = 1/4;<br />
P(Beruf= ” Angestellter“ — Kreditw.= ” schlecht“) = 2/3;<br />
P(Beruf= ” Angestellter“ — Kreditw.= ” gut“) = 2/7;<br />
P(Beruf= ” Angestellter“ — Kreditw.= ” sehr gut“) =3/4;<br />
P(Beruf= ” Manager“ — Kreditw.= ” schlecht“) = 0;<br />
P(Beruf= ” Manager“ — Kreditw.= ” gut“) = 1/7;<br />
P(Beruf= ” Manager“ — Kreditw.= ” sehr gut“) =0;<br />
11
3.3 Anwendung<br />
Anwendungsbereiche Naive Bayes-Klassifikatoren sind in der Textanalyse weit verbreitet. Da sie hohe<br />
Trainings- und Klassifizierungsgeschwindigkeit besitzen und mit jedem neu<br />
klassifizierten Objekt den Klassifikator verbessern, werden sie häufig <strong>zur</strong> <strong>Klassifikation</strong><br />
von E-Mails eingesetzt.<br />
Ihre guten Klassifizierungseigenschaften machen sie insbesondere beim Einsatz<br />
in Spam-Filtern sehr beliebt. Dort wurden sie z.B. von Sahami et al. [] oder<br />
Katirai [] eingesetzt.<br />
Vorteile<br />
Naiver Bayes-<br />
Klassifikatoren<br />
Nachteile<br />
Naiver Bayes-<br />
Klassifikatoren<br />
Die wichtigsten Vorteile der Anwendung von Naiven Bayes-Klassifikatoren sind:<br />
• Sie sind einfach zu implementieren.<br />
• Sie erzielen in vielen Fällen gute bis sehr gute Klassifkationsergebnisse.<br />
• Naive Bayes-Klassifikatoren lernen inkrementell, d.h. mit jedem neu<br />
klassifizierten Datensatz wird der Klassifikator genauer.<br />
Die Verwendung Naiver Bayes-Verfahren bei der <strong>Klassifikation</strong> bringt folgende<br />
Nachteile mit sich:<br />
• Abhängigkeiten zwischen den Merkmalen können nicht berücksichtigt<br />
werden.<br />
• Durch diese Unabhängigkeitsannahme ist die theoretisch mögliche <strong>Klassifikation</strong>sgenauigkeit<br />
eingeschränkt.<br />
• Bei hochdimensionalen Problemen (sehr viele Attribute) sind Bayes-Klassifikatoren<br />
nicht mehr effizient.<br />
12
4 Bayes-Netzwerke<br />
4.1 <strong>Methoden</strong>beschreibung<br />
Allgemeines Bayessche Netzwerke sind eine <strong>Klassifikation</strong>smethode, die -wie auch die<br />
Naiven Bayes-Klassifikatoren- auf dem Satz von Bayes basieren. Im Gegensatz<br />
zu den Naiven Bayes-Klassifikatoren berücksichtigen die Bayes-Netze auch<br />
Abhängigkeiten zwischen den Attributen. modellieren.<br />
<strong>Methoden</strong>beschreibung Ein bayessches Netzwerk kann als ein azyklischer,gerichteter Graph dargestellt<br />
werden, dessen Knoten Merkmale und dessen Kanten Abhängigkeiten zwischen<br />
Merkmalen darstellen.<br />
Die Knoten können Wahrscheinlichkeitswerte zwischen 0 und 1 annehmen.<br />
Mit diesen Wahrscheinlichkeiten werden neue Wahrscheinlichkeiten in den Nachfolgerknoten<br />
im Graphen berechnet. Dazu besitzt jeder Knoten eine Tabelle mit<br />
bedingten Wahrscheinlichkeiten oder eine Funktion, die aus den Wahrscheinlichkeiten<br />
seiner Vorgängerknoten, eine neue bedingte Wahrscheinlichkeit berechnet.<br />
Wenn es zu einem Knoten nur einen Vorgängerknoten gibt, kann das die<br />
einfache bedingte Wahrscheinlichkeit sein.<br />
Die Tabelle der bedingten Wahrscheinlichkeiten enthält für jede mögliche Kombination<br />
von direkten Vorgängermerkmalen V (Zi) die bedingten Wahrscheinlichkeiten<br />
für die Merkmalsausprägungen zi als P (zi|V (Zi)).<br />
Damit kann die Wahrscheinlichkeit für einen bestimmten Pfad von Merkmalsausprägungen<br />
berechnet werden:<br />
P (z1, ..., zn) =<br />
n<br />
P (zi|V (Zi))<br />
ı=1<br />
Zur <strong>Klassifikation</strong> werden einer oder mehrere Knoten im Graphen als Zielknoten<br />
ausgewählt. Diese repräsentieren die Gruppen, nach denen die Objekte<br />
klassifiziert werden sollen. Um ein Objekt zu klassifizieren werden die Wahrscheinlichkeiten<br />
der Pfade zu den gewählten Zielknoten verglichen und der Pfad<br />
bzw. der Zielknoten mit der höchsten Wahrscheinlichkeit ausgewählt.<br />
13
Erweiterungen<br />
und Varianten<br />
4.2 Anwendung<br />
Es existieren zahlreiche Erweiterungen und Varianten von Bayes-Netzen, beispielsweise<br />
<strong>zur</strong> <strong>Klassifikation</strong> von fehlerhaften oder unvollständigen Daten<br />
mit Monte-Carlo-<strong>Methoden</strong> []. Einenguten Überblick bietet Heckermann [].<br />
Anwendung Bayes-Netzwerke werden hauptsächlich in Bereichen eingesetzt, in denen es auf<br />
die Abhängigkeiten zwischen den verschiedenen Merkmalen ankommt,<br />
wie z.B. bei der Fehlerdiagnose in komplexen Systemen [].<br />
Vorteile von<br />
Bayes-<br />
Netzwerken<br />
Nachteile von<br />
Bayes-<br />
Netzwerken<br />
• Bayes-Netzwerke können Abhängigkeiten zwischen den verschiedenen<br />
Attributen modellieren.<br />
• Sie sind für den Benutzer sehr anschaulich und gut nachvollziehbar.<br />
• Sie sind relativ einfach zu implementieren.<br />
• Bayes-Netzwerke erfordern bei vielen Merkmalen und komplexen Abhängigkeiten<br />
einen hohen Rechenaufwand.<br />
• Die Abhängigkeiten zwischen den Merkmalen können bei vielen Merkmalen<br />
schnell unübersichtlich werden.<br />
• Die Abhängigkeiten werden nur dann modelliert, wenn sie als solche identifiziert<br />
werden. Die Struktur des Netzwerkes und somit die <strong>Klassifikation</strong>sergebnisse<br />
sind stark vom Benutzer abhängig.<br />
14
5 Entscheidungsbäume<br />
5.1 Allgemeines<br />
Ein Entscheidungsbaum ist ein Graph mit Baumstruktur, bei dem jeder innere<br />
Knoten ein Merkmal eines zu klassifizierenden Objektes auf die Erfüllung<br />
einer Bedingung testet. Die von diesem Knoten ausgehenden Verzweigungen<br />
entsprechen den Werten oder Wertebereichen, die diese Bedingung überprüft.<br />
Jedes Blatt des Entscheidungsbaumes repräsentiert eine Klasse bzw. die Zuordnung<br />
zu einer Klasse von Objekten.<br />
Um ein nicht-klassifiziertes Objekt einzugruppieren werden die Merkmalswerte<br />
dieses Objektes gegen die inneren Knoten des Entscheidungsbaumes getestet.<br />
Somit wird ein Pfad über alle Stufen des Baumes durchlaufen, der in einem<br />
Blatt endet und so das analysierte Objekt eingruppiert.<br />
Die Abbildung zeigt einen einfachen Entscheidungsbaum, der einen bestimmten<br />
Tag danach klassifizieren soll, ob es sich lohnt einen Ausflug zu machen<br />
oder nicht. Dies wird anhand der Attribute Wetterlage, Temperatur und Windverhältnisse<br />
geprüft. Ist z.B. die Wetterlage bewölkt und der Wind schwach, so<br />
lohnt es sich einen Ausflug zu unternehmen.<br />
Zur Generierung solcher Entscheidungsbäume wurden verschiedene Algorithmen<br />
entwickelt, von denen hier eine Auswahl vorgestellt wird.<br />
15
ID3-<br />
Algorithmus<br />
Ablauf des<br />
ID3-<br />
Algorithmus<br />
Window-<br />
Technik<br />
5.2 ID3-Algorithmus<br />
Der ID3-Algorithmus (Iterative Dichotomiser 3) von Ross Quinlan [3] ist ein<br />
im wissenschaftlichen und kommerziellen Bereich weit verbreitetes <strong>Klassifikation</strong>sverfahren.<br />
ID3 ist ein rekursiver Top-Down-Algorithmus <strong>zur</strong> Konstruktion<br />
eines Entscheidungsbaumes. Das größte Problem des Algorithmus ist die hohe<br />
Sensibilität für fehlerhafte und widersprüchliche Daten, welche Fehlklassifikationen<br />
<strong>zur</strong> Folge hat.<br />
Der ID3-Algorithmus kann generell wie folgt dargestellt werden:<br />
Nachdem zunächst gemäß der ” window-Technik“ ein erster Entscheidungsbaum<br />
erstellt wurde, wird überprüft, ob alle Beispiele eines Knotens <strong>zur</strong> gleichen<br />
Klasse gehören. Ist dies der Fall, so ist der Entscheidungsbaum fertig.<br />
Wenn nicht, so wird das informativste Merkmalausgewählt und nach diesem<br />
verzweigt. Das heißt mit Hilfe dieses Merkmals werden die Beispiele des<br />
betrachteten Knotens in Untergruppen aufgeteilt, wobei in jeder dieser Untergruppen<br />
nur Beispiele mit gleichen Merkmalswerten vorkommen. Dies wird so<br />
lange wiederholt, bis alle Beispiele in den verschiedenen Untergruppen richtig<br />
klassifiziert wurden.<br />
Das informativste Merkmal wird ermittelt, in dem für jedes Merkmal der Beispieldaten<br />
(nach dem noch nicht verzweigt wurde) berechnet wird, wie gut es<br />
die Daten klassifizieren würde. Diese <strong>Klassifikation</strong>sgüte wird von ID3 über das<br />
Informationskriterium gemessen. Dieses Kriterium quantifiziert die <strong>zur</strong> <strong>Klassifikation</strong><br />
benötigte Information, d.h. die Anzahl der Tests, die nötig sind um ein<br />
nicht klassifiziertes Objekt einer Klasse zuzuordnen. Ziel von ID3 ist es, die <strong>zur</strong><br />
<strong>Klassifikation</strong> benötigte Information im Entscheidungsbaum zu minimieren.<br />
5.2.1 Nebenpfad: Window-Technik des ID3<br />
Um die <strong>Klassifikation</strong> großer Datenmengen zu ermöglichen wurde beim ID3-<br />
Algorithmus die so genannte ” window-Technik“ verwendet. Dies ist ein iteratives<br />
Verfahren, welches mit einem gewissen Anteil der verfügbaren Beispieldaten<br />
(z.B. 10%) einen Entscheidungsbaum generiert. Dieser Anteil wird in das ” window“<br />
aufgenommen. Anhand dieses ersten Baumes werden die restlichen Daten<br />
klassifiziert.<br />
Gibt es Objekte, welche nicht richtig klassifiziert wurden, so werden diese zusätzlich<br />
dem ” window“ hinzugefügt und der Entscheidungsbaum wird neu generiert.<br />
Dies wird so lange wiederholt, bis alle Beispieldaten korrekt klassifiziert wurden.<br />
16
Vorteil der<br />
Window-<br />
Terchnik<br />
Zur<br />
<strong>Klassifikation</strong><br />
eines Objektes<br />
benötigte<br />
Information<br />
Nach einer<br />
Verzweigung<br />
benötigte<br />
Information<br />
Auswahl des<br />
informativsten<br />
Attributs<br />
Der Vorteil eines so gewonnenen Entscheidungsbaumes ist, dass zunächst eine<br />
repräsentative Auswahl aus allen Beispielen gefunden wird und somit eine<br />
schnellere <strong>Klassifikation</strong> möglich ist, als mit Bäumen, die alle Beispieldaten verwenden.<br />
5.2.2 Nebenpfad: Informationskriterium<br />
Die benötigte Information I um ein Objekt zu klassifizieren berechnet<br />
sich zu:<br />
I(s1, s2, ..., sm) = − m<br />
i=1 pi · log2(pi)<br />
wobei si die Anzahl von Objekten in der Klasse Ci und pi die Wahrscheinlichkeit,<br />
dass ein zufälliges Beispiel zu einer Klasse Ci gehört.<br />
Wenn in einem Knoten anhand eines Attributes A in s1, s2, ..., sv Teilbäume<br />
verzweigt wird, misst EA die nach der Verzweigung noch benötigte Information<br />
um ein Objekt zu klassifizieren. Sei sij die Anzahl von Beispielen der<br />
Klasse Ci im Teilbaum Sj, dann berechnet sich die <strong>zur</strong> Klassifizierung benötigte<br />
Information zu:<br />
EA = v s1j+ ... +smj<br />
j=1 s · I(s1j, ... , smj)<br />
Zur Auswahl des informativsten Attributs verwendet ID3 den Informationsgewinn<br />
G. GA misst hierbei den Gewinn, den eine <strong>Klassifikation</strong> mit Verzweigung<br />
nach Attribut A im Vergleich zu einer <strong>Klassifikation</strong> ohne das Attribut erzielt.<br />
GA = |(s1, ... , sm) − EA|<br />
GAist also die erwartete Verringerung an benötigter Information wenn der Wert<br />
des Attributs A bekannt ist. Nachdem der Informationsgewinn für jedes Attribut<br />
eines Knotens, nach dem noch nicht verzweigt wurde berechnet ist, wird das<br />
Attribut mit dem höchsten Informationsgewinn als dasjenige ausgewählt,<br />
nach dem als nächstes zu verzweigen ist.<br />
17
5.3 Anwendung von ID3<br />
Anwendungsvoraussetzungen<br />
Der ID3-Algorithmus kann unter folgenden Voraussetzungen einen Entschei-<br />
von ID3 dungsbaum generieren:<br />
Vorteile von<br />
ID3<br />
Nachteile von<br />
ID3<br />
• Die Daten müssen fehlerfrei und unverrauscht sein.<br />
• Die Merkmale müssen diskrete Werte besitzen oder bei reellen Werten<br />
müssen Intervallgrenzen festsetzbar sein. Diese Festlegung ist jedoch oft<br />
problematisch, da sie Einfluss auf die <strong>Klassifikation</strong>sgüte des Entscheidungsbaumes<br />
hat.<br />
Der ID3-Algorithmus ist insbesondere für die schnelle <strong>Klassifikation</strong> großer Datenmengen<br />
gut geeignet.<br />
Der ID3-Algorithmus bietet folgende Vorteile:<br />
• Der Lernprozess ist auch bei großen Datenmengen recheneffizient.<br />
• Die Repräsentation als Baumstruktur ist für den Anwender gut überschaubar<br />
und verständlich.<br />
• Aus dem Entscheidungsbaum können gut handhabbare Entscheidungsregeln<br />
gebildet werden.<br />
• Die Entscheidungsregeln können zum Zugriff auf Datenbanken in SQL-<br />
Abfragen übersetzt werden.<br />
Der ID3-Algorithmus hat eine Reihe von Nachteilen:<br />
• Da der Algorithmus auf eine vollständige <strong>Klassifikation</strong> aller Daten eingerichtet<br />
ist, reagiert er sehr empfindlich auf verrauschte und fehlerhafte<br />
Daten, da schon bei kleinen Änderungen der Merkmalswerte der<br />
Entscheidungsbaum entsprechend geändert wird und zu falschen <strong>Klassifikation</strong>en<br />
führt.<br />
• Da der Baum nur vorwärts aufgebaut wird und kein rückschreitendes Verbessern<br />
möglich ist, handelt es sich bei dem so gewonnenen Baum oft um<br />
ein lokales Optimum.<br />
18
• Bei ID3 kann an jedem Knoten immer nur ein Merkmal betrachtet werden<br />
kann. Es darf also kein zu klassifizierendes Objekt mehreren<br />
Klassen angehören, wie dies in der Realität oft der Fall ist.<br />
• Der Algorithmus verzweigt bevorzugt an Merkmalen mit vielen Merkmalswerten.<br />
19
Prune-<br />
Verfahren<br />
C4.5-<br />
Algorithmus<br />
CART-<br />
Algorithmus<br />
GID, SLIQ<br />
und CHAID<br />
5.4 Weitere Entscheidungsbäume<br />
Um den ID3-Algorithmus auch auf fehlerhafte, verrauschte und widersprüchliche<br />
Daten anwenden zu können wurden die so genannten Prune-Verfahren<br />
entwickelt.<br />
Der C4.5-Algorithmus behebt die Einschränkungen von ID3 in Bezug auf<br />
fehlerfreie und vollständige Daten sowie diskrete Merkmalswerte.<br />
Der CART-Algorithmus ist ein rekursiver Partitionsalgorithmus, mit dem<br />
die Beispieldaten sukzessive nach einzelnen Merkmalsausprägungen jeweils in<br />
zwei Teilmengen zerlegt werden.<br />
Zur Klassifizierung von Elementen mit fehlenden Attributwerten wurde von<br />
Quinlan der GID3-IV-Algorithmus entwickelt. SLIQ eignet sich für<br />
die Generierung von Entscheidungsbäumen aus großen Datenbanken.<br />
Der CHAID-Algorithmus wurde 1964 von Sonquist und Morgan publiziert<br />
und ist somit der Älteste der gängigen Entscheidungsbaum-Algorithmen.<br />
5.4.1 Nebenpfad: Pruning-Verfahren<br />
Pruning Da der ID3-Algorithmus den Entscheidungsbaum bis zu den Endknoten erzeugt,<br />
welche nur noch aus Beispielen einer Klasse bestehen, können die resultierenden<br />
Bäume sehr tief werden. Insbesondere bei verrauschten, fehlerhaften<br />
Daten werden Bäume erzeugt, welche zwar die Testbeispiele richtig klassifizieren,<br />
aber bei unbekannten Beispielen viele Fehler erzeugen.<br />
Um den Entscheidungsbaum nicht übermäßig stark wachsen zu lassen, wird<br />
dieser an manchen Stellen beschnitten (pruning).[2]<br />
Pre-Pruning Beim Vor-Prunen (pre-pruning) wird vor der Entwicklung des Entscheidungsbaumes<br />
mittels statistischer Analysen überprüft, ob Datensätze eliminiert<br />
werden können, die zu einem starken Wachstum des Baumes führen.<br />
Dies kann jedoch dazu führen, dass wichtige Beispiele und somit Besonderheiten<br />
der Klassifizierung nicht in den Baum aufgenommen werden.<br />
20
Aufbauendes<br />
Prunen<br />
Beim Prunen während des Aufbaus eines Entscheidungsbaumes wird<br />
bei der Generierung jedes Knotens überprüft, ob der Informationsgewinn durch<br />
eine weitere Verzweigung größer als ein festgelegter minimaler Informationsgewinn<br />
ist (Schwellenwert).<br />
Ist dies nicht der Fall, so wird nicht weiter Verzweigt. Das Festlegen dieses<br />
Schwellenwertes ist jedoch problematisch, da bei einem zu niedrigen Wert der<br />
Baum zu groß wird und bei einem zu hohen Schwellenwert zu viel Information<br />
verloren geht.<br />
Post-Pruning Beim nachträglichen Prunen (post-pruning) wird zuerst der komplette<br />
Entscheidungsbaum wie oben beschrieben aufgebaut und erst in einem zweiten<br />
Schritt werden Teilbäume durch einzelne Knoten ersetzt.<br />
Regelbasiertes<br />
Pruning<br />
C4.5-<br />
Algorithmus<br />
Vor allem das regelbasierte Pruning ist in der Praxis sehr verbreitet. Hier<br />
werden alle Beispieldaten <strong>zur</strong> Generierung eines ersten Entscheidungsbaumes<br />
herangezogen. Anschließend wird dieser als Regelmenge in die disjunktive<br />
Normalform (DNF) umgeformt.<br />
Dabei wird jeder mögliche Pfad von der Wurzel zu den Blättern ” oder“-verknüpft<br />
und die in einem solchen Pfad vorkommenden Attributwerte ” und“-verknüpft.<br />
Dann wird bei jeder Regel überprüft, ob Teile der Regel für die richtige <strong>Klassifikation</strong><br />
relevant sind.<br />
Falls Attribute irrelevant sind, so werden sie aus der Regel entfernt.<br />
Anschließend werden die Regeln auf ihre Relevanz für die <strong>Klassifikation</strong>sergebnisse<br />
getestet. Sind Regeln irrelevant, so werden sie weggelassen.<br />
Der Vorteil dieser Umformung in einzelne Regeln besteht darin, dass beim Streichen<br />
einzelner Regelteile Unterbäume zwar abgeschnitten werden, jedoch in anderen<br />
Regeln weiterhin vorkommen, so dass die hierin enthaltene Information<br />
weiterhin verfügbar ist.<br />
5.4.2 Nebenpfad:<br />
Der C4.5-Algorithmus wurde wie auch ID3 von Ross Quinlan [3] entwickelt<br />
und ist eine Erweiterung von ID3. Er behebt die Einschränkungen von ID3 in<br />
Bezug auf fehlerfreie und vollständige Daten sowie diskrete Merkmalswerte.<br />
C4.5 enthält außerdem eine erweiterte ” window-Technik“, welche den Vorgang<br />
des Baumerzeugens und -beschneidens mehrfach wiederholt.<br />
21
Erweiterungen<br />
von C4.5<br />
Die Algorithmen <strong>zur</strong> Attributauswahl und Verzweigung wurden verbessert, so<br />
dass Merkmale mit vielen Ausprägungen nicht mehr bevorzugt als Knoten<br />
ausgewählt werden.<br />
Weiterhin wurden in C4.5 verschiedene <strong>Methoden</strong> des Pruning implementiert.<br />
Von Quinlan wurden zwei Ergänzungen zu C4.5 vorgestellt, welche aufgrund statistischer<br />
Tests entscheiden können, ob die Verzweigung nach einem Merkmal<br />
sinnvoll ist und ob bei widersprüchlichen Daten aufgrund stochastischer<br />
Überlegungen eine Zuordnung der fraglichen Daten zu einer Klasse vorgenommen<br />
werden kann.<br />
Liegen Trainingsdaten mit fehlenden Attributwerten vor, so wird der Algorithmus<br />
dahingehend abgeändert, dass die Verzweigung nach einem Merkmal<br />
mit vielen fehlenden Werten wenig wahrscheinlich ist.<br />
5.4.3 Nebenpfad:<br />
Partitionsalgorithmus Der CART-Algorithmus [1] (Classification and Regression Trees) ist ein rekursiver<br />
Partitionsalgorithmus, mit dem die Beispieldaten sukzessive nach<br />
einzelnen Merkmalsausprägungen jeweils in zwei Teilmengen zerlegt werden.<br />
Bei diskreten Merkmalswerten werden alle möglichen Verzweigungen erzeugt<br />
und untersucht.<br />
Bei stetigen Merkmalsausprägungen wird wie bei C4.5 eine Schranke berechnet,<br />
nach der die Beispielmenge in einem Knoten in zwei Untermengen zerlegt wird.<br />
” Reine“<br />
Untermengen<br />
Der CART-Algorithmus versucht die Zerlegung in zwei Teilmengen so vorzunehmen,<br />
dass die Untermengen bezüglich der Klassenzugehörigkeit ” reiner“ werden<br />
als die Ausgangsmenge.<br />
Hierzu wird ein Unreinheitsmaß definiert, welches angibt wie groß die Streuung<br />
der Verteilung über die Klassen in einem Knoten ist.<br />
Wenn beispielsweise in einem Knoten die Beispiele über alle Klassen gleichverteilt<br />
sind, dann ist die Unreinheit des Knotens am größten.<br />
Für den Fall einheitlicher bzw. variabler Fehlklassifikationskosten werden<br />
beim CART-Algorithmus das Gini- bzw. das Twoing-Kriterium als Verzweigungskriterien<br />
verwendet.<br />
Klassenwahrscheinlichkeit Falls bei CART ein Endknoten vorliegt, welcher nicht weiter verzweigt werden<br />
kann, aber Objekte unterschiedlicher Klassenzugehörigkeit enthält, so wird mit<br />
22
GID3-IV-<br />
Algorithmus<br />
dem Kriterium der Klassenwahrscheinlichkeit oder der Klassenhäufigkeit<br />
festgelegt, welcher Klasse ein solcher Knoten zugewiesen wird.<br />
5.4.4 Nebenpfad: GID3-IV-Algorithmus<br />
Zur Klassifizierung von Elementen mit fehlenden Merkmalswerten<br />
wurde von Quinlan der GID3-IV-Algorithmus entwickelt. Durch eine Änderung<br />
der Merkmalsauswahl- und Verzweigungsregel des ID3 werden bei einer<br />
Verzweigung nicht alle Werte eines Merkmals erzeugt, sondern nur diese, die für<br />
die Klassifizierung wichtig sind.<br />
Somit werden mehrere Werte zu einem gemeinsamen Zweig zusammengefasst,<br />
wobei nicht auftretende Merkmalswerte auch in einen solchen gemeinsamen<br />
Zweig fallen und somit klassifiziert werden können.<br />
5.4.5 Nebenpfad: SLIQ-Algorithmus<br />
Entscheidungsbäume Der SLIQ-Algorithmus [4] wurde für die Generierung von Entscheidungsbäum-<br />
in großen en aus großen Datenbanken entwickelt.<br />
Datenbanken Algorithmen wie ID3 sind bei größeren Datenbanken ineffizient, da sie in jedem<br />
Knoten für jedes zu testende Attribut über die gesamten Trainingsbeispiele<br />
iterieren. SLIQ umgeht dies, indem die Werte für jedes Merkmal vorsortiert<br />
werden.<br />
Vorsortierung Zur Vorsortierung wird für jedes Merkmal eine Liste angelegt, welche die in<br />
der Datenbank vorhandenen Merkmalswerte und die IDs der Trainingsbeipiele<br />
enthält, die diese Merkmalswerte annehmen.<br />
Außerdem wird eine Klassenliste angelegt, in welcher gespeichert ist, welcher<br />
Baumknoten welche Klasse(n) enthält und welche Trainingsbeispiele zu diesen<br />
Klassen gehören.<br />
Verzweigung Für jede Verzweigungsentscheidung in einem Knoten kann somit in Form<br />
eines Histogramms evaluiert werden, wieviele Beispiele einer Klasse sich vor und<br />
nach einer möglichen Verzweigung in einem Knoten befinden. Nach der Verzweigungsentscheidung<br />
müssen die Klassenlisten aktualisiert werden.<br />
Für einen Verzweigungsentscheidung müssen in einem Knoten somit nur noch<br />
alle Attribute durchlaufen werden, nicht mehr die gesamte Trainingsmenge.<br />
23
Chaid-<br />
Algorithmus<br />
5.4.6 Nebenpfad: Chaid-Algorithmus<br />
Der CHAID-Algorithmus (Chi-square Automatic Interaction Detectors) wurde<br />
1964 von Sonquist und Morgan [5] publiziert.<br />
Der Hauptunterschied von CHAID zu CART und C4.5 besteht darin, dass<br />
der CHAID-Algorithmus den Entscheidungsbaum während seines Aufbaus beschneidet.<br />
Um die Merkmale, nach denen verzweigt wird auszuwählen wird der<br />
Chi-Quadrat-Unabhängigkeitstest verwendet.<br />
Dieser prüft die Stärke der Abhängigkeit zweier Merkmale. Je geringer die<br />
Abhängigkeit zwischen zwei Merkmalen ist, desto größer ist die Wahrscheinlichkeit,<br />
dass der Algorithmus nach diesen Merkmalen verzweigt.<br />
MIt dem CHAID-Algorithmus können kompaktere Bäume erzeugt werden als<br />
z.B. mit dem CART-Algorithmus. Da jedoch für alle möglichen Attributkombinationen<br />
die Abhängigkeiten geprüft werden müssen ist CHAID bei großen<br />
Problemen nicht mehr recheneffizient.<br />
24
Konstruktion<br />
trennender<br />
Ebenen<br />
Weiche<br />
Ränder<br />
6 Weitere <strong>Klassifikation</strong>smethoden<br />
6.1 Support Vector Machines<br />
Support Vector Machines (SVM) [] stellen die zu analysierenden Objekte mittels<br />
ihrer Merkmalswerte in einem Merkmalsraum dar, wobei ähnliche Objekte<br />
nahe beieinander liegen.<br />
Sie<br />
konstruieren trennende Ebenen zwischen den Daten. Dabei werden die Daten<br />
auf einer Seite der Ebene einer Klasse und die auf der anderen Seite einer anderen<br />
Klasse zugeordnet. Solch eine trennende Ebene wird Entscheidungsoberfläche<br />
genannt und durch Vektoren konstruiert, die an der Grenze zwischen<br />
zwei Klassen liegen. Diese Vektoren werden Support-Vektoren genannt.<br />
Falls die Konstruktion mehrerer solcher Ebenen zwischen zwei Klassen möglich<br />
ist, so wird diejenige ausgewählt, welche die eindeutigste Trennung ergibt.<br />
Meist ist jedoch eine eindeutige Trennung der Klassen nicht möglich. Dann werden<br />
so genannte weiche Ränder verwendet, bei denen sich auch noch jenseits<br />
einer gewissen Entfernung von der Ebene Daten der anderen Klasse befinden<br />
dürfen.<br />
Eine neu zu klassifizierendes Objekt wird in den Merkmalsraum eingeordnet.<br />
Dann kann bestimmt werden, in welcher Beziehung sie zu den Trennungsebenen<br />
steht und zu welcher Klasse sie hiermit gehört.<br />
25
6.2 Support Vector Machines<br />
Klassifizierung Einer der Vorteile der SVM gegenüber anderen <strong>Klassifikation</strong>sverfahren ist, dass<br />
ein Objekt <strong>zur</strong> <strong>Klassifikation</strong> nicht mit vielen anderen verglichen werden muss,<br />
sondern lediglich mit den Support-Vektoren. Dadurch ist das Verfahren bei<br />
der Klassifizierung sehr schnell. Dafür ist jedoch die Trainingsphase sehr<br />
langsam, da das Auffinden der Hyperebenen aufwändig ist (vgl. Yang 1999).<br />
Anwendung Die Anwendung von SVM in Spam-Filtern wird von Drucker (1999) ausführlich<br />
beschrieben. Brutlag und Meek (2000) verglichen die Ergebnisse der Klassifizierung<br />
von Ham-E-Mails mit einer linearen SVM und einem Unigram-Sprachmodell,<br />
wobei ihre <strong>Klassifikation</strong>sergebnisse eher von den verwendeten Klassen als von<br />
dem Klassifikator abhängen.<br />
26
Disjunkte<br />
Regeln als<br />
Klassifikator<br />
Ripper-<br />
Algorithmus<br />
6.3 Regelgenerierungsverfahren<br />
Regelgenerierungsverfahren, auch als regelbasierte Lernverfahren bezeichnet,<br />
lernen eine Menge von disjunktiven Regeln als Klassifikator.<br />
Die Regeln aus dieser Menge müssen hierfür die Trainingsdaten vollständig abdecken.<br />
Im ungünstigsten Fall muss also für jeden Fall eine eigene Regel gelernt<br />
werden.<br />
Der Ripper-Algorithmus ist einer der bekanntesten Algorithmen <strong>zur</strong> Regelgenerierung<br />
[]. Er erzeugt Regeln der Form<br />
(F AC53 − 1 >= 2.13625) and (F AC1 − 1 topic = ink<br />
Solche Regeln sind relativ einfach zu verstehen. Die Konstruktion der Regeln<br />
verläuft ähnlich wie die Konstruktion von Entscheidungsbäumen. Im Unterschied<br />
zu diesen wird jedoch nicht ein Kriterium gesucht, das alle Objekte<br />
möglichst gut ihrer Klasse zuordnet, sondern es werden beim Erzeugen der Regeln<br />
nur Instanzen einer Klasse betrachtet.<br />
Die so erstellten Regeln sind im allgemeinen genauer als Entscheidungsbäume<br />
der gleichen Komplexität. Das Ergebnis des Algorithmus ist eine Liste von<br />
Regeln, mittels derer die Objekte klassifiziert werden können.<br />
27
6.4 Logistische Regression<br />
Die logistische Regression ist ein statistisches Verfahren <strong>zur</strong> <strong>Klassifikation</strong> kategorialer<br />
abhängiger Merkmale [].<br />
Im Gegensatz <strong>zur</strong> Regressionsanalyse erfordert sie weit weniger Voraussetzungen<br />
zu ihrer Anwendung (keine Normalverteilung der Residuen, keine Homogenität<br />
der Varianz).<br />
Die logistische Regression geht ähnlich wie die Diskriminanzanalyse vor. Sie<br />
ist jedoch flexibler und deshalb vielfältiger einsetzbar.<br />
28
7 Literatur und <strong>Methoden</strong>verzeichnis<br />
7.1 Literatur <strong>zur</strong> Diskriminanzanalyse<br />
Literaturverzeichnis<br />
[] Bortz, J.: Statistik für Sozialwissenschaftler, Berlin 1989, S. 736ff.<br />
[] Backhaus, K., B. Erichson, W. Plinke u. R. Weiber: Multivariate Analysemethoden.<br />
Eine anwendungsorientierte Einführung, 9. Auflage, Berlin<br />
2000, S. 145ff.<br />
[] Cooley, W.F./Lohnes, P.R. : Mulivariate Data Analysis, New York 1971.<br />
[] Lachenbruch, P.A.: Discriminant Analysis, 2nd edition, London 1975.<br />
[] Morrison, D.F.: Multivariate Statistical Methods, 3rd edition, New York<br />
1990.<br />
7.1 Literatur zu Naiven-Bayes-Klassifikatoren und Bayes-<br />
Netzwerken<br />
Literaturverzeichnis<br />
Einführende Literatur zu Naiven Bayes-KlassifikatorenMitchell,<br />
T.: Machine Learning. MacGraw-Hill 1997, Kap. 6, pp 154-184.<br />
Weiterführende Literatur zu Naiven Bayes-Klassifikatoren<br />
Domingo, P./Pazzani, M.: On the optimality of the simple Bayesian<br />
classifier under zero-one loss, in: Machine Learning, Vol. 29, 1997, pp.<br />
103-130. Katirai, H.: Filtering Junk E-Mail-A Performance Comparison<br />
between Genetic Programming & Naive Bayes, University of Waterloo<br />
1999, auf URL: web.mit.edu/ hooman/www/papers/katirai99filtering.pdf<br />
(10.09.2005) Sahami, M./Dumais, S./Heckermann, D./Horvitz, E.: A<br />
Bayesian approach to filtering junk e-mail, in: AAAI-98 Workshop on<br />
Learning for Text Categorization, 1998. Sahami, M.: Learning limited<br />
dependence Bayesian classifiers, in: KDD-96: Proceedings of the Second<br />
International Conference on Knowledge Discovery and Data Mining,<br />
AAAI Press, 1996, pp. 335-338. Upal, M.A./Neufeld, E.M.: Comparison of<br />
Bayesian and Neural Net Unsupervised Classifiers, in: Proceedings of the<br />
Information, Statistics and Induction in Science, World Scientific, 1996,<br />
pp. 342-353, auf URL: http://citeseer.ist.psu.edu/upal96comparison.html<br />
(10.09.2005)<br />
29
Literaturverzeichnis<br />
Einführende Literatur zu Bayes-Netzwerken<br />
Han, J./Kamber, M.: Data Mining: Concepts and Techniques. Morgan<br />
Kaufmann, 2000, p. 300. Jensen, F.: An Introduction to Bayesian<br />
Networks. Springer, Heidelberg New York 1996.<br />
Weiterführende Literatur zu Bayes-Netzwerken<br />
Friedman, N./Geiger, D./Goldszmidt, M: Bayesian network<br />
classifiers, in: Machine Learning, 1997, auf URL:<br />
http://citeseer.ist.psu.edu/article/friedman97bayesian.html (9.9.2005)<br />
Geman, S./Geman, D.: Stochastic relaxation, Gibbs distributions<br />
and the Bayesian restoration of images, in: IEEE Transactions on<br />
Pattern Analysis and Machine Intelligence, Vol. 6, 1984, pp. 721-<br />
742. Heckerman, D.: Bayesian networks for data mining, auf URL:<br />
http://research.microsoft.com/research/pubs/view.aspx?msr tr id=MSR-<br />
TR-95-06 (12.09.2005) Robers, U.: Modellbasierte Fehlerdiagnose komplexer<br />
Systeme mit Hilfe Bayesscher Netze, Jahresbericht 1998 des<br />
Zentrums für Beratungssysteme in der Technik, Dortmund e.V., auf<br />
URL: http://www.zedo.fuedo.de/zedo/jb98/robers.htm (15.9.2005)<br />
7.1 Literatur zu Entscheidungsbäumen<br />
Literaturverzeichnis<br />
Einführende Literatur<br />
Ester M., Sander J. : Knowledge Discovery in Databases: Techniken<br />
und Anwendungen, Springer, Heidelberg New York 2000. Han,<br />
J./Kamber, M.: Data Mining: Concepts and Techniques, Morgan Kaufmann,<br />
San Mateo 2000. Quinlan, J.R.: Induction of Decision Trees, in:<br />
Machine Learning, Vol. 1, 1986, pp. 81-106. Quinlan, J.R.: Generating<br />
production rules from decision trees, International Joint Conference<br />
on Artifical Intelligence, 1987, pp. 304-307 Mitchell T. M. : Machine<br />
Learning, McGraw-Hill, 1997.<br />
Literaturverzeichnis<br />
Weiterführende Literatur<br />
Breimann, L./Friedman, J.H./Olshen, R.A./Stone, C.J.: Classification<br />
and Regression Trees. Wadsworth International Group 1984.<br />
30
Quinlan, J.R.: Simplifying Decision Trees, in: International Man-Machine<br />
Studies, 1987, pp. 221-234. Quinlan, J.R.: C4.5: Programs for Machine<br />
Learning, Morgan Kaufmann, San Mateo, California 1993. Mehta,<br />
M./Agrawal, R./Rissanen, J.: SLIQ: A Fast Scalable Classifier for Data<br />
Mining, IBM Almaden Research Center, San Jose 1996, auf URL:<br />
www.almaden.ibm.com/u/ragrawal/papers/edbt96 sliq.ps Sonquist, J.A.<br />
and Morgan, J.N.: The Detection of Interaction Effects. Survey Research<br />
Center, Institute for Social Research, University of Michigan 1964.<br />
Wallace, C./Patrick, J.: Coding decision trees, in: Macine Learning, Vol.<br />
11, 1993, pp. 7-22. Witten I. H., Frank E . : Data Mining: Practical<br />
Machine Learning Tools and Techniques with Java Implementations,<br />
Morgan Kaufmann Publishers, 2000<br />
7.1 Literatur zu weiteren Verfahren<br />
Literaturverzeichnis<br />
[] [] [1] [2] [3] [4] [5] [1] [2] [3] [4] [5] [6] [7] Backhaus, K., B. Erichson, W. Plinke u. R. Weiber (2000): Multivariate<br />
Analysemethoden. Eine anwendungsorientierte Einführung, 9. Auflage,<br />
Berlin.<br />
[] Burgess, C.: A Tutorial on Support Vector Machines for Pattern Recognition,<br />
in: Data Mining and Knowledge Discovery, Vol. 2, 1989, pp.121-167.<br />
[] Cohen, William W.: Fast Effective Rule Induction, from: Machine Learning:<br />
Proceedings of the Twelfth International Conference, 1995.<br />
[] Joachims, T.: A Statistical Learning Model of Text Classification for Support<br />
Vector Machines. In: Proceedings of SIGIR’01, New Orleans 2001.<br />
[] Mitchell, T.: Machine Learning. McGraw-Hill, 1997.<br />
7.1 <strong>Methoden</strong>verzeichnis<br />
Verzeichnis der erläuterten <strong>Methoden</strong><br />
Bayes-Netzwerke<br />
C4.5-Algorithmus<br />
CART-Algorithmus<br />
CHAID-Algorithmus<br />
Diskriminanzanalyse<br />
GID3-Algorithmus<br />
ID3-Algorithmus<br />
Logistische Regression<br />
Naive-Bayes-<strong>Klassifikation</strong><br />
31
Prune-Verfahren<br />
Regelgenerierung<br />
Ripper-Algorithmus<br />
SLIQ-Algorithmus<br />
Support Vector Machines (SVM)<br />
Window-Technik<br />
32