Lernen von Klassifikationen
Gegeben: Trainingsbeispiele: Paare der Form (xi, f(xi)) Gesucht: Funktion f, die die Trainingsbeispiele klassifiziert.
(a): Lernen mit Trainingsdaten
(b): Genauigkeitsüberprüfung mit Testdaten
Aspekte der Klassifikationslernens
Datenvorverarbeitung:
• Datensäuberung (Reduktion von Rauschen und fehlenden Werten)
• Relevanz-Analyse
• Datentransformation (z.B. Verallgemeinerung mit Konzept-Hier- archien, Verallgemeinerung numerischer Werte, Normalisierung) Kriterien zum Vergleich von Klassifikationslernverfahren:
• Vorhersagegenauigkeit
• Effizienz
• Robustheit
• Skalierbarkeit
• Interpretierbarkeit
• Inkrementalität (Bei großen Datenmengen: ↓, bei kleinen:↑) Verfahren:
• Induktion von Entscheidungsbäumen (ID3) und Regeln
• [Bayes Theorem, Bayessche Netze]
• [K-nearest neighbor und fallbasierte Klassifikation]
• [Perceptrons, Backpropagation]
• lineare und multiple Regression, [nichtlineare Regression]
• Versionenraumlernen, Stern-Methode
Einteilung von Lernverfahren
Lernen als Suche
Man kann sich den Lernprozess häufig als Suche nach einer geeigneten Hypothese in einem vorgegebenen Hypothesen- raum vorstellen. Mögliche Suchstrategien sind:
• Hill-Climbing-Suche (Greedy-Algorithmen): Allgemeine Hypothesen werden schrittweise spezialisiert (z.B. ID3, Star- Methode)
• Breitensuche mit schrittweiser Verfeinerung (z.B. Apriori- Algorithmus, Versionenraumlernen)
• Gradientensuche (Gradientenabstieg): Wenn Hypothesen- räume aus Funktionen mit vorgegebener Struktur und nume- rischen, zu lernenden Parametern bestehen, werden die Pa- rameter häufig schrittweise in Richtung der stärksten Fehler- minimierung verändert (z.B. Perceptron, Backpropagation).
• Stochastische Suche: Suche, die auch größere Sprünge im Hypothesenraum zulässt (z.B. simulated annealing, gene- tische Algorithmen).
Lernen als Berechnung:
Funktionen mit vorgegebener Struktur und numerischen, zu lernenden Parametern können auch direkt durch Formeln berechnet werden (z.B. Regression, Bayes’ Theorem).
Lernen als verzögerte Abstraktion (lazy abstraction):
Statt die Lernbeispiele zu verallgemeinern und die abstrahierten Strukturen zur Klassifikation neuer Fälle zu nutzen, kann man auch die Beispiele unverändert lassen und erst bei der Klassifi- kation neuer Fälle Verallgemeinerungswissen anwenden (z.B.
k-nearest-neighbor, fallbasiertem Schließen).
Induktion von Entscheidungsbäumen
Algorithmus:
Input: The training samples, samples, represented by discrete-va- lued attributes; the set of candidate attributes, attribute-list.
Output: A decision tree.
Method:
(1) create a node N;
(2) if samples are all of the same class, C then
(3) return N as a leaf node labeled with the class C;
(4) if attribute-list is empty then
(5) return N as a leaf node labeled with the most common class in samples; // majority voting
(6) select test-attribute, the attribute among attribute-list with the highest information gain;
(7) label node N with test-attribute;
(8) for each known value ai of test-attribute // sample partition
(9) grow a branch from node N for the condition test-attribute = ai; (10) let si be the set of samples in samples for which test-attribute = ai; // a partition
(11) if si is empty then
(12) attach a leaf labeled with the most common class in samples;
(13) else attach the node returned by Generate-decision-tree(si, attribute-list-test-attribute);
highest information gain: e.g. entropy
Beispiel:
Berechnung des Attributes mit größtem Informationsgewinn:
Erwartete Information: 9:5 ⇒ 0,94 (-9/14 log2 9/14 - 5/14 log2 5/14) Informationsgewinn (Alter): ≤ 30: 2:3; 31-40: 4:0; >40: 3:2 ⇒ 0,25 Informationsgewinn (Einkommen): 0,03
Informationsgewinn (Student): 0,15
Informationsgewinn (Kreditbewertung): 0,05
Beschneiden des Baumes
Problem: Wegen Anomalien (Ausreißer, Rauschen) sind generierte Entscheidungsbäume oft überspezialisiert.
Lösung: Abschneiden von weniger relevanten Zweigen im Baum und Einfügen der häufigsten Klasse in neuer Menge als Lösung.
Ansatz1 (Prepruning): Während der Generierung wird
bewertet, ob sich eine weitere Aufspaltung lohnt. Das wird mit einem Schwellwert entschieden, der auf Entropie-Gewinn oder erweitertem Chi-Quadrat-Test basiert. Problem: Festlegung des Schwellwertes.
Ansatz2 (Postpruning): Ein voll ausgewachsener Baum wird nachträglich beschnitten. Ein Zweig wird entfernt, wenn dadurch die erwartete Fehlerrate sinkt (oder nur unwesentlich steigt). Als Kriterium kann auch die resultierende Baumkomplexität dienen.
Generierung von Regeln aus Entscheidungsbäumen
Jeder Pfad eines Entscheidungsbaumes kann als eigene Regel geschrieben werden.
Beispiel: Entscheidungsbaum:
äquivalente Regeln:
IF Age ≤ 30 AND Student = no THEN buys_computer = no IF Age ≤ 30 AND Student = yes THEN buys_computer = yes
IF Age 31..40 THEN buys_computer = yes
IF Age > 40 AND credit_rating = exc. THEN buys_computer = no IF Age > 40 AND credit_rating = fair THEN buys_computer = yes
„Beschneiden“ von Regeln:
Beschneiden entspricht Weglassen einer Vorbedingung. Als Bewertungskriterium dient, ob die Genauigkeit der Regel sinkt.
Da nach Beschneiden eventuell nicht mehr alle Situationen abgedeckt werden, wird eine (oder mehrere spezialisierte) Default-Regeln hinzugefügt, die die im jeweiligen Kontext häufigste Klasse liefert.
Verbesserungen zum
Entscheidungsbaumlernen
• Behandlung numerischer Attribute: Herausfinden von guter Intervall-Aufteilung
• Alternativen zum Entropie-Maß: Da es Attribute mit vielen Alternativen bevorzugt, wurden andere Maße für Informa- tionsgewinn erprobt, z.B. erweiterter Chi-Quadrat-Test.
• Behandlung unbekannter Attributwerte: (s.o.)
• Reduktion von Fragmentierung: Beschneiden, Verwenden nur von binären Aufspaltungen (führt zur potentiellen
Wiederholung von Attributen).
• Vorverarbeitung durch Eliminierung irrelevanter Attribute bzw. Konstruktion neuer, aussagekräftigerer Attribute aus den alten.
• Inkrementeller Aufbau durch kontinuierliche Restrukturierung
• Skalierung auf große Datenmengen (nicht hauptspeicherresident)
Versionenraumlernen
Idee: Least Commitment: Es werden alle Hypothesen
repräsentiert, die noch mit den Beispielen konsistent sind.
Problem: Wie kann man alle konsistenten Hypothesen effizient repräsentieren (Analog: Wie kann man alle reellen Zahlen
zwischen 1 und 2 repräsentieren?)?
Lösung: Durch Angabe einer Ober- und Untergrenze entlang der Generalisierungs-/Spezialisierungs-Ordnung!
Die Obergrenze nennen wird G-Menge (most general
boundary; alle allgemeineren Hypothesen sind inkonsistent);
die Untergrenze S-Menge (most specific boundary; alle spezielleren Hypothesen sind ebenfalls inkonsistent).
Im allgemeinen sind die Mengen eine Disjunktion von Hypothesen, d.h.
S-Menge sei S1 v ... v Sn und G-Menge sei G1 v ... v Gm.
Algorithmus Versionenraumlernen
Initialisierung: Setze die S-Menge auf "Falsch" und die G- Menge auf "Wahr".
Aktualisierung: Für jedes neue Beispiel B tue:
• Wenn B falsch positiv für ein Si dann entferne Si aus S-Menge.
• Wenn B falsch negativ für ein Gi dann entferne Gi aus G-Menge.
• Wenn B falsch negativ für ein Si dann ersetze Si durch seine direkten Generalisierungen.
• Wenn B falsch positiv für ein Gi dann ersetze Gi durch seine direkten Spezialisierungen.
bis einer von 3 Fällen eintritt:
1. Es bleibt nur ein Konzept im Versionenraum übrig -> Lösung 2. Entweder G oder S enthalten die leere Menge -> keine Lösung 3. Es gibt keine Beispiele mehr, ohne das G und S zusammenfal-
len, -> viele Lösungen (alle Hypothesen zwischen G & S).
Beispiel für Versionenraumlernen
1 2 3 4 5 Herkunft Japan Japan Japan USA Japan Hersteller Honda Toyota Toyota Chrysler Honda
Farbe Blau Grün Blau Rot Weiß
Dekade 1980 1970 1990 1980 1980 Typ Normal Sport Normal Normal Normal
Klasse + - + - +
1. Beispiel:
G: (X1, X2, X3, X4, X5)
S: (Japan, Honda, Blau, 1980, Normal)
2. Beispiel:
G: (X1, Honda, X3, X4, X5) ∨ (X1, X2, Blau, X4, X5) ∨ (X1, X2, X3, 1980, X5) ∨ (X1, X2, X3, X4, Normal) S: (Japan, Honda, Blau, 1980, Normal)
3. Beispiel:
G: (X1, X2, Blau, X4, X5) ∨ (X1, X2, X3, X4, Normal) S: (Japan, X2, Blau, X4, Normal)
4. Beispiel:
G: (Japan, X2, Blau, X4, X5) ∨ (Japan, X2, X3, X4, Normal) S: (Japan, X2, Blau, X4, Normal)
5. Beispiel:
G: (Japan, X2, X3, X4, Normal) S: (Japan, X2, X3, X4, Normal)
Diskussion Versionenraumlernen
• inkrementelles Verfahren
• Least-Commitment-Breitensuche: Großer Speicherbedarf
• Problematisches Lernen disjunktiver Konzepte (z.B. grün oder blau) Æ Konzepthierarchien (z.B. dunkle und helle Farben)
• erfordert konsistente Beispiele
Stern(Star)-Methode
Lernt Regeln für Beispiele (typischerweise in disjunktiver Normalform, DNF) und kann Anzahl der Elemente in Konjunktionen oder Disjunktionen minimieren.
Def.: Ein Stern von einer Menge von positiven und negativen Beispielen ist die Menge aller maximal allgemeinen Ausdrücke, die alle positiven Beispiele, aber keine negativen Beispiele überdecken.
Def.: Ein reduzierter Stern ist ein Stern, der nicht mehr als eine maximale Anzahl von Ausdrücken hat.
Stern-Algorithmus:
Eingabe: Menge von positiven (P) und negativen (N) Beispielen Ausgabe: Beschreibung, die P, aber nicht N überdeckt.
1. Wähle zufällig ein positives Beispiel.
2. Generiere daraus reduzierte Sterne, die keine negativen Beispiele überdecken. Verwende dabei Verallgemeinerungs- Regeln und - falls vorhanden - Hintergrundwissen.
3. Wähle aus den reduzierten Sternen den besten Ausdruck aus.
4. Falls der Ausdruck alle positiven Beispiele überdeckt, gehe zu Schritt 6.
5. Andernfalls, entferne aus P alle überdeckten Beispiele und wiederhole das Verfahren mit der Restmenge von P.
6. Die Disjunktion der gefundenen Ausdrücke ist eine
vollständige und konsistente Beschreibung der Beispiele.
Versuche die Beschreibung mit Reformulierungs- und Zusammenfassungs-Regeln zu vereinfachen.
Varianten:
• Verschiedene Methoden zur Ausdrucksgenerierung (Schritt 1-2)
• Auswahl des besten Ausdrucks (Schritt 3):
- Korrekt klassifizierte Beispiele in Relation zu allen durch den Ausdruck überdeckten Beispiele.
- Laplace Fehler-Schätzung: = (n - nc + k - 1) / (n + k)
wobei: n = alle überdeckten Beispiele, nc = positive Beispiele, k = Anzahl der betrachteten Klassen im Problem.
- Informationsgewinn, z.B. Entropie-Maß wie bei ID3
Lineare & multiple Regression
Lineare Regression ermittelt einen linearen Zusammenhang (d.h.
eine Regressionsgerade) zwischen zwei Variablen, einer Antwort- Variable Y und einer Vorhersage-Variable X:
Y = α + βX
α und β sind die Regressionskoeffizienten. Sie können mit der least-square-Methode gut approximiert werden:
wobei ⎯x = Durchschnitt von x1, x2 ... xs und ⎯y = Durchschnitt von y1, y2 ... ys
Multiple Regression: Erweiterung auf mehrere Vorhersagevariablen, z.B.
Berechnungsverfahren für multiple Regression: Least-Square- Methode ist übertragbar.
Beispiel für lineare Regression
Ausgangsdaten: Berufsjahre (X, Einheit: Jahre) und Gehalt von Uni-Absolventen (Y, Einheit: K€)
3 30 8 57 9 64 13 72 3 36 6 43 11 59 21 90 1 20 16 83
1. Datenplot suggeriert linearen Zusammenhang:
2. Ausrechnen der Mittelwerte:
⎯x = 9,1 und ⎯y = 55,4
3. Ausrechnen der Regressionskoeffizienten:
Daraus folgt z.B. das bei 10 Berufsjahren ein durchschnittliches Gehalt von 58600 € resultiert. (58,6 = 23,6 + 10*3,5)