Entscheidungsbäume Maschinelles Lernen - Universität Potsdam - Universität Potsdam

Die Seite wird erstellt Lisa Roth
 
WEITER LESEN
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| xv ( 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| xv ( y)
  Information Gain auf Daten für Attribut 
  IG( L, x)  H ( L, y)  v pˆ L ( x  v) H ( L| xv , 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| xv , 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[ xv ] ( y)  p([ x  v]) H[ xv ] ( y)

  Empirischer Information Gain:
  IG( L, [ x  v])  H ( L, y)  pˆ L ([ x  v]) H ( L|[ xv ] , y)  pˆ L ([ x  v]) H ( L|[ xv ] , 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