ZURÜCK

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.
  1. Ordne alle Beispiele einem (Wurzel-) Knoten zu:

    N=(A,K,z)=N0,0=(A,K0,0,z), K0,0=D

  2. 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.
  3. 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.
  4. 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 .


ZURÜCK

© 2000 / HTML-Version 14. 1. 2000: R. Ferber