ID3

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel beschäftigt sich mit dem ID3-Algorithmus. Für das Format der Metainformationen bei MP3-Dateien, siehe ID3-Tag.

ID3 (Iterative Dichotomiser 3) ist ein Algorithmus, der zur Entscheidungsfindung dient. Er wird bei Entscheidungsbäumen eingesetzt.

Der australische Forscher J. Ross Quinlan publizierte diesen Algorithmus erstmals im Jahre 1986. ID3 war in seinen ersten Jahren sehr einflussreich. Er findet auch heute noch in einigen Produkten Verwendung. ID3 gilt als Vorgänger des C4.5-Algorithmus.

ID3 wird verwendet, wenn bei großer Datenmenge viele verschiedene Attribute von Bedeutung sind und deshalb ein Entscheidungsbaum ohne große Berechnungen generiert werden soll. Somit entstehen meist einfache Entscheidungsbäume. Es kann aber nicht garantiert werden, dass keine besseren Bäume möglich wären.

Die Basisstruktur von ID3 ist iterativ. Es werden zu jedem noch nicht benutzten Attribut Entropien bezüglich der Trainingsmenge berechnet. Das Attribut mit dem höchsten Informationsgewinn (engl.: information gain) bzw. der kleinsten Entropie, wird gewählt und daraus ein neuer Baum-Knoten generiert. Das Verfahren terminiert, wenn alle Trainingsinstanzen klassifiziert wurden, d.h. wenn jedem Blattknoten eine Klassifikation zugeordnet ist.

Algorithmus[Bearbeiten]

Wenn alle Elemente aus T (Daten) zu einer Klasse gehören

Dann
// Erzeuge ein Blatt //
Konstruiere ein Blatt mit der Klasse als Bezeichner
Sonst
// Erzeuge rekursiv einen Teilbaum //
Wähle das „informativste“ Merkmal xi
Beginn: Für_alle vorkommenden Werte von Merkmal xi
Konstruiere alle Teilbäume rekursiv mit den entsprechenden Teilmengen als Daten
Ende: Für_alle
Konstruiere einen Baumknoten mit Bezeichner xi und hänge alle erzeugten Teilbäume an
Ende Sonst

Auswahl der Merkmale[Bearbeiten]

Für die Bildung der Teilbäume wird jeweils entsprechend der Informationstheorie das informativste Merkmal ausgewählt.

Sei S die Menge der Merkmale mit ihrer jeweiligen Klassifizierung, a \in A das zu prüfende Attribut aus der Menge der verfügbaren Attribute, V(a) die Menge der möglichen Attributwerte von a und S_v die Untermenge von S, für die das Attribut a den Wert v annimmt. Der Gewinn, der durch Auswahl des Merkmals a erzielt wird errechnet sich dann folgendermaßen:

G(S, a) = Entropie(S) - \sum_{v \in V(a)} \dfrac{|S_v|}{|S|} Entropie(S_v) .

Schließlich wählt man ein Attribut mit dem größtmöglichem Gewinn aus der Menge \lbrace a_{next} \in A | G(S, a_{next}) =  max_{a \in A}(G(S, a)) \rbrace als das nächste Attribut.

Diese Wahl führt zur Bevorzugung von Merkmalen mit vielen Wahlmöglichkeiten und damit zu einem breiten Baum. Um dem entgegenzuwirken kann eine Normalisierung über die Anzahl der Wahlmöglichkeiten durchgeführt werden.

Siehe auch[Bearbeiten]