Grundlagen für maschinelles Lernen: Was ML ist und wie es funktioniert
5. April 2024
|Es war einmal (und das ist noch gar nicht so lange her), da dachte man, dass man ein Problem am besten mit Software lösen kann, indem man ein Expertensystem entwickelt. Dazu suchte man sich einen Experten, stellte ihm eine Menge Fragen, formulierte ein paar Regeln und schrieb dann ein Programm, das diese Regeln in der richtigen Reihenfolge umsetzt. Mit diesem Ansatz wird das menschliche Wissen auf sehr enge Weise in einem Programm verkapselt.
Gelegentlich funktionierte diese Vorgehensweise, doch ab und zu wurde eine wichtige Regel weggelassen oder der falsche Experte zu Rate gezogen. Solche Systeme waren statischer Natur, d.h. sie wurden nicht klüger und konnten sich nicht anpassen, wenn sich die Gegebenheiten änderten.
So entstand das Konzept des maschinellen Lernens.
Was ist maschinelles Lernen (ML)?
Maschinelles Lernen (ML) bezeichnet das Konzept, dass man bei einer umfangreichen Datenmenge keinen Experten hinzuzieht, der Regeln aufstellt, sondern dass das System anhand der Daten selbst lernt, was von Bedeutung ist. Maschinelles Lernen befähigt einen Computer, Muster zu erkennen. Indem man ein paar vorliegende Informationen einspeist, lernt die Maschine, eine korrekte Vorhersage zu treffen. Je mehr Daten dem Computer zugeführt werden, desto klüger wird er. Eine größere Datenmenge ist ideal, aber je vielfältiger die Daten sind, desto besser ist die Leistungsfähigkeit des Modells.
Wie funktioniert das maschinelle Lernen?
Beim maschinellen Lernen werden so genannte neuronale Netze verwendet. Dabei handelt es sich um Knotenpunkte in einem Programm, die ähnlich wie Gehirnzellen funktionieren. Bei bestimmten Ereignissen werden diese Knoten angeregt. Das Geniale am maschinellen Lernen ist, dass niemand den einzelnen Knoten vorgibt, wovon sie angeregt werden sollen! Das Modell entscheidet selbst, welche Faktoren relevant sind, indem es wiederholt große Datenbeispiele analysiert, um Muster zu erkennen und zu bestimmen, welche davon von Bedeutung sind.
Ein Modell für maschinelles Lernen ist eine Blackbox: Wir geben ihm Input und es erzeugt den richtigen Output, aber wir können nicht mit Sicherheit sagen, was im Inneren der Box passiert.
Ein Teilbereich des maschinellen Lernens wird als Deep Learning, also “tiefes Lernen” bezeichnet. Dabei bezieht sich der Begriff “deep” darauf, dass man hierfür “tiefere” neuronale Netzwerke benötigt (, d.h. wesentlich mehr Knotenpunkte in komplizierten Formationen). Wie man sich denken kann, wird Deep Learning eingesetzt, um kompliziertere Problemstellungen zu lösen.
Zunächst aber soll das nicht-tiefe maschinelle Lernen im Vordergrund stehen, um zu sehen, wozu es fähig ist!
Anwendungsfälle für maschinelles Lernen
Wofür lässt sich maschinelles Lernen in der realen Welt einsetzen? Im Folgenden sind ein paar Beispiele aufgeführt (und jedes davon basiert auf einer anderen Art des maschinellen Lernens). Sie unterstützen Marketingexperten, Fachkräfte im Gesundheitswesen und Finanzprofis dabei, ihre Arbeit schneller und effektiver zu erledigen.
1. Immobilienbewertung
Anhand von Faktoren wie Größe, Lage und Anzahl der Zimmer lassen sich die Preise von Wohngebäuden vorhersagen. Mit linearen Regressionsmodellen können diese Variablen analysiert werden, um so die Preise zu prognostizieren.
2. Medizinische Diagnostik anhand von Symptomen
Die Diagnose von Krankheiten kann mithilfe eines Entscheidungsbaums erfolgen, wobei das Modell einer baumartigen Struktur folgt, in der Entscheidungen und ihre möglichen Konsequenzen dargestellt sind.
3. Erkennung von E-Mail-Spam
Sogenannte Support Vector Machines (SVMs) können anhand von Merkmalen bekannter Spam- und Nicht-Spam-E-Mails erkennen, ob es sich bei einer E-Mail um Spam oder um eine seriöse E-Mail handelt. SVMs finden die bestmögliche Methode zur Unterscheidung der verschiedenen Datenklassen.
4. Kaufempfehlungen
Zur Empfehlung von Produkten auf einer E-Commerce Webseite kann die Kaufhistorie der Kunden herangezogen werden. Ein K-Nächste-rNachbarn-Alghorithmus kann Produkte vorschlagen, die von Kunden mit ähnlichen Kaufgewohnheiten erworben wurden. Dieses Verfahren betrachtet eine bestimmte Anzahl von “K” nächstliegenden Punkten (also von Kunden mit ähnlicher Kaufhistorie) und trifft Vorhersagen auf der Grundlage von deren Verhalten.
5. Bonitätsprüfung
Mithilfe der logistischen Regression lässt sich die Wahrscheinlichkeit prognostizieren, ob ein Kunde mit einem Kredit in Verzug gerät. Die logistische Regression kommt bei binären (also “Ja oder Nein”) Klassifizierungsproblemen zum Einsatz (z.B. Säumigkeit oder keine Säumigkeit).
6. Stimmungsanalyse in Produktrezensionen
Naive Bayes-Klassifikatoren können Bewertungen als positiv, negativ oder neutral klassifizieren.
Je mehr Daten ein Modell verarbeiten kann, desto präziser sind seine Vorhersagen. Unser Zeitalter der Big Data ist daher das ideale Umfeld für maschinelles Lernen.
Maschinelles Lernen und Grafikprozessoren
Ein weiterer Faktor, der maschinelles Lernen ermöglicht, sind Grafikprozessorchips (GPUs), die eigentlich entwickelt wurden, damit Videospiele möglichst flüssig laufen! ‘Wieso?’, werden Sie sich jetzt möglicherweise fragen. Es zeigt sich, dass die mathematischen Grundlagen des maschinellen Lernens auf einer sehr schnellen Verarbeitung von Vektoren beruhen.
Vektoren können Sie sich als Richtungspfeile vorstellen, die eine bestimmte Länge haben. Auf genau diese Weise werden die in Computerspielen verwendeten faszinierenden Bildwelten generiert.
Und da die Spieler immer mehr Wert auf eine realistische Darstellung legen, profitierte auch die Wissenschaft von immer schnelleren Grafikprozessoren, da solche GPUs parallel geschaltet werden können.
Schätzungen zufolge würde es 355 Jahre dauern, ChatGPT mit einem einzelnen Grafikprozessor zu trainieren. Weil aber etwa 25.000 Grafikprozessoren parallel eingesetzt wurden, dauerte es nur ein paar Tage. Modelle für maschinelles Lernen, die auf herkömmlichen Computer-CPUs Monate (oder noch länger) brauchen würden, lassen sich auf schnellen GPUs innerhalb von Stunden trainieren.
Ohne Computerspieler wären wir also wohl immer noch Jahre von einer brauchbaren ChatGPT-Version entfernt.
Kann maschinelles Lernen komplexe Probleme lösen?
Die oben genannten Anwendungsfälle waren bisher entweder unlösbar oder äußerst kostspielig, doch sie liefern entweder eine positive oder negative Antwort (Handelt es sich um Spam oder nicht? Wird Tom in Zahlungsverzug geraten oder nicht?).
Es gibt aber noch wesentlich komplexere Problemstellungen, die wir lösen müssen, wie z.B. Computer dazu zu bringen, die englische oder deutsche Sprache zu verstehen, oder anhand einer verbalen Beschreibung den passenden Ausschnitt aus einem Film zu finden, oder eben das unlängst so bekannt gewordene ChatGPT zu entwickeln und zu trainieren.
Ein Teilbereich des maschinellen Lernens, das so genannte Deep Learning, eignet sich noch besser für die Bewältigung anspruchsvoller Probleme mit viel komplizierteren Antworten.
Komplexere Probleme erfordern auch komplexere maschinelle Lernmodelle!