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