Wikipedia · einfach zusammengefasst · Stand
Überwachtes Lernen
Überwachtes Lernen (englisch supervised learning) ist eine wichtige Kategorie des Maschinellen Lernens. Dabei wird ein Lernalgorithmus mit Datensätzen …
Inhalt6 Abschnitte
Grundidee und Begriffe
Überwachtes Lernen ist eine wichtige Kategorie des Maschinellen Lernens. Ein Algorithmus wird mit markierten oder gelabelten Daten trainiert und validiert: Zu jeder Eingabe ist der passende Ausgabewert bereits bekannt. Dadurch lassen sich die Ergebnisse des Lernprozesses mit den richtigen Antworten vergleichen. Das Ziel ist eine gelernte Funktion, die nicht nur die Trainingsdaten verarbeitet, sondern auch für neue, unbekannte Eingaben korrekte Ergebnisse liefert. Beim unüberwachten Lernen fehlen dagegen vorgegebene Antworten; dort sucht das Modell selbstständig nach Mustern oder Strukturen.
Ein Trainingsbeispiel wird als (x⁽ⁱ⁾, y⁽ⁱ⁾) geschrieben. Dabei bezeichnet x⁽ⁱ⁾ die Input- oder erklärenden Variablen und y⁽ⁱ⁾ die Output-, Ziel- oder erklärten Variablen. {(x⁽ⁱ⁾, y⁽ⁱ⁾); i = 1, …, m} ist der zum Lernen verwendete Datensatz mit m Trainingsbeispielen. Die Hypothesenfunktion h(x) soll vom Algorithmus so gelernt werden, dass sie y möglichst genau approximiert.
Die beiden häufigsten Aufgabenarten sind Regression und Klassifikation. Bei einer Regression nimmt die Ausgabe beliebige quantitative Werte aus einem stetigen Wertebereich an, etwa bei der Vorhersage von Hauspreisen oder der Bestimmung des Alters einer Person. Bei einer Klassifikation ist die Ausgabe diskret beziehungsweise qualitativ, etwa „Spam“ oder „Kein Spam“. Ein typisches Bildbeispiel besteht aus Katzen- und Hundefotos, die jeweils mit dem richtigen Tier gelabelt wurden. Aus ihnen soll ein Modell lernen, auch neue Bilder korrekt einzuordnen.
Ablauf eines Lernprojekts
Zu Beginn werden die Qualitätskriterien für das Zielsystem und die Art der benötigten Trainingsbeispiele festgelegt. Bei einer Handschriftanalyse können das beispielsweise einzelne Zeichen, ganze Wörter oder vollständige Zeilen sein. Danach wird geprüft, ob auf geeignete Daten legal zugegriffen werden kann. Andernfalls müssen erklärende Variablen und zugehörige Labels durch Fachleute, Messungen oder andere Verfahren erhoben werden. Die Daten müssen zukünftige Fälle ausreichend repräsentieren, damit eine Verallgemeinerung mit der geforderten Genauigkeit möglich ist.
Anschließend werden die Daten aufbereitet. Ausreißer und unvollständige Datensätze sollten korrigiert oder entfernt werden. Die Merkmale eines Objekts werden in einen Vektor übertragen. Kontinuierliche Merkmale werden in der Regel auf den Wertebereich zwischen 0 und 1 normalisiert, damit Merkmale mit großen und kleinen absoluten Zahlenwerten beim Lernen gleich stark berücksichtigt werden.
Danach werden geeignete Lernalgorithmen beziehungsweise Modelle ausgewählt. Viele Modelle besitzen Hyperparameter, also vor dem eigentlichen Training festgelegte Einstellungen, mit denen der Lernvorgang an die Aufgabe angepasst wird. Daher muss auch entschieden werden, ob eine Hyperparameteroptimierung nötig ist.
Für die Prüfung des Modells wird ein Kreuzvalidierungsverfahren festgelegt. Bei der häufig verwendeten Holdout-Methode entstehen ein Trainingsdatensatz zum Lernen, ein Testdatensatz zur abschließenden Prüfung an unbekannten Daten und gegebenenfalls ein oder mehrere Validierungsdatensätze zur Optimierung der Hyperparameter. Nach dem ersten Training werden nötigenfalls die Hyperparameter mithilfe der Validierungsdaten optimiert. Anschließend wird mit den optimalen Einstellungen erneut auf allen Trainings- und Validierungsdaten trainiert. Der abgetrennte Testdatensatz prüft danach die Vorhersagequalität. Erfüllt das Modell die vorher definierten Qualitätskriterien, wird es in das Zielsystem integriert.
Zentrale Herausforderungen
Die erforderliche Datenmenge hängt von der Komplexität der „wahren Funktion“ ab. Eine einfache Funktion kann ein unflexibler Algorithmus mit hoher Verzerrung und geringer Varianz bereits aus wenigen Daten lernen. Eine sehr komplexe Funktion mit vielen Wechselwirkungen zwischen Merkmalen benötigt dagegen sehr viele Trainingsdaten und einen flexiblen Algorithmus mit geringer Vorspannung und hoher Varianz.
Trainingsdaten müssen alle später auftretenden Fälle gut repräsentieren. Auch ein insgesamt großer Datensatz kann bestimmte Fälle zu selten enthalten. Eine solche Stichprobenverzerrung führt dazu, dass das Modell für diese Fälle schlecht verallgemeinert. Außerdem sollten alle relevanten Merkmale, aber nur wenige irrelevante Merkmale verwendet werden. Deshalb ist zu prüfen, welche Informationen zur Lösung der Aufgabe tatsächlich benötigt werden.
Falsche Zielwerte können durch menschliche Fehler oder Sensorfehler entstehen. Versucht der Algorithmus, auch solche Ausreißer genau abzubilden, droht Überanpassung: Das Modell passt sich zu stark an Besonderheiten der Trainingsdaten an. Gegenmaßnahmen sind das frühzeitige Anhalten des Lernens sowie das Erkennen und Entfernen von Ausreißern vor dem Training.
Bei der Modellauswahl werden Annahmen über die Daten getroffen. Ein lineares Modell eignet sich, wenn ein linearer Zusammenhang angenommen wird und Abweichungen von einer berechneten Geraden vernachlässigt werden können; für andere Daten können ein Binärbaum oder ein künstliches neuronales Netz geeigneter sein. Nach den No-free-Lunch-Theoremen muss eine Strategie, die in einem Teilbereich besser ist, in einem anderen schlechter sein. In der Praxis werden deshalb Annahmen über die Datenverteilung getroffen und nur einige passende Modelle evaluiert.
Hinzu kommt das Verzerrung-Varianz-Dilemma. Varianz beschreibt, wie stark sich Vorhersagen ändern, wenn ein anderer Trainingsdatensatz verwendet wird. Flexible Modelle besitzen meist eine höhere Varianz und können sich bei verrauschten oder nicht repräsentativen Daten überanpassen. Regularisierung wirkt dem entgegen, indem das Modell vereinfacht wird, etwa durch Einschränkung der zulässigen Wertebereiche seiner Parameter. Ein zu einfaches Modell verursacht dagegen Verzerrung, weil es ein kompliziertes reales Problem nur unzureichend annähert. So nimmt eine lineare Regression einen linearen Zusammenhang an, obwohl reale Probleme selten vollständig linear sind.
Regression und lineares Modell
Bei einem Regressionsproblem soll der Zusammenhang zwischen erklärenden und erklärten Variablen aus Trainingsdaten gelernt werden, um noch unbekannte Werte vorherzusagen. Beispiele sind der Preis eines Hauses anhand von Merkmalen wie Größe oder Farbe sowie die Entwicklung eines Aktienpreises am nächsten Tag.
Die lineare Regression verwendet ein Modell, das linear in seinen Parametern ist. Da die Ausgaben als fehlerbehaftet gelten, lautet der Zusammenhang y = hθ(x) + ε. Dabei ist hθ(x) ∈ ℝ die unbekannte Funktion und ε zufälliges Rauschen, das beispielsweise durch unbeobachtbare verborgene Variablen entsteht. Die Regressionsfunktion lautet hθ(x) = θ₀ + θ₁x₁ + … + θₙxₙ beziehungsweise in Vektorschreibweise hθ(x) = Σᵢ₌₀ⁿ θᵢxᵢ = θᵀx. Die Parameter θᵢ, auch Regressionsgewichte genannt, bestimmen das Gewicht der einzelnen erklärenden Variablen.
Die Kostenfunktion J(θ) = (1/m) Σᵢ₌₁ᵐ(hθ(x⁽ⁱ⁾) − y⁽ⁱ⁾)² misst die mittlere quadratische Abweichung zwischen Vorhersagen und Zielwerten. Gesucht werden Parameter, die diese Kosten minimieren. Beim Gradientenverfahren beginnt man mit beliebigen Parameterwerten, bestimmt die Ableitung und bewegt sich schrittweise in Richtung des Minimums. Die Lernrate α legt die Schrittgröße fest. Eine Aktualisierung lautet θⱼ := θⱼ + α(y⁽ⁱ⁾ − hθ(x⁽ⁱ⁾))xⱼ⁽ⁱ⁾. Sie wird wiederholt, bis die Differenz minimiert ist.
Alternativ liefert die Normalgleichung θ = (XᵀX)⁻¹Xᵀy die optimalen Parameter ohne iterativen Algorithmus. Sie benötigt keine Lernrate und keine Wiederholungen, wird aber ab 10000 Beobachtungen langsam und rechenaufwendig, weil eine Inverse gebildet werden muss. Das Gradientenverfahren benötigt dagegen eine festgelegte Lernrate und viele Schritte, funktioniert aber auch bei vielen Daten gut. Weitere Regressionsmodelle sind polynomiale Regression, Random Forest und künstliche neuronale Netze.
Klassifikation und logistische Regression
Bei Klassifikationsproblemen nimmt y nur diskrete, meist qualitative Werte an. Bei der Spam-Erkennung kann 1 für „Spam“ und 0 für „Kein Spam“ stehen. Neben solchen binären Problemen mit zwei Klassen gibt es Aufgaben mit mehreren Klassen, etwa die Zuordnung eines Produkts zu Marke A, B oder C.
Die logistische Regression wird häufig für binäre Klassifikationen verwendet. Sie schätzt zunächst die Wahrscheinlichkeit der Zugehörigkeit zu einer Klasse. Ist diese mindestens 50 %, wird die betreffende Klasse ausgegeben, andernfalls die andere. Grundlage ist die Sigmoidfunktion g(z) = exp(z)/(1 + exp(z)) = 1/(1 + exp(−z)). Damit gilt hθ(x) = g(θᵀx) = 1/(1 + exp(−θᵀx)). Da die Funktion stets Werte zwischen 0 und 1 liefert, kann ihr Ergebnis als Wahrscheinlichkeit interpretiert werden: g(z) ≥ 0,5 ⇒ Y = 1 und g(z) < 0,5 ⇒ Y = 0.
Es gelten P(y = 1 | x; θ) = hθ(x) und P(y = 0 | x; θ) = 1 − hθ(x). Allgemein ergibt sich p(y | x; θ) = (hθ(x))ʸ(1 − hθ(x))¹⁻ʸ. Das Produkt über alle Trainingsbeispiele ist die Likelihood L(θ) = ∏ᵢ₌₁ᵐ(hθ(x⁽ⁱ⁾))ʸ⁽ⁱ⁾(1 − hθ(x⁽ⁱ⁾))¹⁻ʸ⁽ⁱ⁾. Anders als bei der linearen Regression wird diese Funktion maximiert; dies heißt Maximum-Likelihood-Methode. Häufig verwendet man die Log-Likelihood ℓ(θ) = Σᵢ₌₁ᵐ[y⁽ⁱ⁾ log h(x⁽ⁱ⁾) + (1 − y⁽ⁱ⁾) log(1 − h(x⁽ⁱ⁾))]. Der Gradient Ascent maximiert sie mit der Aktualisierung θⱼ := θⱼ + α(y⁽ⁱ⁾ − hθ(x⁽ⁱ⁾))xⱼ⁽ⁱ⁾.
Perzeptron und weitere Verfahren
Beim in den 1960er Jahren entwickelten Perzeptron-Algorithmus nimmt h(x), anders als bei der logistischen Regression, nur genau 0 oder 1 an. Dafür gilt g(z) = 1 für z ≥ 0 und g(z) = 0 für z < 0 sowie weiterhin hθ(x) = g(θᵀx). Die Aktualisierungsregel lautet ebenfalls θⱼ := θⱼ + α(y⁽ⁱ⁾ − hθ(x⁽ⁱ⁾))xⱼ⁽ⁱ⁾.
Der Lernprozess ist wegen dieser harten Entscheidung wenig fließend. Beispielsweise führt sowohl z = −0,0001 als auch z = −100 zur Vorhersage 0. Gehören beide Beobachtungen tatsächlich zur Klasse 1, werden die Parameter trotz der sehr unterschiedlichen Werte um denselben Betrag angepasst. Der Klassifikationsfehler kann dadurch wesentlich über- oder unterschätzt werden.
Weitere überwachte Klassifikationsverfahren sind Bayes-Klassifikator, naiver Bayes-Klassifikator, Nächste-Nachbarn-Klassifikation, Diskriminanzanalyse, künstliche neuronale Netze und Gradient Boosted Trees beziehungsweise Entscheidungsbäume.
Lernvideos zu Überwachtes Lernen
4:26
#4 Überwachtes Lernen – Klassifikation I So lernen Maschinen
Plattform Lernende Systeme · 103.543 Aufrufe
6:21
Überwachtes Lernen (Supervised Learning) einfach erklärt! - Machine Learning Grundlagen
datasolut · 20.892 Aufrufe
3:26
Unüberwachtes Lernen (Unsupervised Learning) einfach erklärt! - Machine Learning Grundlagen
datasolut · 13.708 Aufrufe
5:20
#5 Unüberwachtes Lernen I So lernen Maschinen
Plattform Lernende Systeme · 6.278 Aufrufe