Benötigte Lesezeit: 4 Minuten
Überwachtes Lernen ist eine Variante des maschinellen Lernens, bei der ein Algorithmus anhand von Beispielen lernt und anschließend neue, weitere Objekte definiert. Diese Fähigkeit, mit Hilfe von Vorbildern zu begreifen, hat das maschinelle Lernen so beliebt und allgegenwärtig gemacht.
Überwachtes Lernen kann zum Einsatz kommen, wenn ein Algorithmus erkennen soll, ob ein Bild eine Katze oder einen Hund zeigt, oder wie hoch die Wahrscheinlichkeit ist, dass ein Nutzer einen Netflix-Film mag. Solche Fragen lassen sich am besten basierend auf Erfahrungen (etwa das vorherige Nutzerverhalten auf Netflix) oder Beispielen für korrektes Verhalten beantworten.
Wie funktioniert überwachtes Lernen?
Bleiben wir beim Fall der Tierbilder: Jedem Bild kann eine Kategorie zugeordnet werden:
Bild 1 zeigt z.B. einen Hund,
Bild 2 zeigt eine Katze,
Bild 3 zeigt einen Pilz usw.
Durch diese Zuordnung entsteht eine große Kollektion an kategorisierten Bildern. Die Aufgabe wird schnell klar: Bestimme das Objekt auf einem Foto.
Die Kraft des überwachten maschinellen Lernens besteht darin, den Prozess der Lösungsfindung für eine Aufgabe zu automatisieren, die anhand eines Beispiels veranschaulicht wird. Die Herausforderung muss also nicht vorab erklärt werden.
Wir nehmen eine Reihe möglicher Zuordnungen an, bestehend aus einem Bild und einer zugehörigen Kategorie. Die jeweilige Zuordnung wird durch Parameter angegeben. Das Ziel ist, den bestmöglichen Parameter für jedes Beispiel zu finden.
Ein Parameter ist im Allgemeinen ein beliebiges Merkmal, das bei der Definition oder Klassifizierung eines bestimmten Systems hilfreich sein kann.
aus dem Englischen, Wikipedia
Technisch gesehen, wird eine Sammlung von Funktionen (die Zuordnungen) manuell mit einem Parameter versehen. Ein Algorithmus für maschinelles Lernen übernimmt dann und findet automatisch den passenden Parameter der Funktion.
Formen des überwachten Lernens
Klassifikation und Regression sind die zwei Formen des überwachten Lernens. In beiden Fällen werden vorab definierte Trainings-Datensätze verwendet, um Wahrscheinlichkeiten zu berechnen.
Der wichtigste Unterschied: Regressionsprobleme beziehen sich auf einen kontinuierlichen Wert. Etwa wenn wir den Wert von Bitcoins vorhersagen möchten , oder die Temperatur für einen bestimmten Tag.
(Anmerkung: Das Wort Regression bedeutet „Rückgang“. Die korrekte Verwendung des Begriffes in Bezug auf maschinelles Lernen wird bis heute diskutiert. Meine Interpretation von Regression lautet, dass wir uns mit der vergangenen Entwicklung eines Wertes über eine bestimmte Zeit beschäftigen, um einen künftigen Wert vorherzusagen.)
Bei der Klassifizierung ist das Ergebnis eine (häufig binäre) Kategorie oder Klasse, etwa ob am 19. Oktober 2021 die Sonne scheint, oder ob es regnet oder ob mir ein Film gefällt oder nicht.
Der Prozess des überwachten Lernens anhand eines Beispiels
- Die Aufgabe für den Lernalgorithmus wird durch kategorisierte Beispiele definiert
Beispielsweise bewerte ich Filme auf Netflix, die ich bereits gesehen habe, mit +1 für “gefällt mir” und -1 für “gefällt mir nicht”.
- Ein Feature-Vektor wird definiert, um diese Filme in ein Format zu übersetzen, dass ein Computer versteht.
In diesem Fall wird der Feature Vektor durch Fragen zum Film bestimmt, auf die ich eine binäre Antwort (0 oder 1) gebe. Handelt es sich um einen romantischen Film? Ja – also gebe ich eine 1. Ist es eine Komödie? Nein – also gebe ich eine 0. Mehrere solcher Fragen die systematisch auf einen Film angewendete werden, ergeben einen binären Vektor [0,1,0,1…], der dem Film zugeordnet ist.
Diese Prozedur wird nun für alle Filme wiederholt.
- Der Computer nutzt den so entstandenen Trainings-Datensatz (Vektoren mit den zugehörigen Bezeichnungen), um die korrekte Zuordnung zu erlernen.
- Ziel ist es nun, das Erlernte zu verallgemeinern und auf einen (neuen) Test-Datensatz anzuwenden. In diesem Fall, wäre das eine sogenannte Klassifizierungs-Aufgabe. Wir benötigen also den passenden Klassifizierer.
Klassifizierer sind Zuordnungen, die Merkmalsvektoren als Eingabe verwenden und Beschriftungen (Kategorien) als Ausgabe erzeugen.
Eine übliche Art ist der lineare Klassifikator, der einen Raum (die Ebene, in der die Trainingsdaten liegen) linear in zwei Teile teilt. Bei einem Punkt 𝑥 im Raum gibt der Klassifikator h ℎ (𝑥) = 1 oder ℎ (𝑥) = – 1 aus. Je nachdem, wo der Punkt 𝑥 zwischen den beiden linear geteilten Räumen existiert.
aus dem Englischen, MITx 6.86x
- Zunächst wird getestet, wie richtig oder falsch der gewählte Klassifizierer in Bezug auf die Trainingsbeispiele liegt. Dabei wird der tatsächliche Wert (+1 oder -1) mit der Ausgabe des Klassifizierers verglichen. Aus diesem Vergleich für den gesamten Trainingsdatensatz ergibt sich eine Trainings-Fehlerrate. Das Finden der optimalen Fehlerrate, erfordert oft das Testen verschiedener Klassifizierer.
- Wurde der passende Klassifizierer identifiziert, kann er auf den Test-Datensatz angewendet werden.
Wo wird überwachtes Lernen angewendet?
Überwachtes Lernen kann in verschiedenen Bereichen angewendet werden, z.B. bei der maschinellen Übersetzung. Die entsprechende Aufgabe wird einfach definiert, indem etwa ein deutscher Satz und dessen Übersetzung ins Französische angegeben werden. Eine große Menge solcher Beispiele veranschaulicht die Herausforderung.
Eine Funktion verwendet einen Satz als Eingabe und enthält Parameter, die unterschiedliche mögliche Zuordnungen angeben. Jeder Parameterwert liefert eine mögliche Antwort, die übereinstimmt oder auch nicht. Ein Algorithmus sucht dann automatisiert nach diesen Parameterwerten, um die beste Zuordnung für diese Aufgabe zu finden. Google Translate arbeitet bereits in diesem Modus.
Fazit
Überwachtes Lernen ist eine Form des maschinellen Lernens, die durch die notwendige Vorbereitung der Daten mit einem hohen menschlichen Aufwand verbunden ist. Im Grunde wird ein Lehrplan für Maschinen erstellt, der diesen hilft präzise Empfehlungen zu geben und so z.B. Objekte auf einem Foto zu identifizieren.
Bild: DALLE 2