4.2.4.2: Formale Beschreibung des ID3 Algorithmus
Nach dieser eher informalen Beschreibung soll nun eine formalere
und ausführlichere Beschreibung gegeben werden, zunächst
für die Konstruktion des Entscheidungsbaumes:
4.2.4.2.1: Algorithmus
Sei
Ai:D->Ri, i=1,...,n
eine Menge vorhersagender Attribute mit endlichen Wertebereichen
Ri auf einer endlichen Menge D von Beispielen und A0:D->R0={z1,...,zm} ein vorherzusagendes Attribut. Im folgenden
rekursiven Algorithmus bezeichne N=(A,K,z) den aktuellen Knoten, wobei A{A0,...,An} das aktuelle Attribut, KD die Menge der Beispiele, die dem Knoten zugeordnet
sind, und zR0 eine Kategorie bezeichnen.
- Ordne alle Beispiele einem (Wurzel-)
Knoten zu:
N=(A,K,z)=N0,0=(A,K0,0,z), K0,0=D
- Falls alle Tupel aus K der selben Kategorie angehören, falls also gilt
A0(di)=zk diK und ein zkR0 , setze A:=A0 und z=zk .
Andernfalls wähle ein Attribut Ai:D->Ri , i{1,...,n} , das in K mindestens 2 verschiedene Werte annimmt ( d1,d2K mit Ai(d1)Ai(d2) ), als aktuelles Attribut für den Knoten
N und füge für jeden Wert rjRi mit A-1i({rj})KØ des Attributes einen Kindknoten Ni,rj=(A,Ki,rj) mit unbestimmtem aktuellem Attribut A und
Ki,rj=A-1i({rj})K
(also mit den Beispielen aus K , bei denen das Attribut Ai den Wert rj annimmt) an.
- Falls ein unbearbeiteter Kindknoten Ni,rj exisitiert, setze N:=Ni,rj . Andernfalls prüfe, ob es einen unbearbeiteten
Geschwisterknoten Ni,rk gibt und setze in diesem Fall N:=Ni,rk . Ist das auch nicht der Fall, setzte
N auf den Elternknoten.
- Falls NN0,0 gehe nach Schritt 2, andernfalls beende den
Alogrithmus.
4.2.4.2.2: Auswahlkriterium
In Schritt 2 muß ein Attribut Ai:D->Ri ausgewählt werden, das zur Selektion verwendet
werden soll. Für jedes Attribut, das in Frage kommt, wird der Wert
berechnet. Dabei gilt
mit
qk,r gibt also den Anteil der Tupel aus der Kategorie
r unter den Tupeln des Knotens an, bei denen das
Attribut Ai den Wert k annimmt. Der Entropiewert I(k,K) gibt damit an, wie durchmischt die Tupel des Knotens
in Bezug auf das Attribut A0 , also in Bezug auf die gesuchte Kategorisierung,
sind.
Es wird das Attribut zur Selektion gewählt, bei dem der Wert
E(Ai,Kj,rm) minimal ist, bei der die Kindknoten also
bezüglich der gesuchten Kategorie möglichst wenig durchmischt
sind.
Die Auswahl der Optimierungsheuristik ist folgendermaßen
motiviert: Betrachtet man die Beispiele eines Knotens als
Informationsquelle über die Zugehörigkeit zu den
Zielkategorien, dann gibt Formel (
4.2.4.2.2
)
eine Abschätzung des Informationsgehalts bzw. der Entropie eines
Kindknotens an, d. h. des mittleren Informationsgewinns, den das
Inspizieren eines Beispiels aus der Menge bringt. Sind fast alle
Beispiele der Knotenmenge aus einer Kategorie, ist der zu erwartende
Informationsgewinn gering. Sind sie sogar alle aus einer Kategorie, ist
entweder
qk,r=0 oder qk,r=1 und damit ln(qk,r)=ln(1)=0 . In beiden Fällen ist das Produkt
-qk,rln(qk,r) und damit I(k,K) gleich Null. In den anderen Fällen ist der Wert
positiv, weil das Argument des Logarithmus zwischen 0 und 1 liegt und der Logarithmus daher negativ ist. Formel
(
_4.2.4.2.2_
) gibt also den mittleren erwarteten
Informationsgehalt der Kindknoten bei einer Aufteilung nach Attribut
Ai an. Je kleiner der ist, desto größer ist
der Informationsgewinn durch die Wahl von Ai .
© 2000 / HTML-Version 14. 1. 2000: R. Ferber