In diesem Abschnitt werden wir die drei verschiedenen Gattungen des Machine Learnings betrachten: überwachtes Lernen, unüberwachtes Lernen und Reinforcement Learning. Sie werden erfahren, welche grundlegenden Unterschiede es zwischen diesen drei Varianten gibt und anhand von Beispielen allmählich ein Gespür dafür entwickeln, auf welche praktischen Aufgabenstellungen sie sich anwenden lassen:
1.2.1 Mit überwachtem Lernen Vorhersagen treffen
Das Hauptziel des überwachten Lernens ist, ein Modell anhand mit Labels gekennzeichneter Trainingsdaten zu erlernen, um so Voraussagen über unbekannte oder zukünftige Daten treffen zu können. Der Begriff »überwacht« bezieht sich hier auf Trainingsdaten (Eingabedaten), die bereits mit den bekannten erwünschten Ausgabewerten (Bezeichnungen/Labels) gekennzeichnet sind.
Betrachten wir als Beispiel das Filtern von E-Mail-Spam. Wir können einen überwachten Lernalgorithmus mit einer Sammlung von als Spam oder Nicht-Spam gekennzeichneten E-Mails »trainieren«, um dann vorherzusagen, zu welcher dieser Klassen eine neue E-Mail gehört. Eine solche Einteilung in bestimmte Klassen wird als Klassifikation bezeichnet. Eine weitere Unterkategorie des überwachten Lernens ist die Regression, bei der die Ausgabewerte im Gegensatz zur Klassifikation stetig sind.
Klassifikation: Vorhersage der Klassenbezeichnungen
Die Klassifikation ist eine Unterkategorie des überwachten Lernens, die es zum Ziel hat, anhand vorhergehender Beobachtungen die kategorialen Klassen neuer Instanzen vorherzusagen. Die Bezeichnungen dieser Klassen sind eindeutige, ungeordnete Werte, die als Gruppenzugehörigkeit der Instanzen aufgefasst werden können. Die soeben erwähnte E-Mail-Spamerkennung stellt ein typisches Beispiel für eine binäre Klassifikation dar, denn der Algorithmus erlernt Regeln, um zwischen zwei möglichen Klassen zu unterscheiden: Spam oder Nicht-Spam.
Die folgende Abbildung illustriert das Konzept einer binären Klassifikation, die mit 30 Beispielen trainiert wird, von denen 15 als negative Klasse (Minuszeichen) und weitere 15 als positive Klasse (Pluszeichen) gekennzeichnet sind. Die Datenmenge ist in diesem Szenario zweidimensional: Jedem Beispiel sind die beiden Werte x1 und x2 zugeordnet. Nun können wir dem überwachten Lernalgorithmus eine Regel beibringen: Die durch eine gestrichelte Linie dargestellte Grenze trennt die beiden Klassen voneinander und ermöglicht es, neue Daten anhand der Werte von x1 und x2 einer der beiden Klassen zuzuordnen.
Die Anzahl der Klassenbezeichnungen muss allerdings nicht auf zwei beschränkt sein. Das von einem überwachten Lernalgorithmus erlernte Vorhersagemodell kann einer neuen, noch nicht mit Label gekennzeichneten Instanz jede Bezeichnung zuordnen, die in den Trainingsdaten vorkommt.
Ein typisches Beispiel für solch eine Multiklassen-Klassifikation ist die Handschrifterkennung. Hier könnten wir eine Trainingsdatenmenge zusammenstellen, die aus mehreren handgeschriebenen Beispielen aller Buchstaben des Alphabets besteht. Die Buchstaben (»A«, »B«, »C« usw.) repräsentieren die verschiedenen Kategorien oder Klassenbezeichnungen, die wir vorhersagen möchten. Wenn dann ein Anwender über ein Eingabegerät einen neuen Buchstaben angibt, wäre unser Vorhersagemodell in der Lage, diesen mit einer gewissen Zuverlässigkeit zu erkennen. Das System wäre allerdings nicht imstande, irgendeine der Ziffern von null bis neun zu erkennen, sofern diese nicht ebenfalls Bestandteil der Trainingsdaten waren.
Regression: Vorhersage stetiger Ergebnisse
Im vorangegangenen Abschnitt haben wir festgestellt, dass es die Aufgabe einer Klassifikation ist, Instanzen kategoriale, ungeordnete Klassenbezeichnungen zuzuordnen. Ein zweiter Typ des überwachten Lernens ist die Vorhersage stetiger Ergebnisse, die auch als Regressionsanalyse bezeichnet wird. Hierbei sind verschiedene unabhängige oder erklärende Variablen sowie eine stetige Zielvariable (Ergebnis) vorgegeben und wir versuchen, eine Beziehung zwischen diesen Variablen zu finden, um Ergebnisse vorhersagen zu können.
Beachten Sie hier, dass die erklärenden Variablen beim Machine Learning oft als »Merkmale« oder »Features« und die Ergebnisse als »Zielvariablen« bezeichnet werden. Wir werden diese Begriffe ebenfalls verwenden.
Nehmen wir beispielsweise an, dass wir die von Schülern bei einer Matheprüfung erreichten Punktzahlen prognostizieren möchten. Sofern es einen Zusammenhang zwischen der mit dem Üben für die Prüfung verbrachten Zeit und den erzielten Punktzahlen gibt, könnten wir daraus Trainingsdaten für ein Modell herleiten, das anhand der aufgewendeten Übungszeit die Punktzahlen von Schülern voraussagt, die die Prüfung in Zukunft ebenfalls abzulegen beabsichtigen.
Der Begriff Regression wurde schon 1886 von Francis Galton in einem Artikel mit dem Titel Regression Towards Mediocrity in Hereditary Stature geprägt. Galton beschrieb darin das Phänomen, dass sich bei der Bevölkerung die mittlere Abweichung von der durchschnittlichen Körpergröße im Laufe der Zeit nicht vergrößert.
Er beobachtete, dass die Körpergröße der Eltern nicht an die Kinder vererbt wird, vielmehr nähert sich die Größe der Kinder dem Durchschnittswert an.
Die folgende Abbildung illustriert das Konzept der linearen Regression. Bei vorgegebener unabhängiger Variablen x und abhängiger Variablen y passen wir eine Gerade so an die Daten an, dass ein Maß für den Abstand der Geraden von den Beispielwerten (üblicherweise der Mittelwert der quadrierten Differenzen) minimal wird. Nun können wir den aus den Daten ermittelten Schnittpunkt mit der y-Achse sowie die Steigung der Geraden verwenden, um das Ergebnis für neue Werte vorherzusagen.
1.2.2 Interaktive Aufgaben durch Reinforcement Learning lösen
Die dritte Variante des Machine Learnings ist das Reinforcement Learning. Hier besteht die Zielsetzung darin, ein System zu entwickeln (den Agenten), das seine Leistung durch Interaktionen mit seiner Umgebung verbessert. Zu den Informationen über den aktuellen Zustand der Umgebung gehört typischerweise ein sogenanntes Belohnungssignal, daher ist das Reinforcement Learning in gewisser Weise mit dem überwachten Lernen verwandt. Allerdings handelt es sich bei diesem Feedback nicht um die korrekte Klassenbezeichnung oder den richtigen Wert, sondern um eine Bewertung dafür, wie gut die Aktion war, dies wird durch eine Belohnungsfunktion festgelegt. Der Agent kann so über Interaktionen mit seiner Umgebung durch Reinforcement Learning erkennen, welche Aktionen besonders gut belohnt werden. Das kann durch schlichtes Ausprobieren (Versuch und Irrtum) oder durch bewusste Planung geschehen.
Ein schönes Beispiel für Reinforcement Learning ist ein Schachcomputer. Hier bewertet der Agent nach einer Reihe von Zügen die Stellung auf dem Schachbrett (die Umgebung), und die Belohnung kann am Ende des Spiels als Sieg oder Niederlage definiert werden.
Es gibt eine Vielzahl verschiedener Unterarten des Reinforcement Learnings. Im Allgemeinen versucht der Agent jedoch, die Belohnung durch eine Reihe von Interaktionen mit der Umgebung zu maximieren. Jedem Zustand kann eine positive (oder negative) Belohnung zugeordnet werden, und diese Belohnung kann dadurch definiert werden, dass ein Gesamtziel erreicht wird, wie z.B. das Gewinnen oder das Verlieren einer Schachpartie. Beim Schachspiel kann etwa das Ergebnis eines jeden Spielzugs als ein anderer Zustand der Umgebung aufgefasst werden.
Um beim Schach zu bleiben: Stellen Sie sich das Erreichen bestimmter Stellungen auf dem Schachbrett als positives Ereignis vor, d...