Entscheidungsbäume Maschinelles Lernen - Universität Potsdam - Universität Potsdam
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Maschinelles Lernen Entscheidungsbäume Paul Prasse
Entscheidungsbäume Prasse, Maschinelles Lernen - Entscheidungsbäume Schufa-Auskunft Eine von vielen positiv? Anwendungen: ja nein Kreditrisiken Länger als 3 abgelehnt Monate beschäftigt? nein Ja Kredit - Sicherheiten Arbeitslos? > 5 x verfügbares Einkommen? nein ja nein ja Kredit - Sicherheiten > 2 x verfügbares abgelehnt abgelehnt Student? Einkommen? nein ja nein ja abgelehnt angenommen angenommen abgelehnt 2
Entscheidungsbäume – Warum? Prasse, Maschinelles Lernen - Entscheidungsbäume Einfach zu interpretieren. Liefern Klassifikation plus Begründung. „Abgelehnt, weil weniger als 3 Monate beschäftigt und Kredit-Sicherheiten < 2 x verfügbares Einkommen“. Können aus Beispielen gelernt werden. Einfacher Lernalgorithmus. Effizient, skalierbar. Verschiedene Lernprobleme werden abgedeckt Klassifikations- und Regressionsbäume. Klassifikations-, Regressions-, Modellbäume häufig Komponenten komplexer (z.B. Risiko-)Modelle. 3
Klassifikation Prasse, Maschinelles Lernen - Entscheidungsbäume Eingabe: Instanz (Objekt) x X. Instanzen sind durch Vektoren von Attributen repräsentiert. Eine Instanz ist eine Belegung der Attribute. Instanzen werden auch als Merkmalsvektoren bezeichnet. x1 z.B. Merkmale wie Farbe, Testergebnisse, Form, … x x m Ausgabe: Klasse y Y ; endliche Menge Y . Beispiele: {akzeptiert, abgelehnt}; {Kind, Frau, Mann}. Klasse wird auch als Zielattribut bezeichnet. 4
Klassifikationslernen Prasse, Maschinelles Lernen - Entscheidungsbäume Eingabe: Trainingsdaten. L ( x1 , y1 ),..., ( x n , yn ) x1 xi x m Ausgabe: Klassifikator. f : X Y Entscheidungsbaum: Pfad entlang der Kanten zu einem Blatt liefert Klassifikation 5
Regression Prasse, Maschinelles Lernen - Entscheidungsbäume Eingabe: Instanz (Objekt) x X . Instanzen sind durch Vektoren (fett gedruckt) von Attributen (kursiv) repräsentiert. Eine Instanz ist eine Belegung der Attribute. Ausgabe: Funktionswert y Y ; kontinuierlicher Wert. Lernproblem: kontinuierliche Trainingsdaten. L ( x1 , y1 ),..., ( x n , yn ) z.B. (x1 ,3.5),..., (x N ,2.8) Temperatur, Körpergröße, Bindungsstärke 6
Andere Lernprobleme Prasse, Maschinelles Lernen - Entscheidungsbäume Im Laufe des Semesters werden wir noch andere Problemstellungen kennen lernen. Ordinale Regression: Präferenzlernen, Instanzen in die richtige Reihenfolge bringen. Sequenzlernen: Eingabe: Sequenz (z.B. Folge von Wörtern) Ausgabe: Sequenz (z.B. Folge semantischer Tags). Strukturlernen: Eingabe: Sequenz, Baum, Graph (z.B. Text, Web). Ausgabe: Baum, Graph (z.B. Parsbaum, Klassifikation von Webseiten). 7
Entscheidungsbäume - Aufbau Prasse, Maschinelles Lernen - Entscheidungsbäume Testknoten: Testen, ob der Wert des Attributs die Bedingung erfüllen; bedingte Verzweigung in einen Ast. Terminalknoten: Liefern einen Wert als Ausgabe. Schufa-Auskunft positiv? ja nein Länger als 3 abgelehnt Monate beschäftigt? nein Ja Kredit - Sicherheiten Arbeitslos? > 5 x verfügbares Einkommen? nein ja nein ja Kredit - Sicherheiten > 2 x verfügbares abgelehnt abgelehnt Student? Einkommen? nein ja nein ja abgelehnt angenommen angenommen abgelehnt 8
Entscheidungsbäume - Repräsentation Prasse, Maschinelles Lernen - Entscheidungsbäume Entscheidungsbäume können logische Operationen repräsentieren, wie: ∧,∨, ∧ ∨ ∧ ¬ ∧ Schufa-Auskunft positiv? ja nein Länger als 3 abgelehnt Monate beschäftigt? nein Ja Kredit - Sicherheiten Arbeitslos? > 5 x verfügbares Einkommen? nein ja nein ja Kredit - Sicherheiten > 2 x verfügbares abgelehnt abgelehnt Student? Einkommen? nein ja nein ja abgelehnt angenommen angenommen abgelehnt 9
Anwendung von Entscheidungsbäumen Prasse, Maschinelles Lernen - Entscheidungsbäume Testknoten: Führe Test aus, wähle passende Verzweigung, rekursiver Aufruf. Terminalknoten: Liefere Wert als Klasse zurück. Schufa-Auskunft positiv? ja nein Länger als 3 abgelehnt Monate beschäftigt? nein Ja Kredit - Sicherheiten Arbeitslos? > 5 x verfügbares Einkommen? nein ja nein ja Kredit - Sicherheiten > 2 x verfügbares abgelehnt abgelehnt Student? Einkommen? nein ja nein ja abgelehnt angenommen angenommen abgelehnt 10
Entscheidungsbäume – Wann sinnvoll? Prasse, Maschinelles Lernen - Entscheidungsbäume Entscheidungsbäume sinnvoll, wenn: Instanzen durch Attribut-Werte-Paare beschrieben werden. Zielattribut einen diskreten Wertebereich hat. Bei Erweiterung auf Modellbäume auch kontinuierlicherer Wertebereich möglich. Interpretierbarkeit der Vorhersage gewünscht ist. Anwendungsgebiete: Medizinische Diagnose Kreditwürdigkeit Vorverarbeitungsschritt in der Computer Vision (z.B. Objekterkennung) 11
Lernen von Entscheidungsbäumen Prasse, Maschinelles Lernen - Entscheidungsbäume Tag Aussicht Temperatur Luftfeuchtigkeit Wind Tennis? 1 sonnig heiß hoch schwach nein 2 sonnig heiß hoch stark nein 3 bedeckt heiß hoch schwach ja 4 Regen mild hoch schwach ja 5 Regen kühl normal schwach ja 6 Regen kühl normal stark nein 7 bedeckt kühl normal stark ja 8 sonnig mild hoch schwach nein 9 sonnig kühl normal schwach ja 10 Regen mild normal schwach ja Finde Entscheidungsbaum, der zumindest für die Trainingsdaten die richtige Klasse liefert. Trivialer Weg: Erzeuge einen Baum, der lediglich die Trainingsdaten repräsentiert. 12
Lernen von Entscheidungsbäumen Prasse, Maschinelles Lernen - Entscheidungsbäume Tag Aussicht Temperatur Wind Tennis? 1 sonnig heiß schwach nein 2 sonnig heiß stark nein 3 bedeckt heiß schwach ja 4 bedeckt kühl stark ja 5 bedeckt kühl schwach ja Aussicht sonnig bedeckt Temperatur Temperatur heiß kühl heiß kühl Wind Wind Wind Wind schwach stark schwach stark schwach schwach stark stark nein nein ? ? ja ? ja ja 13
Lernen von Entscheidungsbäumen Prasse, Maschinelles Lernen - Entscheidungsbäume Eleganter Weg: Unter den Bäumen, die mit den Trainingsdaten konsistent sind, wähle einen möglichst kleinen Baum (möglichst wenige Knoten). Kleine Bäume sind gut, weil: sie leichter zu interpretieren sind; sie in vielen Fällen besser generalisieren. Es gibt mehr Beispiele pro Blattknoten. Klassenentscheidungen in den Blättern stützen sich so auf mehr Beispiele. 14
Vollständige Suche nach kleinstem Baum Prasse, Maschinelles Lernen - Entscheidungsbäume Wie viele Entscheidungsbäume gibt es? Angenommen m binäre Attribute, zwei Klassen. Komplexität einer vollständigen Suche nach kleinstem Baum? 15
Lernen von Entscheidungsbäumen Prasse, Maschinelles Lernen - Entscheidungsbäume Greedy-Algorithmus, der einen kleinen Baum (statt des kleinsten Baumes) findet, dafür aber polynomiell in Anzahl der Attribute ist. Idee für Algorithmus? 16
Greedy-Algorithmus – Top-Down Konstruktion Prasse, Maschinelles Lernen - Entscheidungsbäume Solange die Trainingsdaten nicht perfekt klassifiziert sind: Wähle das „beste“ Attribut A, um die Trainingsdaten zu trennen. Erzeuge für jeden Wert des Attributs A einen neuen Nachfolgeknoten und weise die Trainingsdaten dem so entstandenen Baum zu. Problem: Welches Attribut ist das beste? [29 +, 35 -] 1 [29 +, 35 -] 2 ja nein ja nein [21+, 5 -] [8+, 30 -] [18+, 33 -] [11+, 2 -] 17
Splitkriterium: Entropie Prasse, Maschinelles Lernen - Entscheidungsbäume Entropie = Maß für Unsicherheit. Beobachtungen Kopf Zahl ist Menge von Trainingsdaten. + ist Anteil von positiven Beispielen in . − ist Anteil von negativen Beispielen in . Entropie misst die Unsicherheit in : = − + log 2 + − − log 2 − 18
Splitkriterium: Entropie Prasse, Maschinelles Lernen - Entscheidungsbäume = Erwartete Anzahl von Bits, die benötigt werden, um die Zielklasse von zufällig gezogenen Beispielen aus der Menge zu kodieren. Optimaler, kürzester Kode Entropie einer Zufallsvariable : =− = log 2 ( = ) Empirische Entropie Zufallsvariable auf Daten : , = − = log 2 = 19
Splitkriterium: Bedingte Entropie Prasse, Maschinelles Lernen - Entscheidungsbäume Bedingte Entropie von Zufallsvariable gegeben Ereignis x=v: H| xv ( y) H ( y | x v) v ' p( y v' | x v) log 2 p( y v' | x v) Empirische bedingte Entropie auf Daten : H | x v ( L, y ) H ( L, y | x v) v ' pˆ L ( y v' | x v) log 2 pˆ L ( y v' | x v) 20
Splitkriterium: Information Gain Prasse, Maschinelles Lernen - Entscheidungsbäume Entropie der Klassenvariable: Unsicherheit über korrekte Klassifikation. Information Gain: Transinformation eines Attributes. Verringerung der Entropie der Klassenvariable nach Test des Wertes des Attributes . IG( x) H ( y) v p( x v) H| xv ( y) Information Gain auf Daten für Attribut IG( L, x) H ( L, y) v pˆ L ( x v) H ( L| xv , y) 21
Beispiel – Information Gain Prasse, Maschinelles Lernen - Entscheidungsbäume IG = 0,05 IG = 0,46 IG = 0,05 Beispiele : Kredit > 3 x : Länger als 3 Monate : Student? : Kredit Einkommen? beschäftigt? zurückgezahlt? 1 Ja Ja Nein Ja 2 Ja Nein Nein Nein 3 Nein Ja Ja Ja 4 Nein Nein Ja Nein 5 Nein Ja Nein Ja 6 Nein Nein Nein Ja H ( L, y) v pˆ L ( y v) log 2 pˆ L ( y v) ≈0.92 IG( L, x) H ( L, y) v pˆ L ( x v) H ( L| xv , y) 22
Beispiel II – Information Gain Prasse, Maschinelles Lernen - Entscheidungsbäume , = Erwartete Reduktion der Unsicherheit durch den Split an Attribut . Welcher Split ist besser? [29 +, 35 -] 1 [29 +, 35 -] 2 ja nein ja nein [21+, 5 -] [8+, 30 -] [18+, 33 -] [11+, 2 -] 29 29 35 , = − 64 log2 + 64 64 log 2 35 64 = 0,99 26 38 , 1 = 0,99 − 64 ∗ | 1 = , + 64 ∗ | 1 = , = 0,26 51 13 , 2 = 0,99 − 64 ∗ | 2 = , + 64 ∗ | 2 = , = 0,11 23
Information Gain / Gain Ratio Prasse, Maschinelles Lernen - Entscheidungsbäume Motivation: Vorhersage ob ein Student die Prüfung besteht. Wie hoch ist der Information Gain des Attributes „Matrikelnummer“? Informationsgehalt des Tests ist riesig. 24
Information Gain / Gain Ratio Prasse, Maschinelles Lernen - Entscheidungsbäume Motivation: Vorhersage ob ein Student die Prüfung besteht. Wie hoch ist der Information Gain des Attributes „Matrikelnummer“? Informationsgehalt des Tests ist riesig. Idee: Informationsgehalt des Tests bestrafen. IG( L, x) GainRatio ( L, x) SplitInfo ( L, x) | L| x v | | L| x v | SplitInfo ( L, x) v log 2 | L| | L| 25
Beispiel: Info Gain Ratio Prasse, Maschinelles Lernen - Entscheidungsbäume Welcher Split ist besser? [2+, 2-] 1 [2+, 2-] 2 1 2 3 4 ja nein [1+, 0-] [1+, 0 -] [0+, 1-] [0+, 1-] [2+, 1 -] [0+, 1 -] 3 , 1 = 1 , 2 = 1 − 4∗0,92 = 0,68 1 1 , 1 = −4 4 log 2 4 =2 , 2 = − 34 log2 34+14 log 2 14 = 0,81 , 1 = 0,5 , 2 = 0,84 26
Algorithmus ID3 Prasse, Maschinelles Lernen - Entscheidungsbäume Voraussetzung: Klassifikationslernen, Alle Attribute haben festen, diskreten Wertebereich. Idee: rekursiver Algorithmus. Wähle das Attribut, welches die Unsicherheit bzgl. der Zielklasse maximal verringert Information Gain, Gain Ratio, Gini Index Dann rekursiver Aufruf für alle Werte des gewählten Attributs. Solange, bis in einem Zweig nur noch Beispiele derselben Klasse sind. Originalreferenz: J.R. Quinlan: „Induction of Decision Trees”. 1986 27
Algorithmus ID3 Prasse, Maschinelles Lernen - Entscheidungsbäume Eingabe: L (x1 , y1 ),..., (x n , yn ) , verfügbare Attribute = ( x1 ,..., xm ) Wenn alle Beispiele in dieselbe Klasse y haben, dann gib Terminalknoten mit Klasse y zurück. Wenn Menge der verfügbaren Attribute =∅, Gib Terminalknoten mit häufigster Klasse in L zurück. Sonst konstruiere Testknoten: Bestimme bestes Attribut x* arg max x verfügbar IG( L, xi ) i Für alle Werte v j dieses Attributs: Teile Trainingsmenge, L j (x k , yk ) L | xk* v j Rekursion: Zweig für Wert v j = ID3 ( L j , verfügbar \ x* ). 28
Algorithmus ID3: Beispiel Prasse, Maschinelles Lernen - Entscheidungsbäume Beispiele : Kredit > 3 x : Länger als 3 Monate : Student? : Kredit Einkommen? beschäftigt? zurückgezahlt? 1 Ja Ja Nein Ja 2 Ja Nein Nein Nein 3 Nein Ja Ja Ja 4 Nein Nein Ja Nein 5 Nein Ja Nein Ja 6 Nein Nein Nein Ja 29
Kontinuierliche Attribute Prasse, Maschinelles Lernen - Entscheidungsbäume ID3 wählt Attribute mit größtem Informationsgehalt aus und bildet dann einen Zweig für jeden Wert dieses Attributes. Problem: Geht nur für diskrete Attribute. Attribute wie Größe, Einkommen, Entfernung haben unendlich viele Werte. Idee? 30
Kontinuierliche Attribute Prasse, Maschinelles Lernen - Entscheidungsbäume Idee: Binäre Entscheidungsbäume, „“-Tests. Problem: Unendlich viele Werte für binäre Tests. Idee: Nur endlich viele Werte kommen in Trainingsdaten vor. Beispiel: Kontinuierliches Attribut hat folgende Werte: 0,2; 0,4; 0,7; 0,9 Mögliche Splits: ≤ 0,2; ≤ 0,4; ≤ 0,7; ≤ 0,9 Andere Möglichkeiten: Attribute in einen diskreten Wertebereich abbilden. 31
Algorithmus C4.5 Prasse, Maschinelles Lernen - Entscheidungsbäume Weiterentwicklung von ID3 Verbesserungen: auch kontinuierliche Attribute behandelt Trainingsdaten mit fehlenden Attributwerten behandelt Attribute mit Kosten Pruning Nicht der letzte Stand: siehe C5.0 Originalreferenz: J.R. Quinlan: „ C4.5: Programs for Machine Learning”. 1993 32
Algorithmus C4.5 Prasse, Maschinelles Lernen - Entscheidungsbäume Eingabe: L (x1 , y1 ),..., (x n , yn ) . Wenn alle Beispiele in dieselbe Klasse y haben, dann gib Terminalknoten mit Klasse y zurück. Wenn alle Instanzen identisch sind: Gib Terminalknoten mit häufigster Klasse in L zurück. Sonst konstruiere besten Testknoten, iteriere dazu über alle Attribute. Diskrete Attribute: wie ID3. Kontinuierliche Attribute: [ x* v* ] arg max Attribute x , Werte v in L IG( L, [ xi v]) i Wenn bestes Attribut diskret, Rekursion wie ID3. Wenn bestes Attribut kontinuierlich, teile Trainingsmenge: Llinks (x k , yk ) L | xk* v* , L´rechts (x k , yk ) L | xk* v* Rekursion: linker Zweig= C 4.5( Llinks ) , rechter Zweig= C 4.5( Lrechts ) 33
Information Gain für kontinuierliche Attribute Prasse, Maschinelles Lernen - Entscheidungsbäume Information Gain eines Tests „ [ x v] “: IG([ x v]) H ( y) p([ x v]) H[ xv ] ( y) p([ x v]) H[ xv ] ( y) Empirischer Information Gain: IG( L, [ x v]) H ( L, y) pˆ L ([ x v]) H ( L|[ xv ] , y) pˆ L ([ x v]) H ( L|[ xv ] , y) 34
C4.5: Beispiel Prasse, Maschinelles Lernen - Entscheidungsbäume 1 0,7 0,5 0,5 1 1,5 2 2 ≤ 0,5 t f nein 2 ≤ 1,5 t f 1 ≤ 0,5 1 ≤ 0,6 t f t f ja 1 ≤ 0,7 ja nein t f nein ja 35
Pruning Prasse, Maschinelles Lernen - Entscheidungsbäume Problem: Blattknoten, die nur von einem (oder sehr wenigen) Beispielen gestützt werden, liefern häufig keine gute Klassifikation(Generalisierungsproblem). Pruning: Entferne Testknoten, die Blätter mit weniger als einer Mindestzahl von Beispielen erzeugen. Dadurch entstehen Blattknoten, die dann mit der am häufigsten auftretenden Klasse beschriftet werden. 36
Pruning mit Schwellwert Prasse, Maschinelles Lernen - Entscheidungsbäume Für alle Blattknoten: Wenn weniger als r Trainingsbeispiele in den Blattknoten fallen Entferne darüberliegenden Testknoten. Erzeuge neuen Blattknoten, sage Mehrheitsklasse vorraus. Regularisierungsparameter r. Einstellung mit Cross Validation. 37
Reduced Error Pruning Prasse, Maschinelles Lernen - Entscheidungsbäume Aufteilen der Trainingsdaten in Trainingsmenge und Pruningmenge. Nach dem Aufbau des Baumes mit der Trainingsmenge: Versuche, zwei Blattknoten durch Löschen eines Tests zusammenzulegen, Solange dadurch die Fehlerrate auf der Pruningmenge verringert wird. 38
Umwandlung von Bäumen in Regeln Prasse, Maschinelles Lernen - Entscheidungsbäume Pfad durch den Baum: Bedingung der Regel Klasse: Schlussfolgerung Pruning von Regeln: Testen, welche Bedingungen weggelassen werden können, ohne dass die Fehlerrate dadurch steigt. 39
Umwandlung von Bäumen in Regeln Prasse, Maschinelles Lernen - Entscheidungsbäume Ausblick sonnig bewölkt regnerisch Luftfeuchtigkeit Ja Wind hoch normal stark schwach Nein Ja Nein Ja 1 = = ∧ ℎ = ℎ ℎ , 2 = = ∧ ℎ = , 3 = = ö , 4 = = ℎ ∧ = , 5 = = ℎ ∧ = ℎ ℎ , 40
Sie können auch lesen