Entscheidungsbäume - www2.inf.h

Werbung
2. Lernen von Entscheidungsbäumen
Entscheidungsbäume
2. Lernen von Entscheidungsbäumen
• Gegeben sei eine Menge von Objekten, die durch Attribut/WertPaare beschrieben sind.
• Jedes Objekt kann einer Klasse zugeordnet werden.
• Ein Entscheidungsbaum liefert eine Entscheidung für die Frage, welcher Klasse ein betreffendes Objekt zuzuordnen ist.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
71
2. Lernen von Entscheidungsbäumen
Entscheidungsbäume
Beispielanwendung
Beispiel 2.1.
• Gegeben seien die Beschreibungen von Bankkunden.
• Die Bankkunden können in die beiden Klassen “kreditwürdig” und
“nicht kreditwürdig” eingeteilt werden.
• Ein Entscheidungsbaum soll eine Entscheidung liefern, ob ein Kunde
kreditwürdig ist oder nicht.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
72
2. Lernen von Entscheidungsbäumen
Entscheidungsbäume
Entscheidungsbaum
Ein Entscheidungsbaum ist ein Baum mit den folgenden Eigenschaften:
• Ein Blatt repräsentiert eine der Klassen.
• Ein innerer Knoten repräsentiert ein Attribut.
• Eine Kante repräsentiert einen Test auf dem Attribut des Vaterknotens, typischerweise den Vergleich mit einem Attributwert.
☞ Geht man von nur zwei Klassen aus, repräsentiert ein Entscheidungsbaum eine boolsche Funktion.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
73
2. Lernen von Entscheidungsbäumen
Entscheidungsbäume
Klassifikation mit Entscheidungsbäumen
Ein neues Objekt wird mit Hilfe eines Entscheidungsbaums klassifiziert,
• indem man ausgehend von der Wurzel jeweils die den Knoten zugeordneten Attribute überprüft und
• solange den Kanten folgt, die mit den Attributwerten des Objekts
markiert sind,
• bis man einen Blattknoten erreicht.
☞ Der dem Blattknoten zugeordnete Wert entspricht der Klasse, der
das Objekt zugeordnet wird.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
74
2. Lernen von Entscheidungsbäumen
Entscheidungsbäume
Beispiel 2.2.
Ein Entscheidungsbaum zur Risikoabschätzung für eine KFZVersicherung:
Autotyp
= LKW
<> LKW
Risikoklasse = niedrig
Alter
> 60
Risikoklasse = niedrig
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
<= 60
Risikoklasse = hoch
75
2. Lernen von Entscheidungsbäumen
Entscheidungsbäume
Entscheidungsbäume und Regeln
• Entscheidungsbäume repräsentieren Regeln in kompakter Form.
• Jeder Pfad von der Wurzel zu einem Blattknoten entspricht einer logischen Formel in der Form einer if-then-Regel.
Beispiel 2.3. Der Entscheidungsbaum aus Beispiel 2.2 entspricht den
folgenden Regeln:
if Autotyp = LKW then Risikoklasse = niedrig,
if Autotyp 6= LKW and Alter > 60 then Risikoklasse = niedrig,
if Autotyp 6= LKW and Alter ≤ 60 then Risikoklasse hoch.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
76
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Problem der Generierung von Entscheidungsbäumen
• Ziel ist es, aus einer Trainingsmenge einen Entscheidungsbaum zu
generieren.
☞ induktives Lernen
• Trainingsbeispiele bestehen aus einer Menge von Attribut/WertPaaren zusammen mit der Klassifikation des Beispiels.
• Erzeugter Entscheidungsbaum muss konsistent zur Trainingsmenge
sein.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
77
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
• Für einen so generierten Entscheidungsbaum hofft man, daß dieser
auch Beispiele, die nicht aus der Trainingsmenge stammen, mit hoher Wahrscheinlichkeit richtig klassifiziert.
☞ Verallgemeinerung/Abstraktion
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
78
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Beispiel 2.4. Potentielle Trainingsmenge für den Baum aus Beispiel 2.2:
ID
1
2
3
4
5
Alter
23
18
43
68
32
Autotyp
Familie
Sport
Sport
Familie
LKW
Risikoklasse
hoch
hoch
hoch
niedrig
niedrig
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
79
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Naiver Ansatz der Generierung:
• Man entscheidet streng sequentiell anhand der Attribute.
• Jeder Baumebene ist ein Attribut zugeordnet.
• Der Baum wird dann konstruiert, in dem für jedes Beispiel ein Pfad
erzeugt wird. Tafel ✎.
☞ Keine sinnvolle Generalisierung auf andere Fälle
☞ Overfitting
☞ Entscheidungsbaum mit vielen Knoten
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
80
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Beispiel 2.5. Zwei Entscheidungsbäume für die Trainingsmenge aus
Beispiel 2.4:
Alter
Autotyp
< 30
= LKW
> 60
<> LKW
>= 30 and <= 60
Risikoklasse = niedrig
Risikoklasse = hoch
Alter
> 60
Risikoklasse = niedrig
<= 60
<> LKW
Autotyp
Risikoklasse = niedrig
= LKW
Risikoklasse = hoch
Risikoklasse = hoch
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
Risikoklasse = niedrig
81
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Ziel der Generierung ist es, einen Baum aufzubauen,
• der die Beispiele der gegebenen Trainingsmenge korrekt klassifiziert
und
• der möglichst kompakt ist.
☞ Bevorzuge die einfachste Hypothese, die konsistent mit allen Beobachtungen ist.
Occam’s Razor (William of Occam, engl. Philosoph 1285–1349):
One should not increase, beyond what is necessary, the number
of entities required to explain anything.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
82
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Prinzip der Generierung
• Man teste das “wichtigste” Attribut zuerst!
• Die Wichtigkeit hängt von der Differenzierung der Beispielmenge ab.
• Die Beispielmenge wird gemäß der Attributwerte des ausgewählten
Attributs auf die Söhne verteilt.
• Man setze dieses Prinzip in jedem Unterbaum für die diesem Unterbaum zugeordnete Beispielmenge fort.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
83
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Trainingsmenge zum Thema “Kinobesuch”:
Nr.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Attr.
+
o
o
o
+
o
o
o
+
o
+
o
o
Preis
$$
$
$
$
$
$$
$
$
$
$
$
$
$$
$
$
Loge
ja
ja
nein
ja
ja
ja
ja
nein
ja
ja
ja
nein
ja
ja
ja
Wetter
o
o
o
o
+
+
+
o
o
+
-
Warten
ja
nein
ja
ja
nein
nein
nein
ja
nein
nein
ja
ja
ja
ja
nein
Bes.
+
o
o
o
o
+
o
o
o
o
+
o
o
+
o
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
Kat.
AC
KO
DR
SF
DR
SF
KO
AC
KO
KO
DR
AC
SF
DR
AC
Land
int
int
int
int
int
int
nat
int
nat
int
int
nat
int
int
int
Res.
ja
nein
nein
nein
nein
ja
nein
nein
nein
nein
nein
nein
nein
ja
nein
Gr.
F
P
F
a
P
F
F
F
F
P
P
a
a
F
P
84
Kino?
ja
ja
nein
nein
ja
ja
ja
ja
nein
nein
ja
nein
nein
nein
ja
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Attributauswahl für das Kinoproblem:
ja: 1, 2, 5, 6, 7, 8, 11, 15
nein: 3, 4, 9, 10, 12, 13, 14
Gruppe
P
F
a
ja: 1, 6, 7, 8
nein: 3, 9, 14
ja: −
nein: 4, 12, 13
ja: 2, 5, 11, 15
nein: 10
ja: 1, 2, 5, 6, 7, 8, 11, 15
nein: 3, 4, 9, 10, 12, 13, 14
Kategorie
DR
ja: 5, 11
nein: 3, 14
AC
ja: 1, 8, 15
nein: 12
SF
KO
ja: 2, 7
nein: 9, 10
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
ja: 6
nein: 4, 13
85
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Situationen bei der rekursiven Konstruktion
1. Alle Beispiele zu einem Knoten haben die gleiche Klassifikation.
Dann wird der Knoten mit der entsprechenden Klasse markiert und
die Rekursion beendet.
2. Die Menge der Beispiele zu einem Knoten ist leer.
In diesem Fall kann man eine Default-Klassifikation angeben. Man
wählt zum Beispiel die Klasse, die unter den Beispielen des Vaters
am häufigsten vorkommt.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
86
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
3. Falls Beispiele mit unterschiedlicher Klassifikation existieren und es
Attribute gibt, die noch nicht in den Vorgängerknoten verwendet wurden,
dann wähle aus diesen Attributen ein Attribut a gemäß seiner Wichtigkeit aus.
Generiere für jeden möglichen Attributwert einen Nachfolgerknoten
und verteile die Beispiele auf die Nachfolger gemäß ihres Attributwerts.
Setze das Verfahren für jeden Nachfolger fort.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
87
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
4. Falls Beispiele mit unterschiedlicher Klassifikation existieren, es aber
kein noch nicht verwendetes Attribut gibt,
dann ist die Trainingsmenge inkonsistent.
Inkonsistent bedeutet hier, daß keine funktionale Abhängigkeit der
Klassifikation von den Attributen existiert.
Beispiel 2.6. Kinoproblem: Als Grad für die Wichtigkeit eines Attributs
nehme man die Anzahl der Beispiele, die damit endgültig klassifiziert
werden. Tafel ✎.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
88
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Algorithmus zur Konstruktion
Algorithmus 2.1. [Entscheidungsbaum-Konstruktion]
procedure Entscheidungsbaum( T, A, W )
if T = ∅ then
markiere W mit einer Default-Klasse;
return
else if ∀t ∈ T : Klasse(t) = c then
markiere W mit c;
return
else if A = ∅ then
error
else
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
89
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
for each a ∈ A do
for each mögliche Partition P von a do
if (a, P) besser als best then
best := (a, P)
end
end
end
Sei best = (a, P);
Seien P1, . . . , Pn die Teilmengen von P;
for i := 1 to n do
erzeuge Knoten Ki als Sohn von W;
Ti := {t ∈ T |t fällt in Pi}
Entscheidungsbaum( Ti, A \ {a}, Ki )
end
end
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
90
2. Lernen von Entscheidungsbäumen
Generierung von Entscheidungsbäumen
Partitionen für Attribute
Typen von Partitionen für nominale Attribute
Attribut
=a1
=a2
Attribut
=a3
in A1
Attribut
<a1
<=a2
in A2
Attribut
<=a3
<a
>= a
Typen von Partitionen für numerische Attribute
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
91
2. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Attributauswahl
• Die auf Algorithmus 2.1 basierenden Verfahren heißen Top-Down Induction of Decision Trees (TDIDT). Durch den schrittweisen Aufbau
des Entscheidungsbaums wird die dadurch repräsentierte Hypothese schrittweise spezialisiert.
• Der Kern eines TDIDT-Verfahrens ist die Attributauswahl.
• Das Ziel bei der Attributauswahl ist es, den Baum möglichst klein
zu halten. Ein ideales Attribut würde die verbleibende Beispielmenge
exakt auf verschiedene Klassen aufteilen.
• Der ID3-Algorithmus formalisiert diese Idee durch die Berücksichtigung des Informationsgehaltes der Attribute.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
92
2. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Informationsgehalt und Informationsgewinn
• Die mit einem Ereignis verbundene Information wird logarithmisch
aus dessen Wahrscheinlichkeit berechnet.
• Den mittleren Informationsgehalt H(P) einer Wahrscheinlichkeitsverteilung P über einer endlichen Menge Ω bezeichnet man als die
Entropie von P:
H(P) = −
X
P(ω) log2 P(ω)
ω∈Ω
• Wir stellen uns vor, daß in einer beliebigen Trainigsmenge jedes Beispiel die gleiche Wahrscheinlichkeit hat.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
93
2. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
• Demnach ist der Informationsgehalt I(E) einer Beispielmenge E mit
p positiven und n negativen Beispielen (genau zwei Klassen)
I(E) := H
p
n
;
p+n p+n
=−
p
n
n
p
log2
−
log2
bit
p+n
p+n p+n
p+n
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
94
2. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Informationsgewinn für die Attributauswahl
• Bei der Attributauswahl soll nun berücksichtigt werden, welchen Informationsgewinn man erhält, wenn man den Wert eines Attributs
kennt.
• Dazu stellen wir fest, wieviel Information wir nach dem Test eines
Attributs a noch benötigen.
• Jedes Attribut a teilt die Trainingsmenge E in k disjunkte Teilmenge E1, . . . , Ek auf, wobei k die Anzahl der verschiedenen Werte
(w1, . . . , wk) ist, die a annehmen kann.
• Teilmenge Ei habe pi positive und ni negative Beispiele.
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
95
2. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
• Der mittlere Informationsgehalt I(Ei) von Ei ist also
I(Ei) = H(
pi
ni
;
) bit
pi + ni pi + ni
• Der mittlere Informationsgehalt I(E|a) der Antwort, nachdem wir Attribut a getestet haben ist:
I(E|a bekannt) =
k
X
i=1
P(a = wi)I(Ei) =
k
X
pi + ni
i=1
pi
ni
H(
;
) bit
p+n
pi + ni pi + ni
• Um den Informationsgewinn gain(a) von Attribut a zu quantifizieren,
bilden wir die Differenz der ursprünglichen Information (vor dem Test
von a) und der Restinformation (nach dem Test von a):
gain(a) := I(E) − I(E|a bekannt)
Maschinelles Lernen und unsicheres Wissen — FH Bonn-Rhein-Sieg, WS 08/09
96
Herunterladen