Diese Liste könnte immer weiter fortgeführt werden, aber hoffentlich haben Sie auch so schon einen Eindruck von der unglaublichen Breite und Komplexität der Aufgaben erhalten, die Machine Learning angehen kann, und die Art von Techniken, die Sie dafür verwenden würden.
Unterschiedliche Machine-Learning-Systeme
Es gibt so viele verschiedene Arten von Machine-Learning-Systemen, dass es hilfreich ist, die Verfahren nach folgenden Kriterien in grobe Kategorien einzuteilen:
Ob sie mit menschlicher Überwachung trainiert werden oder nicht (überwachtes, unüberwachtes und halbüberwachtes Lernen sowie Reinforcement Learning).
Ob sie inkrementell dazulernen können oder nicht (Online-Learning gegenüber Batch-Learning).
Ob sie einfach neue Datenpunkte mit den bereits bekannten Datenpunkten vergleichen oder stattdessen Muster in den Trainingsdaten erkennen, um ein Vorhersagemodell aufzubauen, wie es auch Wissenschaftler tun (instanzbasiertes gegenüber modellbasiertem Lernen).
Diese Kriterien schließen sich nicht gegenseitig aus; sie lassen sich beliebig miteinander kombinieren. Zum Beispiel kann ein moderner Spamfilter ständig mit einem neuronalen Netzwerkmodell mit Beispielen für Spam und Ham dazulernen; damit ist er ein modellbasiertes, überwachtes Onlinelernsystem.
Betrachten wir jedes dieser Kriterien etwas genauer.
Überwachtes/unüberwachtes Lernen
Machine-Learning-Systeme lassen sich entsprechend der Menge und Art der Überwachung beim Trainieren einordnen. Es gibt dabei vier größere Kategorien: überwachtes Lernen, unüberwachtes Lernen, halbüberwachtes Lernen und verstärkendes Lernen (Reinforcement Learning).
Überwachtes Lernen
Beim überwachten Lernen enthalten die dem Algorithmus gelieferten Trainingsdaten die gewünschten Lösungen, genannt Labels (siehe Abbildung 1-5).
Abbildung 1-5: Ein Trainingsdatensatz mit Labels zur Spamerkennung (ein Beispiel für überwachtes Lernen)
Klassifikation ist eine typische überwachte Lernaufgabe. Spamfilter sind hierfür ein gutes Beispiel: Sie werden mit vielen Beispiel-E-Mails und deren Kategorie (Spam oder Ham) trainiert und müssen lernen, neue E-Mails zu klassifizieren.
Eine weitere typische Aufgabe ist, eine numerische Zielgröße vorherzusagen, wie etwa den Preis eines Autos auf Grundlage gegebener Merkmale (gefahrene Kilometer, Alter, Marke und so weiter), den sogenannten Prädiktoren. Diese Art Aufgabe bezeichnet man als Regression (siehe Abbildung 1-6).1 Um das System zu trainieren, benötigt es viele Beispielfahrzeuge mitsamt ihren Prädiktoren und Labels (also den Preisen).
|
Beim Machine Learning ist ein Attribut ein Datentyp (z.B. »Kilometerzahl«), wohingegen ein Merkmal je nach Kontext mehrere Bedeutungen haben kann. Meist ist damit ein Attribut und dessen Wert gemeint (z.B. »Kilometerzahl = 15000«). Allerdings verwenden viele Anwender Attribut und Merkmal synonym. |
Viele Regressionsalgorithmen lassen sich auch zur Klassifikation einsetzen und umgekehrt. Zum Beispiel ist die logistische Regression eine verbreitete Methode für Klassifikationsaufgaben, da sie die Wahrscheinlichkeit der Zugehörigkeit zu einer bestimmten Kategorie als Ergebnis liefert (z.B. 20%ige Chance für Spam).
Abbildung 1-6: Ein Regressionsproblem: Sage mithilfe eines Eingangsmerkmals einen Wert voraus (es gibt meist mehrere Eingangsmerkmale und manchmal auch mehrere Ausgangsmerkmale).
Hier sind ein paar der wichtigsten (in diesem Buch besprochenen) überwachten Lernalgorithmen:
k-nächste-Nachbarn
lineare Regression
logistische Regression
Support Vector Machines (SVMs)
Entscheidungsbäume und Random Forests
neuronale Netzwerke2
Unüberwachtes Lernen
Beim unüberwachten Lernensind die Trainingsdaten, wie der Name vermuten lässt, nicht gelabelt (siehe Abbildung 1-7). Das System versucht, ohne Anleitung zu lernen.
Abbildung 1-7: Ein Trainingsdatensatz ohne Labels für unüberwachtes Lernen
Hier sind ein paar der wichtigsten unüberwachten Lernalgorithmen (wir werden die Dimensionsreduktion in Kapitel 8 und Kapitel 9 behandeln):
Clustering– k-Means– DBSCAN– hierarchische Cluster-Analyse (HCA)
Anomalieerkennung und Novelty Detection– One-Class-SVM– Isolation Forest
Visualisierung und Dimensionsreduktion– Hauptkomponentenzerlegung (PCA)– Kernel-PCA– Locally-Linear Embedding (LLE)– t-verteiltes Stochastic Neighbor Embedding (t-SNE)
Lernen mit Assoziationsregeln– Apriori– Eclat
Nehmen wir an, Sie hätten eine Menge Daten über Besucher Ihres Blogs. Sie möchten einen Clustering-Algorithmus verwenden, um Gruppen ähnlicher Besucher zu entdecken (siehe Abbildung 1-8). Sie verraten dem Algorithmus nichts darüber, welcher Gruppe ein Besucher angehört, er findet die Verbindungen ohne Ihr Zutun heraus. Beispielsweise könnte der Algorithmus bemerken, dass 40% Ihrer Besucher Männer mit einer Vorliebe für Comics sind, die Ihr Blog abends lesen, 20% dagegen sind junge Science-Fiction-Fans, die am Wochenende vorbeischauen. Wenn Sie ein hierarchisches Cluster-Verfahren verwenden, können Sie sogar jede Gruppe in weitere Untergruppen zerlegen, was hilfreich sein kann, wenn Sie Ihre Blogartikel auf diese Zielgruppen zuschneiden möchten.
Abbildung 1-8: Clustering
Algorithmen zur Visualisierung sind ebenfalls ein gutes Beispiel für unüberwachtes Lernen: