Silizium-Intuition: Machine Learning (Teil 1/II: Bird's eye View)
Wissen Sie, was Machine Learning und herkömmliche Programmierung unterscheidet? Was ist mit Rules Engines und BI?
Einleitung & Inhalt
Machine Learning und Künstliche Intelligenz
Die logische Maschine des Raimundus Lullus (1232-1315)
Durch sieben um einen Mittelpunkt drehbare Scheiben sollen sich Begriffe rein mechanisch zu wahren Aussagen kombinieren lassen. Lullus verwendet eine Kombinatorik allgemeiner Prinzipien der drei großen monotheistischen Religionen, um mit Hilfe vorgegebener Begriffe und den dargestellten Figuren in verschiedene Kombinationen Sätze zu bilden.
Diese Sätze fungieren als Grundgerüst, um eine universelle Wahrheit zu finden und letztendlich sein Gegenüber in einer Diskussion argumentativ vom christlichen Glauben zu überzeugen. Dieser Ansatz überzeugte Kritiker nicht, war seiner Gesundheit schlussendlich auch nicht förderlich.
Künstliche Intelligenz (KI) ist der übergeordnete Begriff, der sich mit der Entwicklung von Computersystemen befasst, die menschenähnliche Intelligenz demonstrieren können. KI umfasst das gesamte Feld der intelligenten Systeme und deren Fähigkeit, komplexe Aufgaben zu lösen, die normalerweise menschliche Intelligenz erfordern.
Machine Learning (ML) ist eine spezifische Teilmenge der KI; ML beschreibt die Fähigkeit von Systemen, aus Daten zu lernen und sich zu verbessern, ohne explizit dafür programmiert zu werden. Ein ML-System erkennt Muster in Daten und entwickelt daraus eigenständig Lösungsstrategien.
Machine Learning und Künstliche Intelligenz sind nahe beieinander, aber nicht das Gleiche. Künstliche Intelligenz ist der übergeordnete Begriff, während Machine Learning eine spezifische Methode ist, um lernfähige KI-Systeme zu entwickeln. ML ist also ein Werkzeug der KI, während KI als Disziplin verschiedene Technologien und Methoden umfasst, um intelligente Systeme zu bauen.
Die Ideen hinter dem Machine Learning
Eine der Hauptideen hinter dem maschinellen Lernen ist das Lernen aus Beispielen. Wir bereiten eine möglichst große Menge an Datensätzen mit Beispielen vor und ein maschinelles Lernsystem „lernt“ aus diesen Datensätzen. Mit anderen Worten: Wir geben dem System die Eingabe und ggf. die gewünschte Ausgabe, und das System versucht herauszufinden, wie man die Umwandlung automatisch durchführen kann: Statistik auf Steroiden.
Alles, was wir für das maschinelle Lernen brauchen sind Datensätze - je mehr, desto besser - in denen wir für jedes Eingabeelement (hier: eine Kundenbeschreibung, das Feature oder die Features) die gewünschte Ausgabe (hier den Umsatz etc., das oder die Label) haben und einen geeigneten, von der Aufgabenstellung abhängigen Algorithmus.
Supervised Learning
Wir können z. B. eine Vielzahl von Datensätzen mit Beschreibungen von Kunden und den jeweiligen Umsätzen nach Sparten sammeln. Dann geben wir diese Datensätze an ein maschinelles Lernmodell weiter und „lehren“ es, indem wir ihm Kunden und deren Umsätze “zeigen”. Dieser Vorgang wird als Training oder manchmal auch als Fitting bezeichnet. Auf der Grundlage dieser Daten wird ein Modell erstellt. Wenn das Training abgeschlossen ist, können wir das Modell verwenden, indem wir es nutzen um bspw. Umsätze oder Kaufwahrscheinlichkeiten von Kunden vorherzusagen, die wir - genauer das Modell - noch nicht kennen.
Beim maschinellen Lernen geben wir dem System die Eingabe- und Ausgabedaten, und das Ergebnis ist ein Modell (Code), das die Eingabe in die Ausgabe umwandeln kann. Die Arbeit wird vom Rechner erledigt, wir müssen ggf. nur den Trainingsprozess überwachen, um sicherzustellen, dass das Modell gut ist.
Unsupervised Learning
Ein weiterer Anwendungsfall ist die Suche nach Mustern innerhalb der Daten. Im Gegensatz zum Supervised Learning werden hier dem maschinellen Lernmodell alle Features übergeben und das System sucht nach Mustern innerhalb der Features. Labels spielen, wenn überhaupt, nur eine indirekte Rolle, beispielsweise zur Bewertung der Modellqualität. In dem Beispiel könnte versucht werden, auf Basis der Features Kundenmerkmale und Umsätze pro Warengruppe Gruppierungen von Kunden zu finden z. B. „junge Sparfüchse“, „ältere Luxusliebhaber“ oder der “Otto Normalverbraucher”) oder Gruppierungen von Warengruppen, die oft zusammen gekauft werden. Hier wird der Trainingsprozess nicht anhand von Labels überwacht, ergo: Unsupervised Learning.
Reinforced Learning
Reinforcement Learning ist ein Ansatz, bei dem ein Agent lernt, optimale Entscheidungen in einer Umgebung zu treffen, indem er Erfahrungen sammelt und aus Belohnungen und Konsequenzen lernt. Diese Form des maschinellen Lernens hat Anwendungsgebiete, die nicht wirklich in den Beispielkontext dieses Dokumentes passen. Daher wird es auch hier nur erwähnt und nicht weiter detailliert.
Überblick über die Arten des maschinellen Lernens
Die folgende Grafik gibt einen ersten Überblick über den Weg durch den Dschungel des Maschinellen Lernens.
Doch so einfach, wie oben dargestellt, ist das Themengebiet nicht. Die folgende Tabelle gibt einen detaillierten Überblick über die Arten des maschinellen Lernens, die verwendeten Techniken und typische Anwendungsfälle; im Grunde kann man eine ganze Enzyklopädie des Maschinellen Lernens schreiben.
Abgrenzung zu anderen Themengebieten
Machine Learning und Programmierung
“Finally, a note on coding. Coding here is not the same coding there. Organizations with developers who have worked there for 20 years might know tremendous amounts about software development and systems, as one might after putting in their 10,000 hours several times over. But, because machine learning is new and complex, they may not have a clue how to deploy a model or build the ML infrastructure—even if they are senior engineers or managers.”
--- Jonathan Johnson
Sind sie Entwickler egal in welcher Technologie? Dann kennen Sie die Vorgehensweise, aus der Anforderungsanalyse ein bestimmtes Systemverhalten abzuleiten und entsprechend zu implementieren; sie nutzen Abstraktionen, um Flexibilität zu gewinnen. Am Ende des Tages werden irgendwelche Eingaben zu irgendwelchen Ausgaben transformiert; die Regeln legen Sie fest. Ändern sich die Regeln, sind Sie wieder am Zug.
Nehmen wir ein einfaches Beispiel: Berechne eine Rabattstaffel für einen Kunden in Abhängigkeit vom Umsatz. Ein No-Brainer sagen Sie? Jeder wird zustimmen, der Algorithmus ist zumeist recht simpel, selbst wenn Parameter wie “abhängig von Alter, Geschlecht, Wohnort, …” hinzukommen. Weitere Parameter (oder weniger Parameter) ziehen Änderungen im Algorithmus nach sich. Im Grunde haben Sie ein Modell erstellt, welches Eingaben zu Ausgaben transformiert. Es ist Ihr Werk, Glückwunsch.
Ist das Beispiel “Prognostiziere mir den Umsatz eines Kunden anhand diverser Eingangsparameter mit 96% Trefferquote” auch ein No-Brainer? Wenn Sie jetzt mit “Ja” antworten: ersparen Sie sich die ab jetzt folgenden Seiten. Im Gegensatz zu dem ersten Beispiel, bei dem sich die Regeln leicht ableiten lassen, haben Sie hier maximal Vermutungen hinsichtlich der Zielgröße (aber eine Menge an Beispieldaten). Anhand dieser Beispieldaten versuchen Sie zu lernen, wie man von den Parametern und deren Werten zu einem Ergebnis kommt und dieses dann in entsprechende Regeln zu transformieren.
Genau das macht Machine Learning (unter anderem) auch: das Finden und Erstellen von Regeln, wie man eine Eingabe in eine Ausgabe (Ergebnis) transformiert. Nur haben Sie in persona mit dem Finden und Erstellen der dazu notwendigen Regeln rein gar nichts zu tun. Die Daten werden vorbereitet und ein Modell mit den Trainings-Daten hin zu den Zielwerten trainiert. Sie prüfen noch die Güte der Vorhersage, das war es. Dann nehmen Sie das Modell in Betrieb und lassen es die Aufgabe verrichten, auf die Sie es trainiert haben.
Und noch etwas: Verabschieden Sie sich von dem Gedanken des “klassischen, schrittweisen” Debugging von ML-Modellen.
Machine Learning und Rules Engines
Die Frage kommt so sicher wie das Amen in der Kirche: Wenn ich regelbasierte System habe, wozu brauche ich Machine Learning? Der wesentliche Unterschied zwischen Machine Learning und Rules Engines liegt in der Art und Weise, wie Wissen erlangt und angewendet wird. Machine Learning ist ein lernbasierter Ansatz. Hier werden Modelle auf Basis von Daten trainiert. Ein ML-Modell lernt Muster und Beziehungen in großen Datensätzen zu erkennen und trifft daraufhin Vorhersagen oder Entscheidungen basierend auf diesen erlernten Mustern.
Dieser Ansatz eignet sich besonders für komplexe, nicht-linear strukturierte Daten und Szenarien, die dynamisch sind und sich ständig verändern können. Ein Beispiel ist die Kundensegmentierung, bei der das Modell in der Lage ist, Kunden mit ähnlichen Kaufgewohnheiten zu gruppieren, ohne dass vorher explizit festgelegt wurde, welche Merkmale dafür entscheidend sind.
Rules Engines hingegen basieren auf explizit definierten Regeln. Diese Regeln folgen einer klaren "Wenn-Dann"-Logik, die manuell vom Benutzer erstellt wird. Eine typische Anwendung ist etwa die Genehmigung von Kreditanträgen, bei der der Prozess strikt nach vorgegebenen Kriterien (z. B. Einkommenshöhe, Kreditwürdigkeit) entscheidet. Im Gegensatz zu Machine Learning, wo das Modell aus Beispielen lernt, arbeiten Rules Engines immer mit vordefinierten Bedingungen und sind somit in ihrer Entscheidungslogik deterministisch.
Ein weiterer wichtiger Unterschied zwischen den beiden Ansätzen ist die Anpassungsfähigkeit an neue oder sich ändernde Daten. Machine Learning-Modelle sind hochgradig anpassungsfähig. Sie lernen kontinuierlich und können durch Retraining auf neue oder geänderte Daten reagieren. Diese Flexibilität ist besonders wertvoll in dynamischen Umgebungen, in denen die Daten sich schnell ändern oder neue Muster entdeckt werden müssen.
Rules Engines sind weniger flexibel. Sie basieren auf festen Regeln, die (vom Product Owner) vorgegeben werden müssen. Bei Veränderungen in den Anforderungen oder neuen Szenarien müssen die Regeln manuell angepasst oder hinzugefügt werden. In komplexeren oder dynamischen Umgebungen kann dies zu einem hohen Wartungsaufwand führen.
Machine Learning erfordert zunächst einen höheren Entwicklungsaufwand. Die Daten müssen gesammelt, bereinigt und für das Modell vorbereitet werden. Auch das Training des Modells, die Validierung und das Testen sind ressourcenintensiv. Jedoch ist Machine Learning besonders gut geeignet, um mit großen, komplexen Datensätzen zu arbeiten. Es kann auch unstrukturierte Daten wie Texte oder Bilder verarbeiten und bietet eine hohe Skalierbarkeit, um mit immer größer werdenden Datenmengen zu arbeiten.
Rules Engines bieten einen wesentlich geringeren initialen Entwicklungsaufwand, solange die Logik und Regeln klar definiert sind. In vielen Fällen ist das Implementieren einer Rules Engine schneller, da sie auf einer festen und transparenten Logik basiert. Allerdings zeigt sich bei zunehmender Anzahl von Regeln oder wenn die Regeln komplexer werden, dass das System schwer zu pflegen und zu skalieren ist. Wenn die Geschäftslogik wächst, kann das Verwalten von Regeln zu einer Herausforderung werden.
Machine Learning und BI
Kurz und knapp: BI betrachtet die Vergangenheit, während KI (auch) die Zukunft vorhersagt.
Obwohl beide Bereiche das Ziel verfolgen, aus Daten Erkenntnisse zu gewinnen, unterscheiden sie sich fundamental in ihren Ansätzen und Möglichkeiten. Business Intelligence konzentriert sich primär darauf, Geschäftsdaten systematisch zu erfassen, aufzubereiten und zu analysieren. Dabei steht die Unterstützung von Managemententscheidungen durch faktenbasierte Einblicke in die Unternehmensperformance im Vordergrund. Ein typisches BI-System sammelt Daten aus verschiedenen Quellen wie Warenwirtschaftssystemen, CRM-Systemen und Finanzbuchhaltung, führt diese Daten in einem Data Warehouse zusammen, bereinigt und strukturiert sie. Durch verschiedene Analysewerkzeuge können dann Berichte erstellt, Dashboards generiert und Trends erkannt werden.
Machine Learning geht einen deutlich anderen Weg. Statt sich auf die reine Analyse historischer Daten zu konzentrieren, entwickelt ML Modelle, die aus den vorhandenen Daten lernen und eigenständig Muster erkennen können. Diese Modelle sind in der Lage, Vorhersagen zu treffen oder automatisierte Entscheidungen vorzuschlagen.
Ein wesentlicher Unterschied zwischen beiden Technologien liegt in der Art der Datenverarbeitung. Während BI hauptsächlich mit strukturierten Daten arbeitet, die in Tabellen und Datenbanken organisiert sind, kann ML auch unstrukturierte Daten wie Texte, Bilder oder Audiodateien verarbeiten. Dies erweitert den Anwendungsbereich erheblich.
Die zeitliche Ausrichtung stellt einen weiteren wichtige Unterscheidung dar. Business Intelligence blickt typischerweise in die Vergangenheit und analysiert die Gegenwart. Die zentrale Frage lautet hier: "Was ist passiert und warum?" Machine Learning hingegen ist zukunftsorientiert und beantwortet die Frage: "Was wird wahrscheinlich passieren?" Diese unterschiedliche zeitliche Orientierung spiegelt sich auch in den Anwendungsfällen wider.
In der Praxis ergänzen sich beide Technologien. Ein modernes Analysesystem kombiniert oft die strukturierte Aufbereitung und Visualisierung von Geschäftsdaten durch BI mit den Vorhersagefähigkeiten von ML. So können beispielsweise Entscheider in einem Dashboard nicht nur die historische Entwicklung ihrer Kennzahlen sehen, sondern auch KI-gestützte Prognosen für die kommenden Monate.
Man muss nicht über seherische Fähigkeiten verfügen, um vorherzusagen, dass die Zukunft eine noch stärkere Integration beider Technologien bringen wird. Moderne Analyseplattformen vereinen bereits heute BI- und ML-Funktionalitäten. Dabei wird die traditionelle Business Intelligence durch ML-Komponenten erweitert, etwa durch automatische Anomalieerkennung oder intelligente Datenaufbereitung. Gleichzeitig werden ML-Modelle immer besser in bestehende BI-Infrastrukturen integriert, wodurch ihre Ergebnisse für Entscheidungsträger leichter zugänglich werden.
Für den Einsatz in Unternehmen bedeutet dies, dass sie beide Technologien als komplementäre Werkzeuge betrachten sollten. Business Intelligence bildet das Fundament für datenbasierte Entscheidungen, während Machine Learning diese durch Analysen und Vorhersagen ergänzt. Eine Kombination beider Ansätze erlaubt das volle Potenzial der Daten auszuschöpfen.
Hier geht es zum Folgeartikel, hier geht es zum vorherigen Post. Bleiben Sie mir gewogen.