Maschinelles Lernen Prof Dr Katharina Morik Universitt Dortmund

  • Slides: 63
Download presentation
Maschinelles Lernen Prof. Dr. Katharina Morik Universität Dortmund Fachbereich Informatik Lehrstuhl Künstliche Intelligenz

Maschinelles Lernen Prof. Dr. Katharina Morik Universität Dortmund Fachbereich Informatik Lehrstuhl Künstliche Intelligenz

Maschinelles Lernen steckt in… Google interessante Webseiten finden -- aus den Verweisen von Webseiten

Maschinelles Lernen steckt in… Google interessante Webseiten finden -- aus den Verweisen von Webseiten lernen n Amazon Bücher, CDs, DVDs empfehlen -- aus dem Kaufverhalten von Kunden lernen n Postsortierung Handschriften erkennen n Marketing gute/schlechte Kunden finden n

Aber was ist maschinelles Lernen? n “Lernen ist jeder Vorgang, der ein System in

Aber was ist maschinelles Lernen? n “Lernen ist jeder Vorgang, der ein System in die Lage versetzt, bei der zukünftigen Bearbeitung der selben oder einer ähnlichen Aufgabe diese besser zu erledigen. ” Herbert Simon 1983 – Ist das Lernziel immer, eine Aufgabe besser zu erledigen? – Gibt es Lernen ohne Ziel? – Hat man gelernt, wenn man ein besseres Hilfsmittel benutzt? n Insbesondere kann man nichts lernen, wenn man schon alles kann.

Was ist denn Lernen beim Menschen? Auswendig lernen n Einüben n Logisch schließen n

Was ist denn Lernen beim Menschen? Auswendig lernen n Einüben n Logisch schließen n – Alle Menschen sind sterblich. Sokrates ist ein Mensch. Sokrates ist sterblich. – Sokrates, Uta, Udo, Veronika, Volker, … sind Menschen und sterblich. Alle Menschen sind sterblich. Begriffe bilden n Theorien entwickeln, Gesetze formulieren n

Begriffe bilden n Eins von diesen Dingen gehört nicht zu den anderen! n Dies

Begriffe bilden n Eins von diesen Dingen gehört nicht zu den anderen! n Dies sind Tassen: n Dies sind keine Tassen:

Begriffsbildung: 1. Kategorisierung n Alles zusammenfassen zu einer Klasse, was gemeinsame Merkmale hat. Bedarf

Begriffsbildung: 1. Kategorisierung n Alles zusammenfassen zu einer Klasse, was gemeinsame Merkmale hat. Bedarf für Kategorisierung: n Es gibt schon ein Wort dafür n Vorhersage ist nötig n Begriff erleichtert die Definition anderer Begriffe

Begriffsbildung: 2. Charakterisierung - Kategorien abgrenzend beschreiben n für Gegensätze dieselben Merkmale verwenden +

Begriffsbildung: 2. Charakterisierung - Kategorien abgrenzend beschreiben n für Gegensätze dieselben Merkmale verwenden + n so wenig Merkmale wie möglich - n Vererbbarkeit der Merkmale n Operationalität der Merkmale: Farbe: blau, weiß, schraffiert Form: rund, kreuz Anzahl: 1, 2, 3 Teilobjekte a) blau, b) besteht aus 2 Teilobjekten, c) blau und besteht aus 2 Teilobjekten

3. Anwendung des Begriffs = Klassifikation a) ist blau: + b) besteht aus 2

3. Anwendung des Begriffs = Klassifikation a) ist blau: + b) besteht aus 2 Teilobjekten: c) ist blau und besteht aus 2 Teilobjekten: a) ist blau: b) besteht aus 2 Teilobjekten: + c) ist blau und besteht aus 2 Teilobjekten: -

Aha Begriffe bilden ist eine Lernaufgabe, die Menschen können. n Das ist nützlich, um

Aha Begriffe bilden ist eine Lernaufgabe, die Menschen können. n Das ist nützlich, um Dinge zu klassifizieren. n Verallgemeinerung: n – Tassen, – abstrakte Formen, – sympathische Menschen, – gute Kunden das Prinzip des Lernens ist das selbe. n Können wir das formal beschreiben?

Maschinelles Lernen Unüberwachtes Lernen: Clustering ~ Kategorisierung Spezialfall: eins von diesen Dingen gehört nicht

Maschinelles Lernen Unüberwachtes Lernen: Clustering ~ Kategorisierung Spezialfall: eins von diesen Dingen gehört nicht zu den anderen. n Überwachtes Lernen: Lernen aus Beispielen ~ Charakterisierung n

Lernmenge/Testmenge Lernmenge: Menge von Beispielen = klassifizierte Beobachtungen - Lernen einer Definition (Funktion) -

Lernmenge/Testmenge Lernmenge: Menge von Beispielen = klassifizierte Beobachtungen - Lernen einer Definition (Funktion) - n n Testmenge: Menge von Beispielen, bei denen die tatsächliche Klassifikation mit der von der Definition vorhergesagten verglichen wird n +

korrekt, vollständig korrekt ist eine Definition, wenn sie kein negatives Beispiel abdeckt; vollständig ist

korrekt, vollständig korrekt ist eine Definition, wenn sie kein negatives Beispiel abdeckt; vollständig ist eine Definition, wenn sie alle positiven Beispiele abdeckt + a) ist blau: korrekt und vollständig b) besteht aus 2 Teilobjekten: nicht korrekt + nicht vollständig c) ist blau und besteht aus 2 Teilobjekten: korrekt unvollständig -

Wahrscheinlichkeit Raum, aus dem die Beispiele kommen n Verteilung der Zielwerte darin n +

Wahrscheinlichkeit Raum, aus dem die Beispiele kommen n Verteilung der Zielwerte darin n + + …

Wahrscheinlichkeitsverteilung pi 1 D: Verteilung von Y 0, 5 diskrete Zufallsvariable 0 n Verteilungsfunktion

Wahrscheinlichkeitsverteilung pi 1 D: Verteilung von Y 0, 5 diskrete Zufallsvariable 0 n Verteilungsfunktion f. diskrete D 1 Zufallsvariable n n Bei zwei Werten also DY = p + + p - + - 0, 3 0, 5 Y 0, 5 0 0, 7 Bei stetigen Zufallsvariablen ist die Ableitung der Verteilungsfunktion die Dichtefunktion.

Problem n n n Wir haben nur die Häufigkeit von Zielwerten in unserer Beispielmenge.

Problem n n n Wir haben nur die Häufigkeit von Zielwerten in unserer Beispielmenge. Die wahre Verteilungsfunktion ist uns unbekannt. Den wahren Fehler ED [Q (h(x), y)] kennen wir nicht -erwarteter (durchschnittlicher) Fehler, wenn die Instanzen gemäß D gewählt werden. Wir nehmen an, dass in der Testmenge die selbe (unbekannte) Verteilung gilt. Wir minimieren wenigstens den empirischen (beobachteten) Fehler.

Kreuzvalidierung n Man teile alle verfügbaren Beispiele in n Mengen auf, z. B. n=

Kreuzvalidierung n Man teile alle verfügbaren Beispiele in n Mengen auf, z. B. n= 10. n Für i=1 bis i=n: – Wähle die i-te Menge als Testmenge und – die restlichen n-1 Mengen als Lernmenge. – Messe Korrektheit und Vollständigkeit auf der Testmenge. Bilde das Mittel der Korrektheit und Vollständigkeit über allen n Lernläufen. n Das Ergebnis gibt die Qualität des Lernergebnisses an. n

Funktionslernen aus Beispielen Sei: – X: Raum möglicher Instanzenbeschreibungen – D: Wahrscheinlichkeitsverteilung auf X

Funktionslernen aus Beispielen Sei: – X: Raum möglicher Instanzenbeschreibungen – D: Wahrscheinlichkeitsverteilung auf X P (X) – Y: Menge von Zielwerten – H: Menge zulässiger Funktionen, Hypothesensprache LH n Gegeben: – Menge E von Beispielen (x, y) aus X x Y mit f(x)=y n Ziel: – Eine Funktion h(X) aus LH, die das Fehlerrisiko minimiert n

Minimierung des beobachteten Fehlers n Da wir die tatsächliche Funktion f(X) nicht kennen, können

Minimierung des beobachteten Fehlers n Da wir die tatsächliche Funktion f(X) nicht kennen, können wir nur eine hinreichend große Lernmenge nehmen und für diese den Fehler minimieren. empirical risk minimization n Wir können auch noch strukturelle Aspekte als zweites Optimierungsziel hinzunehmen, z. B. die Komplexität der Hypothese structural risk minimization

Klassifikation, Regression Zwei Spezialisierung des Funktionslernens: n Klassifikation: die Zielvariable ist diskret, typischerweise Boolean.

Klassifikation, Regression Zwei Spezialisierung des Funktionslernens: n Klassifikation: die Zielvariable ist diskret, typischerweise Boolean. n Regression: das Ziel ist eine reelle Variable.

Fehler n Fehlerrisiko p(xi) Wahrscheinlichkeit, dass das Beispiel xi aus X gezogen wird. n

Fehler n Fehlerrisiko p(xi) Wahrscheinlichkeit, dass das Beispiel xi aus X gezogen wird. n Quadratischer Fehler (numerische Zielwerte) n 0 -1 -Verlust

Was wissen wir jetzt? Wir haben die Lernaufgaben Klassifikationslernen (Begriffslernen) und Regression als Spezialisierungen

Was wissen wir jetzt? Wir haben die Lernaufgaben Klassifikationslernen (Begriffslernen) und Regression als Spezialisierungen des Funktionslernens aus Beispielen (Funktionsapproximation) definiert. n Der Bezug zur Statistik wurde durch die Verteilung der Zielvariablen hergestellt. Gebraucht wurde dies für den empirischen Fehler. n Der Bezug zur Logik wurde durch die binäre Zielvariable (+ wahr, - falsch) und die Hypothesensprache des Beispiels hergestellt. n

Übersicht über die Vorlesung Lernaufgaben: – Klassifikation – (Regression) – Häufige Mengen finden –

Übersicht über die Vorlesung Lernaufgaben: – Klassifikation – (Regression) – Häufige Mengen finden – Subgroup detection und Regellernen – Clustering n Paradigmen der Lernbarkeit (Lerntheorie) – Lernen als Suche – Induktive Logische Programmierung – PAC-learning – Statistische Lerntheorie n

Übersicht (cont’ed) n Lernverfahren: – Top Down Induction of Decision Trees Begriffslernen – k.

Übersicht (cont’ed) n Lernverfahren: – Top Down Induction of Decision Trees Begriffslernen – k. NN Begriffslernen – Apriori Finden häufiger Mengen – FPgrowth “ – Winepi (zeitlich) “ – Least generalization “ – Generalisierte -Subsumtion “ – RDT, RDT/dm Regellernen – STT Lernen eines Verbands – Kluster “ – SVM “ – K-Means Clustering

Übersicht (cont’ed) n Anwendungen: – – – Ökologische Klassifikation von Pflanzenstandorten Warenkörbe Tag-Nachtzyklus –

Übersicht (cont’ed) n Anwendungen: – – – Ökologische Klassifikation von Pflanzenstandorten Warenkörbe Tag-Nachtzyklus – Erklärungen von Kindern Intensivmedizin Textklassifikation Musikklassifikation

Übersicht (cont’ed) n Ihr Lernziel: – Algorithmen verstehen – Prinzipien erkennen • Dafür muss

Übersicht (cont’ed) n Ihr Lernziel: – Algorithmen verstehen – Prinzipien erkennen • Dafür muss man mal etwas selbst implementieren. – Algorithmen anwenden • Wann ist ein Algorithmus gut geeignet? • Mit welchen Parametereinstellungen? – Anwendungen modellieren • Dazu gehört mehr als ein Lernverfahren, nämlich Repräsentation für X und LH, Vorverarbeitung…

Leistungsnachweis n Diese Vorlesung mit Übungen ist eine Prüfungsvorbereitung, falls Sie als Prüfungsthema ML

Leistungsnachweis n Diese Vorlesung mit Übungen ist eine Prüfungsvorbereitung, falls Sie als Prüfungsthema ML wählen. Kommen Sie und fragen Sie, falls etwas unklar ist! – ML lässt sich kombinieren mit IS, DM, GS n Die Übungen sollen alle versucht werden. Es müssen 80% der Punkte erreicht werden, um einen Schein zu bekommen.

Maschinelles Lernen -- Prozess Daten auswählen (sampling) n Training- und Testmenge erstellen (Kreuzvalidierung) n

Maschinelles Lernen -- Prozess Daten auswählen (sampling) n Training- und Testmenge erstellen (Kreuzvalidierung) n Geeignete Repräsentation für Beispiele erstellen n – Merkmalsauswahl – Merkmalsextraktion … n Lernverfahren auswählen und Parameter einstellen – Gütekriterium Modell auf Testdaten anwenden n Ergebnisse anschauen n – Performanz gemäß Gütekriterium

Instanzbasiertes Klassifizieren n Alle Beispiel werden abgespeichert. – Geschickt indexieren? – Typische Beispiele auswählen?

Instanzbasiertes Klassifizieren n Alle Beispiel werden abgespeichert. – Geschickt indexieren? – Typische Beispiele auswählen? n Zu einem neuen Beispiel xnew aus der Testmenge werden die ähnlichsten Beispiele gesucht – Ähnlichkeitsmaß? und gemäß einer Entscheidungsfunktion – Maximum, Mehrheit, Mittelwert? aus deren Klasse(n) die Klasse von xnew ermittelt.

k. NN, diskret (Mehrheitsentscheidung) Sei N die Teilmenge von E mit Kardinalität k, die

k. NN, diskret (Mehrheitsentscheidung) Sei N die Teilmenge von E mit Kardinalität k, die zu xnew nächsten Nachbarn enthält, und Nyj: ={e=(x, yj) N} diejenigen, die für yj stimmen: n Gegeben Beispiele E, ein neues Beispiel xnew, eine natürliche Zahl k und eine Ähnlichkeitsfunktion sim, dann ist n Die k. NN-Vorhersage: n

k. NN, kontinuierlich (Mittelwert) Sei N wie eben, aber y eine reelle Zahl. n

k. NN, kontinuierlich (Mittelwert) Sei N wie eben, aber y eine reelle Zahl. n Gegeben E, xnew, k, sim (wie eben), dann ist n Die k. NN-Vorhersage: n

Ähnlichkeit – Distanz -- Metrik n n n 1) 2) 3) Normieren auf [0,

Ähnlichkeit – Distanz -- Metrik n n n 1) 2) 3) Normieren auf [0, 1]! dist (x 1, x 2) = 1 - sim (x 1, x 2) Eine Metrik erfüllt die Bedingungen: Metrik (x, x) = 0 Metrik(x 1, x 2) = Metrik(x 2, x 1) Metrik (x 1, x 2) Metrik (x 1, x 3)+Metrik(x 2, x 3) x 2 x 1 x 3

Ähnlichkeitsfunktion für Attribute Ein Beispiel hat die Attribute A 1, . . . ,

Ähnlichkeitsfunktion für Attribute Ein Beispiel hat die Attribute A 1, . . . , Am, wobei x[i] den Wert des Attributs Ai bezeichnet. n Bei diskreten (nominalen) Attributen A: sim. Ai(x 1[i], x 2[i] ): =1, falls x 1[i]=x 2[i], sonst 0. n Bei numerischen Attributen, die in den Beispielen mit minimalem Wert min. A und maximalem Wert max. A vorkommen: n

Ähnlichkeitsfunktion für Beispiele Seien x 1, x 2 X mit den Attributen A 1,

Ähnlichkeitsfunktion für Beispiele Seien x 1, x 2 X mit den Attributen A 1, . . . , Am und w 1, . . . , wm nicht negative reelle Zahlen (Gewichte). n Die Ähnlichkeit zweier Beispiele ist definiert als: n n Wie finden wir geeignetes k und geeignete Gewichte?

Parameterbestimmung Für jedes in Frage kommende k mache einen Lernlauf mit n-facher Kreuzvalidierung (bei

Parameterbestimmung Für jedes in Frage kommende k mache einen Lernlauf mit n-facher Kreuzvalidierung (bei n Beispielen: leave-one-out) und setze k auf den Wert, bei dem der kleinste Fehler herauskam. n Gewichte die Attribute am höchsten, n – die am besten mit y korrelieren oder – den höchsten Informationsgehalt bezüglich y besitzen. n Lerne die Gewichte bei der Kreuzvalidierung: – Stimmt die Klassifikation von xnew nicht, erhöhe die Gewichte derjenigen Attribute, in denen sich xnew von den k nächsten Nachbarn unterscheidet. n Später bei der SVM mehr dazu!

Was wissen wir jetzt? Eine Idee von Lernen vergleicht alle bisher gesehenen Beispiele mit

Was wissen wir jetzt? Eine Idee von Lernen vergleicht alle bisher gesehenen Beispiele mit dem neuen und klassifiziert entsprechend den k ähnlichsten. n Entscheidend ist dabei n – das Ähnlichkeitsmaß (Euklid Abstand), – die Gewichtung der Attribute und – die Entscheidungsfunktion. n Kreuzvalidierung kann zum Setzen von k und den Gewichten verwendet werden.

Klassifizieren mit Entscheidungsbäumen Feuchte trocken feucht Säure ≤ 3, 5 - basisch neutral Temp

Klassifizieren mit Entscheidungsbäumen Feuchte trocken feucht Säure ≤ 3, 5 - basisch neutral Temp >3, 5 + ≤ 7, 5 + alkalisch + >7, 5 - Temp ≤ 9 >9 - + Bodenprobe: trocken, alkalisch, 7 wird als geeignet klassifiziert (+) Bodeneignung für Rotbuchen

Lernen aus Beispielen Ohne weiteres Wissen können wir als Vorhersage immer - sagen. Der

Lernen aus Beispielen Ohne weiteres Wissen können wir als Vorhersage immer - sagen. Der Fehler ist dann 8/16.

Aufteilen nach Bodenfeuchte Feuchte trocken 1 basisch 7 + 3 neutral 7 + 5

Aufteilen nach Bodenfeuchte Feuchte trocken 1 basisch 7 + 3 neutral 7 + 5 neutral 8 6 neutral 6 + 7 neutral 11 8 neutral 9 9 alkal. 9 + 10 alkal. 8 + 13 basisch 6 + 15 basisch 3 16 basisch 4 + feucht 2 neutral 8 4 alkal. 5 11 basisch 7 12 neutral 10 + 14 alkal. 7 Vorhersage der häufigsten Klasse: 11/16 trocken +: Fehler 4/11 5/16 feucht -: Fehler 1/5 Fehler bei Information über Feuchte: 11/16 4/11 + 5/16 1/5 = 5/16

Bedingte Wahrscheinlichkeit, dass ein Beispiel zu einer Klasse gehört, gegeben der Merkmalswert P(A|B) =

Bedingte Wahrscheinlichkeit, dass ein Beispiel zu einer Klasse gehört, gegeben der Merkmalswert P(A|B) = P(A B) / P(B) n Annäherung der Wahrscheinlichkeit über die Häufigkeit n Gewichtung bezüglich der Oberklasse n Beispiel: P(+ |feucht) = 1/5 P(- |feucht) = 4/5 gewichtet mit 5/16 P(+ |trocken) = 7/11 P(- | trocken) = 4/11 gewichtet mit 11/16 Wahl des Merkmals mit dem höchsten Wert (kleinsten Fehler) n

Information eines Merkmals Wir betrachten ein Merkmal als Information. n Wahrscheinlichkeit p+, dass das

Information eines Merkmals Wir betrachten ein Merkmal als Information. n Wahrscheinlichkeit p+, dass das Beispiel der Klasse + entstammt. Entropie n Ein Merkmal mit k Werten teilt eine Menge von Beispielen E in k Untermengen auf. Für jede dieser Mengen berechnen wir die Entropie. n Güte(Merkmal, E): =

Feuchte Güte des Attributs Feuchte mit den 2 Werten trocken und feucht: - (

Feuchte Güte des Attributs Feuchte mit den 2 Werten trocken und feucht: - ( 11/16 I(+, -) // trocken + 5/16 I(+, -)) = //feucht - ( 11/16 (-7/11 log 7/11 + -4/11 log 4/11) + 5/16 (-1/5 log 1/5 + -4/5 log 4/5)) = - 0, 27 alle 16 Beispiele trocken 11 Beispiele: 7 davon + 4 davon - feucht 5 Beispiele: 1 davon + 4 davon -

Säure Güte des Attributs Säure mit den 3 Werten basisch, neutral und alkalisch: -

Säure Güte des Attributs Säure mit den 3 Werten basisch, neutral und alkalisch: - ( 5/16 I(+, -) basisch + 7/16 I(+, -) neutral + 4/16 I(+, -)) = alkalisch -0, 3 basisch: - 3/5 log 3/5 + -2/5 log 2/5 neutral: -3/7 log 3/7 + -4/7 log 4/7 alkalisch: - 2/4 log 2/4 + -2/4 log 2/4 alle 16 Beispiele basisch 3 in + 2 in - neutral 3 in + 4 in - alkalisch 2 in + 2 in -

Temperatur n Numerische Merkmalswerte werden nach Schwellwerten eingeteilt. – 9 verschiedene Werte in der

Temperatur n Numerische Merkmalswerte werden nach Schwellwerten eingeteilt. – 9 verschiedene Werte in der Beispielmenge, also 8 Möglichkeiten zu trennen. – Wert mit der kleinsten Fehlerrate bei Vorhersage der Mehrheitsklasse liegt zwischen 6 und 7. – 5 Beispiele mit Temp < 7, davon 3 in +, 11 Beispiele Temp ≥ 7, davon 6 in -. n Die Güte der Temperatur als Merkmal ist - 0, 29.

Merkmalsauswahl Gewählt wird das Merkmal, dessen Werte am besten in (Unter-)mengen aufteilen, die geordnet

Merkmalsauswahl Gewählt wird das Merkmal, dessen Werte am besten in (Unter-)mengen aufteilen, die geordnet sind. n Das Gütekriterium Information bestimmt die Ordnung der Mengen. n Im Beispiel hat Feuchte den höchsten Gütewert. n

Algorithmus TDIDT (ID 3) am Beispiel Feuchte trocken 1 basisch 7 + 3 neutral

Algorithmus TDIDT (ID 3) am Beispiel Feuchte trocken 1 basisch 7 + 3 neutral 7 + 5 neutral 8 6 neutral 6 + 7 neutral 11 8 neutral 9 9 alkal. 9 + 10 alkal. 8 + 13 basisch 6 + 15 basisch 3 16 basisch 4 + feucht 2 neutral 8 4 alkal. 5 11 basisch 7 12 neutral 10 + 14 alkal. 7 -

Algorithmus TDIDT am Beispiel Feuchte trocken feucht Säure basisch 1 basisch 7 13 basisch

Algorithmus TDIDT am Beispiel Feuchte trocken feucht Säure basisch 1 basisch 7 13 basisch 6 15 basisch 3 16 basisch 4 + + + neutral 3 5 6 7 8 neutral neutral alkalisch 7 + 8 6 + 11 9 - 9 alkal. 9 + 10 alkal. 8 + 2 neutral 8 4 alkal. 5 11 basisch 7 12 neutral 10 + 14 alkal. 7 -

Algorithmus TDIDT am Beispiel Feuchte trocken feucht Säure alkalisch basisch 1 basisch 7 13

Algorithmus TDIDT am Beispiel Feuchte trocken feucht Säure alkalisch basisch 1 basisch 7 13 basisch 6 15 basisch 3 16 basisch 4 Temp. >7, 5 + 3 neutral 7 + 6 neutral 6 + + 9 alkal. 9 + 10 alkal. 8 + 5 neutral 8 7 neutral 11 8 neutral 9 - 2 neutral 8 4 alkal. 5 11 basisch 7 12 neutral 10 + 14 alkal. 7 -

Algorithmus TIDT am Beispiel Feuchte trocken feucht Säure alkalisch basisch Temp. 3, 5 >3,

Algorithmus TIDT am Beispiel Feuchte trocken feucht Säure alkalisch basisch Temp. 3, 5 >3, 5 7, 5 Temp. 3 neutral 7 + 6 neutral 6 + 1 basisch 7 + 13 basisch 6 + 16 basisch 4 + 15 basisch 3 - >7, 5 9 alkal. 9 + 10 alkal. 8 + 5 neutral 8 7 neutral 11 8 neutral 9 - 2 neutral 8 4 alkal. 5 11 basisch 7 12 neutral 10 + 14 alkal. 7 -

Algorithmus ID 3 (TDIDT) Rekursive Aufteilung der Beispielmenge nach Merkmalsauswahl: n TDIDT(E, Merkmale) n

Algorithmus ID 3 (TDIDT) Rekursive Aufteilung der Beispielmenge nach Merkmalsauswahl: n TDIDT(E, Merkmale) n E enthält nur Beispiele einer Klasse --> fertig n E enthält Beispiele verschiedener Klassen: – Güte (Merkmale, E) – Wahl des besten Merkmals a mit k Werten • Aufteilung von E in E 1, E 2, . . . , Ek • für i=1, . . . , k: TDIDT(Ei, Merkmale a} – Resultat ist aktueller Knoten mit den Teilbäumen T 1, . . . , Tk

Komplexität TDIDT ohne Pruning n Bei m (nicht-numerischen) Merkmalen und n Beispielen ist die

Komplexität TDIDT ohne Pruning n Bei m (nicht-numerischen) Merkmalen und n Beispielen ist die Komplexität O(mn log n) – Die Tiefe des Baums sei in O(log n). – O(n log n) alle Beispiele müssen “in die Tiefe verteilt” werden, also: O(n log n) für ein Merkmal. – m mal bei m Merkmalen!

Was muss man implementieren? import edu. udo. cs. yale. example. Attribute; import edu. udo.

Was muss man implementieren? import edu. udo. cs. yale. example. Attribute; import edu. udo. cs. yale. example. Example. Set; split(Example. Set example. Set, Attribute attribute) n Die Beispielmenge gemäß der Attributwerte aufteilen. n Das Attribut auswählen, das zur Partitionierung einer Beispielmenge genutzt wird. – Info. Gain für alle Attribute berechnen. n Bei numerischen Attributen den numerischen Wert bestimmen, der die Beispiele am besten aufteilt.

Kleiner Trick n Wenn es nur nominale Werte gibt, so können diese durchgezählt werden.

Kleiner Trick n Wenn es nur nominale Werte gibt, so können diese durchgezählt werden. – Wenn der Vergleich beim Aufteilen gemäß eines Merkmalwertes nur nach Gleichheit erfolgt, – dann hat das Array für die Nachfolgeknoten gerade den Index der Merkmalswerte.

weka und Yale Instances data: Array der Beispiele (weka) in Yale Example. Set mit

weka und Yale Instances data: Array der Beispiele (weka) in Yale Example. Set mit den Methoden u. a. – size() // Anzahl der Beispiele – get. Number. Of. Attributes // Anzahl der Attribute – iterator() // geht die Beispiele durch n Instance: ein Beispiel mit seinen Merkmalen (weka) in Yale Example mit den Methoden u. a. – get. Attribute(int i) // gibt im Beispielvektor das i-te Attribut – get. Value(a) // gibt den Wert des Attributs a n Attribute: bei nominalen Merkmalen werden die Werte indexiert in Yale mit den Methoden: – get. Number. Of. Values() // liefert Anzahl der Werte eines Attributs – get. Label() // liefert den Wert des Zielmerkmals double n

Stutzen A Überanpassung des Baums an die Trainingsdaten verringern! n Verständlichkeit erhöhen! n Stutzen

Stutzen A Überanpassung des Baums an die Trainingsdaten verringern! n Verständlichkeit erhöhen! n Stutzen (Pruning): a) Knoten an Stelle eines a) Teilbaums setzen b) Einen Teilbaum eine B´ Ebene höher ziehen n Schätzen, wie sich der wahre Fehler beim Stutzen entwickelt. E B n C D A E b) C A E

Fehler oder Erfolg schätzen Bernoulli-Experiment, z. B. Münzwurf {+, -} mit wahrer Wahrscheinlichkeit p+

Fehler oder Erfolg schätzen Bernoulli-Experiment, z. B. Münzwurf {+, -} mit wahrer Wahrscheinlichkeit p+ für +. Der Mittelwert des Experiments ist p+ und die Varianz ist p+(1 - p+). n Beobachtung der Häufigkeit f+ bei n Münzwürfen. n Wie steht f+ /n zu p+ ? Immerhin ist durch n Beobachtungen die Varianz eingeschränkt: p+(1 - p+)/n Wenn n groß ist, ergibt sich eine Normalverteilung. n Konfidenzintervall: rund um den Mittelwert ist ein Intervall, in dem p+ liegen muss. Breite des Intervalls ist durch z gegeben. n

Verteilung mit z-Werten Fläche unter der Glocke in [-z, z] =c -3 -z 0

Verteilung mit z-Werten Fläche unter der Glocke in [-z, z] =c -3 -z 0 +z +3 P(-z X z)=c Konfidenzniveau Wahrscheinlichkeit, dass X mit Mittelwert 0 im Intervall der Breite 2 z liegt ist c. n z kann nachgeschlagen werden (z. B. Bronstein), wobei wegen Symmetrie und für 1 -c angegeben ist: P(X z) n

Praktisch Wir verschieben unser f+ so, dass es bei den n Beispielen Mittelwert 0

Praktisch Wir verschieben unser f+ so, dass es bei den n Beispielen Mittelwert 0 hat. n Wir wollen eine bestimmte Konfidenz erreichen, n • z. B. 80% also ist P(X z) dann (1 -0, 8)/2=0, 1 und der zugehörige z-Wert ist 1, 28 (nachschlagen). n Berechne obere und untere Schranke der Konfidenz: • Z. B. bei n=1000 und p+=750 also f+=0, 75 ist das Konfidenzintervall [0, 733, 0, 768].

Anwendung zum Stutzen n Für jeden Knoten nehmen wir die obere Schranke und f-

Anwendung zum Stutzen n Für jeden Knoten nehmen wir die obere Schranke und f- ist jetzt der Fehler (pessimistisch): n Wenn der Schätzfehler eines Knotens kleiner ist als die Kombination der Schätzfehler seiner Unterknoten, werden die Unterknoten weggestutzt. Die Kombination gewichtet mit der Anzahl der subsumierten Beispiele.

Gütemaße n Konfusionsmatrix: Vorhergesagt + Vorhergesagt tatsächlich + True positives TP False negatives FN

Gütemaße n Konfusionsmatrix: Vorhergesagt + Vorhergesagt tatsächlich + True positives TP False negatives FN - False positives FP True negatives TN Recall: TP/(TP+FN) Precision: TP/(TP+FP) n Accuracy: P(h(x)=y) geschätzt als (TP+TN)/total

Balance von FP und FN F-measure: recall precision/recall + precision = TP/ TP+FP+FN n

Balance von FP und FN F-measure: recall precision/recall + precision = TP/ TP+FP+FN n Verlaufsformen: n – Lift: TP für verschiedene Stichprobengrößen S TP schön 500 100% S – Receiver Operating Characteristic (ROC): für verschiedene TP jeweils die FP anzeigen TP schön FP

ROC genauer n Statt der absoluten Anzahl TP nimm die Raten von true oder

ROC genauer n Statt der absoluten Anzahl TP nimm die Raten von true oder false positives – ergibt eine glatte Kurve. – Für jeden Prozentsatz von falschen Positiven nimm eine Hypothese h, deren Extension diese Anzahl von FP hat und zähle die TP. – TPrate: = TP/P ~ recall bezogen auf eine Untermenge – FPrate: = FP/N ~ FP/FP+TN bezogen auf Untermenge TPrate 1 0 schön 1 FPrate

Kosten von Fehlern n Nicht immer sind FP so schlimm wie FN – medizinische

Kosten von Fehlern n Nicht immer sind FP so schlimm wie FN – medizinische Anwendungen: lieber ein Alarm zu viel als einen zu wenig! n Gewichtung der Beispiele: – Wenn FN 3 x so schlimm ist wie FP, dann gewichte negative Beispiele 3 x höher als positive. – Wenn FP 10 x so schlimm ist wie FN, dann gewichte positive Beispiele 10 x höher als negative. n Lerne den Klassifikator mit den gewichteten Beispielen wie üblich. So kann jeder Lerner Kosten berücksichtigen!

Was wissen wir jetzt? n n n Wir kennen den Algorithmus ID 3 als

Was wissen wir jetzt? n n n Wir kennen den Algorithmus ID 3 als Beispiel für TDIDT. Für das Lernen verwendet ID 3 das Gütemaß des Informationsgewinns auf Basis der Entropie. Man kann abschätzen, wie nah das Lernergebnis der unbekannten Wahrheit kommt Konfidenz Man kann abschätzen, wie groß der Fehler sein wird und dies zum Stutzen des gelernten Baums nutzen. Lernergebnisse werden evaluiert: – Einzelwerte: accuracy, precision, recall, F-measure – Verläufe: Lift, ROC