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