Supervised, Unsupervised und Reinforcement Learning – Was bedeutet was?

December 21, 2020
5 min
Machine Learning
Credits to Erik Stein from pixabay.com

Machine Learning (ML) basiert im Kern auf Algorithmen, welche Daten verwenden, um selbst zu lernen. So haben wir ML in diesem Artikel definiert und erläutert was Machine Learning ist. In den vergangenen Jahrzehnten wurden unterschiedliche Algorithmen entwickelt, welche die Basis für ML-Programme bilden. Beispiele für solche Algorithmen sind Decision Trees, Nearest Neighbor oder Künstliche Neuronale Netze. Die einzelnen Algorithmen beschreiben wir in weiteren Artikeln detaillierter. Jedoch lassen sich diese in drei Kategorien einteilen. Da im Zusammenhang von ML öfters von diesen drei Kategorien gesprochen wird, möchten wir einen kurzen Überblick über diese geben und darstellen, wo die Unterschiede liegen. Dieser Artikel gibt einen Überblick über die drei grundsätzlichen Arten des Machine Learnings: Supervised, Unsupervised und Reinforcement Learning.

Supervised Learning

Die erste Kategorie, die wir näher betrachten heißt Supervised Learning (Überwachtes Lernen). Beim Supervised Learning lernt ein Computer vom Menschen vorgegebene Bezeichnungen (sogenannte Label) vorherzusagen [1]. Im Folgenden werden wir den englischen Begriff Label verwenden, da dieser auch im deutschsprachigen Raum des Machine Learning geläufig ist. Der Ablauf des Supervised Learning während des Trainingsprozesses ist in der folgenden Abbildung dargestellt.

Ablauf beim supervised learning
Ablauf Supervised Learning

Für einen Supervised Learning Algorithmus werden folgende Elemente benötigt: Trainingsdaten, Trainingslabel und der ausgewählte Algorithmus mit festgelegten Parametern. Als Algorithmus können bspw. Künstliche Neuronale Netze ausgewählt werden. Parameter, die hierfür eingestellt werden können, sind bspw. die Anzahl der versteckten Schichten (hidden layer) oder die Anzahl der versteckten Einheiten (hidden units). Essenziell für Supervised Learning Algorithmen sind die Trainingsdaten und Trainingslabel. Um den Vorgang des Supervised Learning zu verdeutlichen verwenden wir folgendes Beispiel: Es soll ein Algorithmus trainiert werden, welcher erkennt, ob auf einem Bild ein Hund, eine Katze oder ein Vogel zu erkennen ist. Hierzu benötigen wir als Trainingsdaten möglichst viele Bilder, auf denen immer eins der drei Tierarten abgebildet ist. Hat man diesen Trainingsdatensatz zusammengestellt benötigt jedes der Bilder ein Label. Dies bedeutet, dass jedes Bild von einem Menschen als Hund, Katze oder Vogel gekennzeichnet werden muss. In der Programmierung würden wir hier Bezeichnungen verwenden, die der Computer versteht, also 0, 1 oder 2. Haben wir unseren Trainingsdatensatz mit dazugehörigen Labeln zusammengestellt kann der Algorithmus trainiert werden. Auf Basis der Eingänge (Trainingsdaten) lernt der Algorithmus die richtigen Ausgänge (Label) vorherzusagen. Wie dies genau funktioniert schauen wir uns in den folgenden Artikeln an. Ist der Algorithmus fertig trainiert, ist er in der Lage neue, ihm unbekannte Bilder, richtig vorherzusagen. Wird ihm also ein neues Bild einer Katze gezeigt, ist der Algorithmus, wenn er gut trainiert wurde, in der Lage dieses als Katze zu klassifizieren. Zusammengefasst geht es beim Supervised Learning darum einen Algorithmus auf gekennzeichneten (den Labeln) Trainingsdaten so zu trainieren, dass dieser im Betrieb verwendet werden kann, um neue Daten den richtigen Labeln zuordnen zu können.

Unsupervised Learning

Unsupervised Learning (unüberwachtes Lernen) ist die zweite Kategorie, die wir betrachten. Beim Unsupervised Learning wird dem Algorithmus ein Datensatz zur Verfügung gestellt, der jedoch über keine Label verfügt. Die Aufgabe des Algorithmus besteht darin in dem Datensatz Muster zu erkennen und basierend auf diesen Mustern die Daten bspw. sinnvoll zu kategorisieren [2]. Der Ablauf des Unsupervised Learning ist in der folgenden Abbildung dargestellt. 

Ablauf beim unsupervised learning
Ablauf Unsupervised Learning

Bleiben wir beim Beispiel der Klassifikation der Bilder von Katzen, Hunden und Vögeln. Genau wie beim Supervised Learning benötigen wir einen Datensatz, der aus Bildern dieser drei Tierarten besteht. Was fehlt sind jedoch die Label, die wir beim Supervised Learning ebenfalls benötigt haben. Zusätzlich zum Datensatz brauchen wir wieder einen Algorithmus. Auch hier gibt es verschiedene bspw. den sogenannten K-Means Clustering Algorithmus. Wie der Name schon sagt, klassifizieren wir in Ermangelung von Labels keine Daten, sondern versuchen diese zu Clustern (gruppieren). Diesem Algorithmus muss die Anzahl der Cluster vorgegeben werden, im Beispiel also drei. Der Algorithmus sucht im Folgenden nach Mustern in den Bildern und gruppiert diese dann in drei Clustern. Ziel ist es, dass aufgrund von Gemeinsamkeiten der Katzenbilder diese in einem Cluster, die Hundebilder in einem und die Vogelbilder in einem Cluster zusammengefasst werden. Der Unterschied zum Supervised Learning besteht zusammengefasst also darin, dass wir keine Label zum Trainieren des Algorithmus benötigen, sondern dieser aufgrund von Mustern die Daten in entsprechenden Clustern zusammenfasst.

Reinforcement Learning

Die dritte Gruppe der Machine Learning Algorithmen wird als Reinforcement Learning (bestärkendes Lernen) bezeichnet. Beim Reinforcement Learning interagiert ein sogenannter Agent mit seiner Umgebung (Environment), um ein bestimmtes Ziel (Goal) zu erreichen [3]. Wie so ein Reinforcement Learning Algorithmus funktioniert und abläuft, lässt sich am besten an einem Beispiel erklären. Hierfür nehmen wir einen Haushaltsroboter, der ein Glas Saft einschenken soll, ohne etwas zu verschütten oder es überlaufen zu lassen. Hier haben wir schon drei der wichtigsten Komponenten eines Reinforcement Learning Systems definiert: den Agenten (Haushaltsroboter), die Umgebung (das Glas Saft und alles drumherum, was nass werden kann) und das Ziel (Glas Saft einschenken, ohne etwas zu verschütten, oder das es überläuft). Um dieses Ziel zu erreichen, kann der Agent zum einen seine Umgebung wahrnehmen und Aktionen (Actions) ausführen. Das der Agent seine Umgebung beobachten kann bedeutet, dass er wahrnimmt, wenn er Saft neben das Glas schüttet, oder das Glas überläuft. Mit anderen Worten nimmt er den Zustand (State) seiner Umgebung wahr. Aktionen, die er in diesem Beispiel ausführen kann, sind Saft einschenken (mit unterschiedlicher Geschwindigkeit) und das Einschenken zu stoppen. Die Aufgabe des Agenten besteht darin, auf Basis seiner wahrgenommen Umgebung, eine passende Aktion abzuleiten. Welche Aktion ausgeführt werden soll, wird durch eine Richtlinie (Policy) definiert. Die Aufgabe der Richtlinie besteht darin auf Basis der vorher ausgeführten Aktion und dem Beobachten der Umgebung abzuleiten, was als nächste Aktion ausgeführt werden soll. Neben der Richtlinie ist jedoch ein weiterer Punkt ausschlaggebend für die nächste Aktion: die Belohnung (Reward). Die Belohnung ist der Gradmesser dafür, ob eine Aktion des Agenten gut auf die Umgebung gewirkt hat oder nicht. Das oben genannte Ziel eines jeden Agenten besteht darin, eine möglichst hohe Belohnung zu erhalten. Wird eine Aktion ausgeführt, die von der Umgebung schlecht aufgenommen wird (z.B. Saft danebenschütten), erhält der Agent eine negative Belohnung. Im Gegensatz dazu erhält er eine positive Belohnung, falls die Aktion gut aufgenommen wurde (z.B. wenn das Glas erfolgreich gefüllt wurde). Nun haben wir die wichtigsten Aspekte eines Reinforcement Learning Algorithmus kurz definiert. Wie ein solcher Algorithmus abläuft ist in der folgenden Abbildung schematisch dargestellt.

Ablauf beim reinforcement learning
Ablauf Reinforcement Learning

Wie in dem Bild dargestellt, ist ein Reinforcement Learning Algorithmus ein wiederkehrender Zyklus. Durch den Zyklus lernt der Algorithmus seine Aktionen stetig zu verbessern. Diesen Zyklus gehen wir zum Abschluss einmal am Beispiel des Safteinschenkens durch. Zu Beginn ist der Agent untrainiert, hat also noch nicht gelernt Saft einzugießen. Als Erstes führt er eine Aktion aus. Angenommen er hat schon gelernt zu greifen, würde er versuchen Saft in das Glas zu gießen. Dies würde am Anfang wahrscheinlich nicht funktionieren, da er beispielsweise nicht den optimalen Winkeln zum Eingießen oder die richtige Geschwindigkeit hierzu kennt. Wahrscheinlich würde er also zu Beginn den Saft neben das Glasgießen. Da er das Glas verfehlt hat, würde dies eine negative Belohnung bedeuten. Gleichzeitig kann der Agent wahrnehmen, dass der Saft das Glas nicht getroffen hat. Aus dem beobachteten Zustand der Umgebung und der negativen Belohnung kann der Agent schließen, dass seine Aktion schlecht war. Dies führt dazu, dass seine Richtlinie, also die Grundlage seiner Entscheidungen, angepasst wird. Beispielsweise könnte dies dazu führen, dass der Winkel des Eingießens oder die Geschwindigkeit im nächsten Durchlauf angepasst wird. Auf diese Weise wird der Algorithmus wieder und wieder durchlaufen und der Agent so trainiert, bis er ohne Probleme Saft einschenken kann, ohne etwas zu verschütten.

In diesem Artikel haben wir die drei grundlegenden Arten des Machine Learning beschrieben. In den folgenden Beiträgen gehen wir auf konkrete Algorithmen ein. Hierbei behandeln wir grundlegend K-Nearest-Neighbors, Decision Trees und Support Vector Machines. Mit dem Bereich des Deep Learning befassen wir uns im Anschluss intensiver, da hier in den letzten Jahren große Erfolge gefeiert werden konnte, welche zu einem regelrechten Deep Learning Hype geführt haben.

Referenzen
Portrait of Blogger
Maximilian Both
<  Previous
Machine Learning und Künstliche Intelligenz - Sind das eigentlich Synonyme?
Next  >
Der k-Nearest-Neighbor Algorithmus einfach erklärt

Kommentare