Überall nur Bäume hier, Entscheidungsbäume

„Ein Baum ist ein Wunder – der Wald bewirkt Wunder.“
― Klaus Ender

Meinen letzten Text zur Künstlichen Intelligenz schrieb ich in den neunziger Jahren, als Werkstudent am Lehrstuhl für Künstliche Intelligenz. Jetzt also widme ich mich, dem aktuellen Hype geschuldet, wieder einmal diesem Thema. Es ist mehr als 25 Jahre vergangen und eine Menge hat sich getan, die Verfahren sind qualitativ und quantitativ besser geworden, die Rechner schneller und der Speicher größer.

Aber immer wieder zeigen sich die klassischen Probleme der KI, wenn man das Kleingedruckte zu den euphorischen Erfolgsmeldungen liest. Man weiß nicht so genau, was die neuronalen Netze in ihren versteckten Schichten eigentlich lernen, die Expertensysteme kränkeln an ihren ganz eigenen Dunning-Kruger-Effekten.

Wie  der Titel schon andeutet, möchte ich ein wenig über Bäume reden, uns Informatikern die liebste Pflanze. In diesem speziellen Fall geht es um den Entscheidungsbaum. Der Entscheidungsbaum wird genutzt um Objekte zu klassifizieren. Dabei ist es egal, ob es sich um Früchte, beschädigte Nähmaschinen oder Singles handelt. Im didaktischen Bereich klassifiziert man gerne Äpfel, Bananen und Orangen, im kommerziellen Umfeld eher beziehungssüchtige Akademiker. Beschäftigt sich jemand mit Nähmaschinen, dann heißt die Domäne womöglich IoT oder Maschine Learning.

Der Entscheidungsbaum an sich ist trivial, jeder Knoten steht für eine Entscheidung, um die Menge der Klassen für ein Objekt einzuschränken. Stellen wir uns einen ersten Knoten vor, der runde von nicht runden Früchten trennt und schon können wir Bananen von Äpfeln und Orangen unterscheiden. Gute Entscheidungsbäume reduzieren die Anzahl möglicher Klassen zügig, indem die aussagekräftigsten Attribute genutzt werden.

Ohne Künstliche Intelligenz wären wir hier vermutlich schon am Ende der Geschichte angelangt, denn ein Experte kann mit dem hier erworbenen Wissen seine eigenen Entscheidungsbäume erstellen.

Interessant wird die Sache aber erst, wenn wir maschinelles Lernen einsetzen, um die Bäume zu erstellen. Beim maschinellen Lernen wird ein Entscheidungsbaum basierend auf Beispielen erstellt. Der Algorithmus bekommt also von uns ein paar Äpfel, Orangen und Bananen mit ihren Attributen, wie Farbe, Größe, Form, Gewicht und Geschmack und wir bekommen dafür einen Entscheidungsbaum. Dieser Entscheidungsbaum ist in der Regel vom Algorithmus so erstellt, dass die Beispielobjekte mit einer minimalen Anzahl von Entscheidungen gefunden werden können. Welche Attribute dafür verwendet werden, hängt von den Beispielen ab. Haben wir zum Beispiel nur grüne Apfel, dann ist die Farbe eine exzellente Wahl um grüne Äpfel von orangen Apfelsinen und gelben Bananen zu unterscheiden.

Ein Entscheidungsbaum leidet wie die Expertensysteme am Cliff-and-Plateau-Effekt, dem Dunning-Kruger-Effekt für Maschinen. Halten sie unserem Entscheidungsbaum eine Möhre vor die Nase, dann erkennt er eine Banane. Wir können unseren Entscheidungbaum verbessern, in dem wir die Möhre und andere Früchte und Gemüse in unsere Beispielmenge aufnehmen. Das führt aber dazu, dass der Baum extrem groß und unübersichtlich wird und es lange dauert diesen Baum zu trainieren.

Eine Möglichkeit dieses Problem zu umgehen, ist  der Einsatz eines Random Forrest. Statt eines einzelnen gigantischen Baumes erstellt man eine Menge kleiner Bäume, die jeweils auf einer zufälligen Teilmenge der Beispiele erstellt werden. Diese Bäume können schnell trainiert werden und obwohl jeder einzelne nicht alle Objekte korrekt klassifizieren kann, kann dieser Wald durch Mehrheitsentscheidung sehr gute Klassifikationen liefern.

Wenn sie also mal wieder den Wald vor lauter Bäumen nicht sehen können, so trösten sie sich. Manchem Computer geht es genauso.