Wer heute einen Zeitungsartikel liest, der sich um technische Neuerungen dreht, stolpert oft über Begriffe wie „maschinelles Lernen“ oder „neuronale Netze“.  Diese Meldungen sind dann meistens nach ein und demselben Schema aufgebaut: Durch eine Methode aus dem Bereich des „machine learnings“, war ein Computer in der Lage dem Menschen nach kurzer Zeit bei einer Aufgabe überlegen zu sein. Im Folgenden werden dann komplexe Begriffe verwendet, um scheinbar noch komplexere Sachverhalte zu erklären. An dieser Stelle soll aber bewusst das Wort „scheinbar“ verwendet werden, da in diesem und den kommenden Blogartikeln mit dem Klischee gebrochen werden soll.

Wer komplexe Sachverhalte nicht einfach erklären kann, hat sie nicht verstanden…

Frei nach diesem Motto soll unsere Blogartikel-Serie zum Thema machine learning jedem einen Einblick in die Welt künstlicher Gehirne und intelligenter Computer geben. Dieser und die kommenden Blogartikel werden bewusst nur dort Fachbegriffe verwenden, wo sie nützlich sind, um ein intuitives Verständnis zu gewinnen. Darüber hinaus soll ein Gespür für Probleme entwickelt werden, die sich durch den Werkzeugkasten des machine learnings lösen lassen. Denn wer die Probleme erkennt und die Intuition besitzt, der wird auf den ersten Blick wissen, wo machine learning unschlagbare Lösungen liefern kann.

Dazu wird in diesem Blogartikel zunächst einmal klargestellt, worum es sich beim „machine learning“ handelt. Zu diesem Zweck wird es zunächst eine allgemeine Einführung in das Thema geben, um im Anschluss einige Probleme zu erläutern die wie gemacht für den Einsatz dieser Methoden sind. Abschließend gibt es noch einen kleinen Vorgeschmack auf den folgenden Beitrag, in dem ein Eindruck über die Möglichkeiten der Implementierung dieser Algorithmen für echte Anwendungen gegeben werden soll.

Intelligente Maschinen, Fakten und Fiktion

Die Frage wie Maschinen lernen, hängt noch immer zum größten Teil von der konkreten Aufgabe ab, den gewählten Algorithmen und den zur Verfügung stehenden Daten. Wir sind noch weit von allwissenden Supercomputern entfernt, auch wenn viele der heutigen Algorithmen auf ihren jeweiligen Spezialgebieten diesen Status schon fast erreichen. Denn ähnlich einem echten, bietet der Werkzeugkasten des machine learnings zahlreiche, vielfältige Methoden an, die den Umständen entsprechend ausgewählt und dann lösungsorientiert angewendet werden müssen. Die Stärken und Schwächen dieser Algorithmen hängen ausschließlich von ihren mathematischen Fundierungen ab, wofür in den kommenden Artikeln noch ein intuitives Verständnis entwickelt werden soll.

Grundsätzlich lassen sich die Lernmethoden in drei Gruppen unterteilen: überwachtes Lernen, unüberwachtes Lernen und verstärkendes Lernen.

Überwachtes Lernen beschreibt dabei eine Reihe von Methoden, bei denen der Algorithmus anhand bestehender Daten zunächst eigene Regeln für die Zuordnung von Objekten entwickelt. Diese Regeln können im Nachhinein dann angewandt werden um neue Datensätze Klassen oder Werten zuzuordnen. Ein bekanntes Beispiel ist die Vorhersage von Immobilienpreisen, wobei der Algorithmus zunächst anhand vergangener Immobilientransaktionen eigene Regeln für den Wert von Immobilien festlegt. Im Anschluss kann der Algorithmus dann, anhand der Daten über eine neue Immobilie, zukünftige Preise abschätzen (hier handelt es sich um ein sog. Regressionsproblem, da die Ergebnisse beliebige Zahlen annehmen können). Ein weiteres bekanntes Beispiel ist die Zuordnung (Klassifikation) von Blütenblättern zu einer Pflanzengattung. Dabei lernt der Algorithmus die Eigenschaften der verschiedenen Gattungen aus einem bestehenden Datensatz. Im Anschluss ist es dann möglich Pflanzen einer Gattung ausschließlich anhand der Blütenabmaße zuzuordnen.

Abbildung 1 Hier war es die Aufgabe des Computers, Kreuze, Vierecke und Kreise anhand der Stützvektormethode (SVM) zu unterscheiden, die farbigen Bereiche zeigen die vom Computer errechneten Entscheidungsgrenzen.

Aber lange nicht alle Probleme lassen sich durch überwachtes Lernen lösen. Eine weitere Gruppe von Methoden bietet das unüberwachte Lernen, das vor allem dann zum Einsatz kommt, wenn die Struktur des Datensatzes vorher nicht bekannt ist. Diese Eigenschaft des unüberwachten Lernens ist beispielsweise bei der Bilderkennung von hohem Nutzen. Dabei werden dem Algorithmus Bilder gezeigt, in denen er im Anschluss selbstständig Muster und  Strukturen, wie Gebäude, Tiere oder Menschen erkennen soll. Danach können dann über die Struktur der Objekte oder des Bildes Rückschlüsse über den Inhalt gezogen werden. Auch hier handelt es sich wieder um ein Klassifikationsproblem, da die Menge der Ergebnisse (Klassen) beschränkt ist und alle Datensätze einer dieser Mengen zugeordnet werden müssen. Der Vorteil eines unüberwachten Lernalgorithmus liegt bei der Klassifikation. Denkbar sind beispielsweise die Analyse von Kundendaten um Informationen über Kundengruppen zu gewinnen, die bisher nicht bekannt waren. Ebenfalls kann eine Hauptkomponenten-Analyse genutzt werden um den Datensatz auf die aussagekräftigsten Merkmale zu reduzieren und damit zu vereinfachen.

Abbildung 2: Basierend auf dem bereits zuvor verwendeten Datensatz, erfolgte hier die Aufteilung nach der K Means Methode, wobei der Computer selbstständig die Unterteilung (Clustering) in Gruppen vornehmen musste.

Die letzte Gattung der maschinellen Lernalgorithmen sind die Algorithmen des verstärkenden Lernens. Der große Unterschied ist hier, dass der Algorithmus für Lösungsvorschläge des Problems belohnt oder bestraft werden kann und anhand dieser äußeren Einflussnahme einen Weg finden soll das Problem optimal zu lösen. Bekannte Beispiele sind hier Computer die Spiele erlernen sollen. Nach jedem Spiel, oder nach jedem Zug, wird die Handlungsweise des Computers ausgewertet und eine Belohnungs- oder Bestrafungsfunktion nimmt Einfluss auf den Algorithmus. Auf diese Art und Weise findet der Algorithmus über eine hohe Zahl an Durchläufen bzw. Spielen optimale Strategien und kann innerhalb kürzester Zeit Spiele wie Schach oder Go erlernen. Die überwiegende Mehrheit der machine learning-Anwendungen in der Wirtschaft hängen jedoch nicht mit diesen Algorithmen zusammen. Die folgenden Beiträge werden sich daher vor allem auf überwachtes und unüberwachtes Lernen beziehen.

In den kommenden Beiträgen werden weitere Beispiele praxisnaher Probleme folgen und es wird gezeigt, wie wichtig das Verständnis der Algorithmen und der eigenen Datenbasis ist. Dabei soll immer ein Augenmerk auf die Möglichkeiten zur Integrierung der Algorithmen in bereits bestehende Prozesse gelegt werden, denn die besten Algorithmen sind ohne eine gute Integration in die eigene IT-Landschaft wertlos. Zu diesem Aspekt tragen heute viele IT System schon bei, indem sie nahtlos integrierte Verfahren anbieten, die für die meisten Anwendungen in der Praxis mehr als ausreichend sind. Aber selbst, wenn diese IT-Systeme nicht vorhanden sind, so lassen sich oft sehr einfache und zuverlässige Arten und Weisen finden, mit denen maschinelle Lernalgorithmen in die eigenen Prozesse integriert werden können.