KAPITEL 1
Die Machine-Learning-Pipeline
Bevor wir uns mit Merkmalskonstruktion beschäftigen, wollen wir uns die Machine-Learning-Pipeline als Ganzes anschauen, um unseren Platz im Gesamtsystem zu finden. Zu diesem Zweck betrachten wir zunächst Grundbegriffe wie Daten und Modelle.
Daten
Als Daten bezeichnen wir Beobachtungen realer Phänomene. So können Daten von Aktienmärkten Beobachtungen der täglichen Aktienpreise, Gewinnankündigungen einzelner Firmen und sogar Meinungsartikel von Fachleuten umfassen. Persönliche biometrische Daten wären unter anderem minütliche Messungen von Pulsfrequenz, Blutzuckerspiegel, Blutdruck usw., und Daten zur Kundenanalyse sind beispielsweise Aussagen wie »Alice hat am Sonntag zwei Bücher gekauft«, »Bob hat diese Seiten der Website angesehen« und »Charlie hat auf den Link zum Sonderangebot aus der letzten Woche geklickt«. Wir könnten endlos Beispiele aus ganz unterschiedlichen Anwendungsgebieten finden.
Jedes Einzelteil dieser Daten gewährt Einblick in einen kleinen Aspekt der Wirklichkeit. Die Gesamtheit aller dieser Beobachtungen liefert uns ein Bild des Ganzen. Aber das Bild ist chaotisch, weil es aus Tausenden kleinen Teilen zusammengesetzt ist und wir es immer mit Messrauschen und fehlenden Teilen zu tun haben.
Aufgaben
Warum sammeln wir Daten? Es gibt Fragen, die wir mithilfe von Daten beantworten können – Fragen wie »In welche Aktien sollte ich investieren?« oder »Wie kann ich gesünder leben?« oder »Wie kann ich den wechselnden Geschmack meiner Kunden verstehen, damit ich sie besser bedienen kann?«.
Der Pfad von Daten zu Antworten ist gespickt mit falschen Fährten und Sackgassen (siehe Abbildung 1-1). So mancher vielversprechende Ansatz wird nicht aufgehen, während ein vages Bauchgefühl zur besten Lösung führen kann. Die Arbeit mit Daten ist oftmals ein mehrstufiger, iterativer Prozess. Aktienpreise werden beispielsweise an der Börse beobachtet, in einer Datenbank gespeichert, von einer Firma gekauft, in einen Hive-Store auf einem Hadoop-Cluster umgewandelt, von einem Skript aus dem Store geholt, von einem anderen Skript ausgedünnt, aufbereitet und bereinigt, in eine Datei geschrieben und in ein Format überführt, das Sie mit der Modellierungsbibliothek Ihrer Wahl in R, Python oder Scala ausprobieren können. Die Vorhersagen werden dann wiederum in eine CSV-Datei geschrieben und von einem Auswertungsprogramm gelesen. Das Modell durchläuft mehrere Iterationen, wird von Ihrer Produktionsabteilung in C++ oder Java neu geschrieben und auf der gesamten Datenmenge laufen gelassen, bevor die fertigen Vorhersagen in eine weitere Datenbank gefüllt werden.
Abbildung 1-1: Der Garten der verschlungenen Pfade von Daten zu Antworten
Wenn wir jedoch das Chaos der Werkzeuge und Systeme für einen Moment ausblenden, können wir erkennen, dass an dem Vorgang zwei mathematische Größen beteiligt sind, die das tägliche Brot des maschinellen Lernens darstellen: Modelle und Merkmale.
Modelle
Zu versuchen, die Welt durch Daten zu verstehen, ist so, als wolle man die Wirklichkeit aus einem verrauschten, unvollständigen Puzzle mit ein paar überschüssigen Teilen zusammensetzen. Hier kommt die mathematische – insbesondere die statistische – Modellierung ins Spiel. Die Sprache der Statistik kennt Begriffe für viele häufig auftretende Eigenschaften von Daten, darunter falsch, redundant und fehlend. Falsche Daten ergeben sich aus Messfehlern, redundante Daten enthalten ein und dieselbe Information mehrfach: So kann ein Wochentag als kategoriale Variable mit den Ausprägungen »Montag«, »Dienstag«, …, »Sonntag« und zugleich noch einmal als ganze Zahl zwischen 0 und 6 vorliegen. Ist diese Information über den Wochentag für einige Datenpunkte nicht vorhanden, haben wir es wiederum mit fehlenden Daten zu tun.
Ein mathematisches Modell von Daten beschreibt die Beziehungen zwischen verschiedenen Aspekten der Daten. Beispielsweise könnte ein Modell, das Aktienpreise vorhersagt, aus einer Formel bestehen, die die bisherigen Gewinne einer Firma, frühere Aktienpreise und die Branche auf die Vorhersage für den Aktienpreis abbildet. Ein Modell für Musikempfehlungen könnte anhand der Hörgewohnheiten von Anwendern eine Ähnlichkeit zwischen ihnen messen und denjenigen, die sich viele ähnliche Titel angehört haben, dieselben Künstler empfehlen.
Mathematische Formeln stellen Beziehungen zwischen numerischen Größen her. Aber Rohdaten sind oft nicht numerisch. (Die Aussage »Alice kaufte am Mittwoch die Trilogie Der Herr der Ringe« ist ebenso wenig numerisch wie die Buchbesprechung, die sie später schreibt.) Es muss also etwas geben, das die beiden Welten verbindet. An dieser Stelle kommen Merkmale ins Spiel.
Merkmale
Ein Merkmal ist eine numerische Darstellung von Rohdaten. Man kann Rohdaten auf vielerlei Weise in numerische Messungen verwandeln, weshalb Merkmale alles Mögliche sein können. Natürlich müssen sich Merkmale aus den vorhandenen Daten ableiten lassen. Weniger offensichtlich ist vielleicht, dass sie auch ans Modell gebunden sind; manche Modelle eignen sich besser für bestimmte Arten von Merkmalen und umgekehrt. Die richtigen Merkmale zeichnen sich dadurch aus, dass sie relevant für die zu lösende Aufgabe und leicht in das Modell einzuspeisen sind. Merkmalskonstruktion ist der Vorgang, diejenigen Merkmale zu formulieren, die sich für die gegebenen Daten, das Modell und die zu lösende Aufgabe am besten eignen.
Die Anzahl der Merkmale ist ebenfalls von Bedeutung. Ohne ausreichend viele aussagekräftige Merkmale wird das Modell die gestellte Aufgabe nicht bewältigen. Hat man zu viele oder größtenteils irrelevante Merkmale, wird es aufwendiger und schwieriger sein, das Modell anzulernen, und beim Anlernen könnte irgendetwas schiefgehen, sodass das Modell an Leistungsfähigkeit verliert.
Modellbewertung
Merkmale und Modelle sind das Bindeglied zwischen Rohdaten und gesuchten Erkenntnissen (siehe Abbildung 1-2). Zum Arbeitsablauf beim maschinellen Lernen gehört es, nicht nur das Modell, sondern auch die Merkmale auszuwählen. Das ist ein Balanceakt: Beides beeinflusst einander. Gute Merkmale vereinfachen den nachfolgenden Modellierungsschritt und sorgen dafür, dass das daraus entstehende Modell die gewünschte Aufgabe besser erfüllen kann. Schlecht gewählte Merkmale erfordern ein viel komplizierteres Modell, um dasselbe Ergebnis zu erreichen. Im Rest dieses Buchs besprechen wir verschiedene Arten von Merkmalen und diskutieren ihre Vor- und Nachteile in Bezug auf die unterschiedlichen Arten von Daten und Modellen. Fangen wir also ohne Umschweife an!
Abbildung 1-2: Der Platz der Merkmalskonstruktion im Arbeitsablauf beim maschinellen Lernen
KAPITEL 2
Tricksereien mit einfachen Zahlen
Bevor wir in die Welt komplexer Datentypen wie Text und Bilder eintauchen, wollen wir mit dem Einfachsten beginnen: mit numerischen Daten. Diese können aus vielfältigen Quellen stammen: geografische Orte eines Gebäudes oder einer Person, Einkaufspreise, Messungen eines Sensors, Verkehrszählungen usw. Numerische Daten liegen bereits in einer Form vor, die sich leicht in mathematische Modelle einspeisen lässt. Das macht die Merkmalskonstruktion jedoch keineswegs überflüssig: Gute Merkmale sollten nicht nur aussagekräftige Aspekte der Daten wiedergeben, sondern auch zu den Annahmen des Modells passen. Daher sind oftmals noch Transformationen notwendig. Numerische Verfahren der Merkmalskonstruktion sind etwas Grundlegendes; sie finden immer dann Anwendung, wenn Daten in numerische Merkmale umgeformt werden.
Die erste Frage bei einer Plausibilitätsprüfung für numerische Daten betrifft ihre Größe. Müssen wir lediglich wissen, ob sie positiv oder negativ sind? Oder interessiert uns vielleicht nur ...