Was ist eigentlich… Machine Learning?

Stellen Sie sich vor, Sie haben einen großen Haufen von Daten. Vielleicht sind in dem Haufen interessante Erkenntnisse vergraben, vielleicht auch nicht. Was tun Sie? Sie fangen einfach mal an zu graben.

Vom Data Mining zum Machine Learning

Das ist Data Mining: die Erforschung von großen Datenbeständen, bei der nach bisher unbekannten Mustern und Zusammenhängen gesucht wird.

Ein verwandter Begriff ist Knowledge Discovery in Databases (KDD). KDD beinhaltet auch noch die Arbeitsschritte, die notwendig sind, um die Datenbestände auf das Data Mining vorzubereiten, also beispielsweise die Umwandlung in andere Formate und die Entfernung von falschen oder ungültigen Datensätzen. Häufig werden Data Mining und KDD aber auch synonym verwendet, wobei KDD eher im englischsprachigen Raum gebräuchlich ist.

Die Begriffe Data Mining und KDD tauchten um das Jahr 1990 herum auf. Sie bezeichneten erst einmal keine neuartigen Methoden, um Vorhersagen zu treffen und Daten zu kategorisieren. Vielmehr wurden im Data Mining und KDD altbekannte Methoden aus der Statistik eingesetzt.

Neuartig war nur der Zweck, zu dem sie verwendet wurden: nicht, um eine vorher festgelegte Forschungsfrage zu beantworten, sondern um durch Probieren herauszufinden, welche Einsichten sich aus einem großen Datenbestand gewinnen ließen – ob sich beispielsweise zukünftige Ereignisse daraus vorhersagen ließen.

Dieses Data Mining – für welche Zwecke auch immer es nun eingesetzt wird – ist aber nur ein Teilbereich eines größeren Gebietes: nämlich des maschinellen Lernens oder Machine Learning.

Definition: Als Machine Learning bezeichnet man es, wenn digitale Systeme in der Lage sind, aus Erfahrung Wissen abzuleiten und dieses Wissen auf neue Probleme anzuwenden.

So lernen auch Lebewesen: Sie nehmen Informationen aus der Außenwelt, die sie über ihre Sinne aufnehmen, und ziehen daraus Schlüsse und finden Muster und Gemeinsamkeiten.

Vom Machine Learning zu unterscheiden sind alle Systeme, bei denen das Wissen explizit vom Programmierer vorgegeben wird, etwa in Form von ausdrücklich formulierten Regeln.

Beispiel: Sie möchten ein Programm zur Bilderkennung schreiben, das zwischen Fotos von Kirschen und Fotos von sauren Gurken unterscheiden kann.

Sie könnten innerhalb des Programms folgende Anweisungen geben:

  • Wenn die Farbe des Objekts rot ist, dann handelt es sich um eine Kirsche.
  • Wenn die Farbe des Objekts grün ist, dann handelt es sich um eine Gurke.

Vielleicht kann das Programm die Farbe des Objekts nicht klar erkennen, weil das Foto etwa schlecht ausgeleuchtet war. Dann könnte es so weitergehen:

  • Wenn die Form des Objekts rund ist, dann handelt es sich um eine Kirsche.
  • Wenn die Form des Objekts länglich ist, dann handelt es sich um eine Gurke.

Ein solches regelbasiertes System fällt üblicherweise nicht unter die Definition von Machine Learning.

Sie können aber auch einen lernenden Algorithmus verwenden. Diesen trainieren Sie dann mit vielen Bildern von Kirschen und vielen Bildern von sauren Gurken, bis er schließlich selbst in der Lage ist, Kirschen von sauren Gurken zu unterscheiden. Das ist Machine Learning.

Kein Machine Learning ohne Daten

Jede Art von Machine Learning braucht zunächst eine Voraussetzung: Daten, aus denen gelernt werden kann. Diese werden als Trainingsdatensatz bezeichnet.

Definition: Ein einzelnes »Datum« aus einem Datensatz wird im Machine Learning auch als Beispiel bezeichnet.

Das Foto Nr. 570 aus dem Trainingsdatensatz mit Kirschen und Gurken ist also ein Beispiel aus dem Trainingsdatensatz (und zeigt entweder eine Kirsche oder eine Gurke).

Was ist eigentlich... Machine Learning
Quelle: Quaritsch Photography (Unsplash)

Dieser Trainingsdatensatz kann unterschiedlich aussehen: Einige Datensätze enthalten schon die richtigen Antworten, die der Computer später selbstständig geben soll. Diese werden als gelabelte Trainingsdatensätze bezeichnet (von »label« = Etikett oder Beschriftung).

Beispiel: Ihr Programm zur Unterscheidung von Kirschen und sauren Gurken erhält zum Training jeweils 1000 Bilder von Kirschen und 1000 Bilder von sauren Gurken. Zu jedem dieser Bilder liefern Sie dem Programm entweder die Information »Kirsche« oder die Information »Gurke«.

Nach der Verarbeitung des Trainingsdatensatzes kann das Programm jedes neue, bisher unbekannte Bild in die Kategorie »Kirsche« oder die Kategorie »Gurke« einsortieren.

Manche Machine-Learning-Verfahren können aber auch mit Trainingsdatensätzen arbeiten, zu denen gar keine weiteren Informationen vorliegen. Das sind sogenannte ungelabelte Trainingsdatensätze.

Beispiel: Ein anderes Programm zur Unterscheidung von Kirschen und sauren Gurken erhält zum Training jeweils auch 1000 Bilder von Kirschen und 1000 Bilder von sauren Gurken. Hier wird allerdings keine Information darüber mitgeliefert, ob es sich bei einem bestimmten Bild um das Bild einer Kirsche oder einer Gurke handelt.

Nach der Verarbeitung des Trainingsdatensatzes hat das Programm aus den Trainingsbildern selbstständig den Schluss gezogen, dass es offenbar zwei Klassen von Bildern gibt. Jedes neue Bild kann es einer dieser beiden Klassen zuordnen. Das Programm »weiß« allerdings nicht, dass es sich bei den Abbildungen um Kirschen und Gurken handelt.

Je nachdem, ob gelabelte oder nicht gelabelte Trainingsdatensätze verwendet werden, unterscheidet man im Machine Learning überwachtes Lernen vom nicht überwachten Lernen. Gebräuchlicher, auch im deutschsprachigen Raum, sind dafür die Begriffe Supervised Learning und Unsupervised Learning.

Wie genau lernt ein Machine-Learning-Modell?

Dazu notwendig ist erst einmal ein Algorithmus. Dieser braucht dann zwei Datensätze notwendig: Ein Trainingsdatensatz und ein Testdatensatz. Jeder Datensatz besteht aus sehr vielen Beispielen.

Den Trainingsdatensatz nutzt der Algorithmus zum Lernen im engeren Sinne: Hier leitet er etwa ab, welche Kategorien welche relevanten Merkmale haben. Die Beispiele im Trainingsdatensatz sollen den Daten, für die der Algorithmus später in freier Wildbahn eingesetzt wird, möglichst ähnlich sein.

Wenn der Algorithmus fertig trainiert wurde, wird er auf den Testdatensatz losgelassen. Der Testdatensatz enthält Daten, die vorher nicht im Trainingsdatensatz enthalten waren. Hier wird dann die Genauigkeit gemessen, mit der der Algorithmus die Klassifikation oder Vorhersage durchführt.

So wird zum Beispiel festgestellt, ob beim Training sogenanntes Overfitting eingetreten ist – ob also der Algorithmus die Merkmale des Trainingsdatensatzes so detailliert gelernt hat, dass er nicht mehr gut auf andere Daten zu verallgemeinern ist.

Man kann sich den Algorithmus auch vorstellen wie einen Schüler, der zunächst sehr viele Übungsaufgaben löst – das ist der Trainingsdatensatz. Dann muss er irgendwann eine Klassenarbeit schreiben und dabei zeigen, wie gut er mit dem Trainingsdatensatz gelernt hat – das ist dann der Testdatensatz. Einige Schüler haben sich die Übungsaufgaben so sehr eingeprägt, dass sie mit leicht veränderten Aufgaben in der Klassenarbeit nicht mehr so gut klarkommen – das wäre dann Overfitting.

Bei einigen Machine-Learning-Verfahren kommt zwischen dem Trainings- und dem Testdatensatz auch noch ein Validierungsdatensatz zum Einsatz, anhand dessen die Feinjustierung einiger Parameter vorgenommen wird.

Sowohl für das Supervised Learning als auch für das Unsupervised Learning sind in den letzten Jahren und Jahrzehnten eine Reihe von Algorithmen entwickelt worden. Es gibt sogar einige Algorithmen, die sich für beide Arten des Machine Learnings einsetzen lassen: zum Beispiel neuronale Netzwerke, die Grundlage für Deep Learning.

Allgemeinbildung Digitalisierung für Dummies

Möchten Sie mehr erfahren? Dieser Blogbeitrag ist ein Auszug aus meinem Buch Allgemeinbildung Digitalisierung für Dummies (Wiley-VCH, 2022). Dieses gibt Ihnen eine verständliche und unterhaltsame Einführung in unsere digitale Welt – mehr dazu hier!

Cover "Allgemeinbildung Digitalisierung für Dummies"