Machine Learning – kurz & gut. Oliver Zeigermann
Чтение книги онлайн.
Читать онлайн книгу Machine Learning – kurz & gut - Oliver Zeigermann страница 4
Klassifikation und Regression
So ein Beispiel nennt man auch eine Klassifikation. Das System lernt, Bilder in die beiden Klassen »Bild mit Hund« und »Bild ohne Hund« einzusortieren. Oft gibt es bei einer Klassifikation nur zwei Klassen, z.B. ob ein selbstfahrendes Auto in einer bestimmten Situation bremsen sollte oder nicht oder ob auf einem Ultraschallbild Krebs vermutet wird oder nicht. Häufig wird sich in einem solchen Fall nicht strikt für Ja oder Nein entschieden, stattdessen wird die Vorhersage mit einer Gewissheit versehen, meist einer Zahl zwischen 0 und 1.
Es gibt auch Klassifikationen, die zwischen einer ganzen Reihe von Klassen entscheiden, z.B. bei einer Handschriftenerkennung der Ziffern 0 bis 9, die bei Postsendungen zum Einsatz kommt. Hier haben wir zehn Klassen, nämlich für jede Ziffer von 0 bis 9 eine. Auch hier bekommen wir Wahrscheinlichkeiten pro Ziffer.
Der zweite Problembereich des Supervised Learning ist die Regression – also das Erlernen einer kontinuierlichen Funktion – anhand von Werten, die auf dieser Funktion liegen. Das wäre z.B. der Fall, wenn wir das Gewicht eines Hundes anhand bestimmter Parameter oder sogar eines Bilds des Tieres vorhersagen wollen.
Manchmal ist es gar nicht so einfach, den richtigen Ansatz für ein bestehendes Problem zu finden. Wenn die Ausgabe diskrete Werte sind (z.B. die Ziffern 0 bis 9), ist es wahrscheinlich ein Klassifikationsproblem. Hat man kontinuierliche Werte, wie bei dem Gewicht eines Hundes, ist es ein Regressionsproblem.
Unsupervised Learning
Beim Ansatz des Unsupervised Learning (des unüberwachten Lernens) sind keine Labels, also keine Vorgaben der richtigen Lösungen notwendig.
Clustering
Ein Beispiel sind sogenannte Clustering-Verfahren: Sie nehmen eine automatische Kategorisierung der Daten vor und sortieren sie in zusammenhängende Gruppen bzw. »Klumpen« oder »Haufen« (Cluster). Die Kategorisierung geschieht dabei anhand ähnlicher Eigenschaften. Nehmen wir als Beispiel an, dass wir von einer Gruppe von Hunden die Größe und das Gewicht kennen. Wir nehmen dazu ein Koordinatensystem mit einer x-Achse, auf der wir die Größe auftragen, und einer y-Achse für das Gewicht. Versehen wir nun jeden Hund mit einem Punkt, der seinem Gewicht und seiner Größe entspricht, ergibt sich eine Verteilung der Hunde, wie in Abbildung 1-2 zu sehen.
Abbildung 1-2: Verteilung von Hunden (jeder Punkt ist ein Hund)
Ebenso wie wir als Menschen in der Lage wären, hier Gruppen einzutragen, ohne Ahnung von Hunden zu haben, kann das auch ein Clustering-Verfahren. Erst die Interpretation der Gruppen erfordert wieder menschliches Zutun. Ein mögliches Ergebnis ist in Abbildung 1-3 dargestellt. Andere Clusterungen sind natürlich möglich – das hängt vom jeweiligen Menschen oder Clustering-Verfahren ab.
Als kleine Übung bitten wir dich, den jeweiligen Clustern Interpretationen zu geben. Was für eine Gruppe könnte z.B. die Gruppe ganz rechts unten sein?
Abbildung 1-3: Automatisches Clustering der Hundegruppe (ohne Interpretation)
Vereinfachung von Daten – Reduktion von Dimensionen
Zum Unsupervised Learning gehört auch die sogenannte Principal Component Analysis (PCA, Hauptkomponentenanalyse, https://de.wikipedia.org/wiki/Hauptkomponentenanalyse). Durch eine Reduzierung der Dimensionen (d.h. der Anzahl der Variablen in den Datensätzen) werden dabei umfangreiche Datensätze vereinfacht, ohne dass wichtige Informationen verloren gehen. Dies werden wir ebenfalls für die Feature-Auswahl in Kapitel 5 nutzen. Das heißt, dieses Verfahren kann auch für die Datenvorverarbeitung beim Supervised Learning genutzt werden.
Als Beispiel für eine PCA kann man ICE-Fahrten von Berlin nach Hamburg betrachten. Kennt man die Abreisezeit, ist die ungefähre geplante Ankunftszeit daraus ableitbar. Beide Dimensionen in seinen Datensätzen zu halten, wäre unnötig. Dies herauszufinden und den Datensatz in seiner Dimension zu reduzieren (in unserem Fall von 2 auf 1), ist Aufgabe der PCA.
Kapitel 8, Unsupervised Learning mit Autoencodern, zeigt über diese Beispiele hinaus mit Autoencodern Techniken auf Basis von neuronalen Netzen.
Reinforcement Learning
Reinforcement Learning (bestärkendes Lernen oder verstärkendes Lernen, https://de.wikipedia.org/wiki/Best%C3%A4rkendes_Lernen) wird häufig in Spielsituationen verwendet. Ein System soll anhand von positiver oder negativer Rückmeldung auf eine ausgeführte Aktion ein optimales Verhalten innerhalb einer Situation erlernen. Diese Situation wird dem System anhand gewisser Eingabeparameter zusammen mit einer Bewertung des Spielstands mitgeteilt. Eine solche Bewertung kann zum Beispiel der Punktestand innerhalb eines Arcade-Spiels sein. Mit diesem könnte zusammen mit der Videodarstellung eines Spiels ein solches System gefüttert werden. Führt das System eine Aktion aus, z.B. Schießen, und führt dies zu einem höheren Punktestand, wird das Verhalten verstärkt.
Reinforcement Learning mit neuronalen Netzen wird in Kapitel 9 beschrieben.
Visualisierung
Unsere Gehirne sind großartig darin, Muster in visuellen Darstellungen zu erkennen. Nicht so großartig sind wir darin, lange Datenkolonnen auszuwerten und daraus interessante Informationen abzuleiten. Sieh dir dazu einmal den Auszug aus Datensätzen über Flüge in Google Sheets in Abbildung 1-4 an.
Wie viele Informationen kann man als Mensch aus so einer Tabelle herausziehen? Nicht besonders viele. Und verlockend ist die Aufgabe auch nicht gerade.
Abbildung 1-4: Rohe Datensätze in Google Sheets
Wie sieht das nun mit einer Grafik aus, die die Verteilung von Verspätungen aus diesen Datensätzen aufbereitet? Diese haben wir als Diagramm aus den Google Sheets in Abbildung 1-5 aufbereitet.