Attributauswahl - www2.inf.h

Transcription

Attributauswahl - www2.inf.h
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Attributauswahl
• Die auf Algorithmus 4.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.
208
4. 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:
X
P(ω) log2 P(ω)
H(P) = −
ω∈Ω
Wir stellen uns vor, daß in einer beliebigen Trainigsmenge jedes Beispiel die gleiche Wahrscheinlichkeit hat.
209
4. 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)
n
p
;
I(E) := H
p+n p+n
p
n
p
n
=−
log2
−
log2
bit
p+n
p+n p+n
p+n
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.
210
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Der mittlere Informationsgehalt von Ei ist also
I(Ei) = H(
pi
ni
;
) bit
pi + n i pi + n i
Der mittlere Informationsgehalt 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 + n i
i=1
pi
ni
H(
;
) bit
p+n
pi + n i pi + n i
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)
211
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Der ID3-Algorithmus
Algorithmus 4.2. [ID3] Der ID3-Algorithmus ist eine Spezialisierung
von Algorithmus 4.1, bei der die Relation “besser” für die Attributauswahl auf dem Informationsgewinn gain(a) basiert.
ID3 wählt als nächstes Attribut a dasjenige aus, bei dem gain(a) maximal ist.
Beispiel 4.7. Für die Wurzel des Kinoproblems haben wir
gain(Gruppe) = I(E) − I(E| Gruppe bekannt )
4 3
5
4 1
3
7
H( ; ) + H( ; ) + H(1; 0)
≈ 0.9968 −
15 7 7
15 5 5
15
≈ 0.2964
212
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
gain(Kategorie) = I(E) − I(E| Kategorie bekannt )
3 1
4
1 1
4
1 1
3
1 2
4
H( ; ) + H( ; ) + H( ; ) + H( ; )
≈ 0.9968 −
15 4 4
15 2 2
15 2 2
15 3 3
≈ 0.0634
Beispiel 4.8. Man berechne gain(a) für alle Attribute und zeige damit,
daß das Attribut Gruppe bei Anwendung von ID3 auf das Kinoproblem
als Attribut für den Wurzelknoten selektiert würde. Tafel ✎.
Man berechne den Entscheidungsbaum gemäß ID3 für das Kinoproblem. Tafel ✎.
213
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Attributes
Example
X1
X2
X3
X4
X5
X6
X7
X8
X9
X10
X11
X12
Alt
Bar
Fri
Hun
Pat
Yes
Yes
No
Yes
Yes
No
No
No
No
Yes
No
Yes
No
No
Yes
No
No
Yes
Yes
No
Yes
Yes
No
Yes
No
No
No
Yes
Yes
No
No
No
Yes
Yes
No
Yes
Yes
Yes
No
Yes
No
Yes
No
Yes
No
Yes
No
Yes
Some
Full
Some
Full
Full
Some
None
Some
Full
Full
None
Full
Goal
Price Rain
$$$
$
$
$
$$$
$$
$
$$
$
$$$
$
$
No
No
No
No
No
Yes
Yes
Yes
Yes
No
No
No
Res
Type
Est
WillWait
Yes
No
No
No
Yes
Yes
No
Yes
No
Yes
No
No
French
Thai
Burger
Thai
French
Italian
Burger
Thai
Burger
Italian
Thai
Burger
0–10
30–60
0–10
10–30
>60
0–10
0–10
0–10
>60
10–30
0–10
30–60
Yes
No
Yes
Yes
No
Yes
No
Yes
No
No
No
Yes
214
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Patrons?
None
No
Some
Full
Hungry?
Yes
No
Type?
French
Yes
Italian
Yes
No
Thai
Burger
Yes
Fri/Sat?
No
No
No
Yes
Yes
215
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Bemerkung 4.1.
• In der vorangegangenen Darstellung gingen wir stets von einer Beispielmenge mit zwei Klassen aus. Dies entspricht einer BernoulliVerteilung.
• Dies Konzept wird mit Hilfe der Entropie auf k Klassen verallgemeinert.
• Der Informationsgehalt einer Beispielmenge
E mit k Klassen Ki und
Pk
pi Beispielen in Klasse Ki (n := i=1 pi) ist dann:
I(E) := H(p1, . . . , pk) = −
k
X
pi log2 pi
i=1
216
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Beispiel 4.9. Gegeben sei die folgende Beispielmenge zur Klassifikation von Tieren:
ID
Größe
Beine
Tier
1
0.1
0
F
2
0.2
2
V
3
1.8
2
M
4
0.2
4
K
5
2.1
4
P
6
1.7
2
M
7
0.1
4
K
8
1.6
2
M
I(E|Beine = 0) = −1 log2 1
= 0 bit
I(E|Beine = 2) = − 14 log2 14 − 34 log2 34
≈ 0.8113 bit
I(E|Beine = 4) = − 13 log2 13 − 23 log2 23
≈ 0.9183 bit
gain(Beine) = H(E) −
4
3
1
0 − 0.8113 − 0.9183 ≈ 1.2181 bit
8
8
8
217
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Der C4.5-Algorithmus
• Der (absolute) Informationsgewinn gain(a) hat den Nachteil, daß
dieser Attribute mit zahlreichen Werten bevorzugt.
• Dies kann im Extremfall zu unsinnigen Ergebnissen führen.
Beispiel 4.10.
• Bei einer medizinischen Diagnose werde als eines der Attribute die
PIN eines Patienten benutzt.
• Dieses Attribut habe soviele Werte, wie es Patienten in der Datei gibt.
218
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
• Das Attribut partitioniert die Beispielmenge daher in Teilmengen, die
aus genau einem Patienten bestehen.
• Die bedingte mittlere Information ist also
I(E| PIN bekannt ) =
k
X
H(0; 1) = 0
i=1
und damit ist der Informationsgewinn maximal.
• Für die Diagnose ist die PIN dagegen nutzlos.
219
4. Lernen von Entscheidungsbäumen
Die Algorithmen ID3 und C4.5
Algorithmus 4.3. Der C4.5-Algorithmus ist eine Spezialisierung von
Algorithmus 4.1, bei der die Relation “besser” für die Attributauswahl
auf dem sogenannten normierten Informationsgewinn gainratio(a) basiert.
gain(a)
gainratio(a) =
splitinfo(a)
Hierbei ist splitinfo(a) die Entropie des Attributs a. Es sei n := |E|
die Kardinalität der Beispielmenge, es gebe r verschiedene Werte für
Attribut a und P(a = wi) sei die relative Häufigkeit von Attributwert wi.
splitinfo(a) := H(a) = −
r
X
P(a = wi) log2 P(a = wi)
i=1
C4.5 wählt als nächstes Attribut a dasjenige aus, bei dem gainratio(a)
maximal ist.
220