Beim angewandten Machine Learning ist es das Ziel, mit der Hilfe von Daten induktiv die unbekannte Zielfunktion, die diese produziert hat, mit Hilfe eines Lernalgorithmus zu approximieren. Dafür wird der Hypothesenraum für mögliche Antwortfunktionen so lange verkleinert, bis eine optimale Hypothese gefunden ist. Für die Erfüllung dieser Aufgabe gibt es eine unendliche Anzahl von möglichen Herangehensweisen und Methoden, jede mit ihren eigenen Anforderungen, Vorteilen und Hürden.
Jede Entscheidung im Verlauf der Entwicklung des Modells vereinfacht das Problem und verkleinert die Anzahl möglicher Hypothesen. Jede dieser Entscheidungen bedeutet jedoch auch das Risiko, eine Einschränkung gewählt zu haben, die das System davon abhält, aus den Daten zu lernen und die Zielfunktion zu approximieren. Die Auswahl geschieht oft im Experiment, indem mehrere Alternativen getestet und diejenige, die die beste Performance des Modells bedeutet, gewählt wird.
Diese Herangehensweise macht es besonders wichtig, sauber zu arbeiten und alle Schritte sorgfältig zu dokumentieren, um später nachvollziehen zu können, wie es zu einer Entscheidung kam und warum andere Möglichkeiten an einem Punkt ausgeschlossen worden waren. Am besten, man fängt damit an, alle möglichen Optionen an allen Entscheidungspunkten aufzulisten und empirisch zu testen, um herauszufinden, welche Kombination von Methoden die beste für die vorliegende Aufgabenstellung ist.
Der Code sollte modular aufgebaut, kommentiert und so weit wie möglich automatisiert werden, um alle Ergebnisse später reproduzieren zu können. Für häufig wiederholte Aufgaben lohnt es sich, Funktionen schreiben, die immer wieder eingesetzt werden können.
Die Verwendung von Pipelines ist eine weitere große Hilfe für die Übersichtlichkeit beim Aufbau und zur Vermeidung von Technischen Schulden.
Wie zuvor schon erwähnt, ist Machine Learning ist ein experimenteller Prozess. Daher ist es fundamental, bereits früh im Projekt erste Ergebnisse zu produzieren und dann das Modell schrittweise zu optimieren. Eine gute Herangehensweise ist es, mit einem sehr einfachen und gut zu interpretierenden Prototyp zu beginnen, um ein besseres Verständnis der Aufgabenstellung und der vorhandenen Informationen zu gewinnen und dann, wenn nötig, die Komplexität in Datensatz und/ oder Lernalgorithmus zu erhöhen. Die Ergebnisse jedes Schrittes können Hinweise auf Verbesserungsmöglichkeiten oder Änderungen in früheren Schritten und weiteres Vorgehen geben. Diese Herangehensweise ist äußerst robust und wird im angewandten Machine Learning am häufigsten praktiziert. Sind genug Daten vorhanden, kann mit der Analyse einer repräsentativen Stichprobe begonnen werden, um schnell erste Ergebnisse zu erhalten, und den kompletten Datensatz später für das Training und Testen zu verwenden.
Den besten Input für die Lösung des vorliegenden Problems können die Domain-Experten geben. Ihre Hilfe sollte bei der Zusammenstellung des Datensatzes, der Behandlung von Fehlern wie fehlender Werte oder Ausreißern und der Interpretation des Modells immer in Anspruch genommen werden.
Im Folgenden einige Punkte, die sich bei der Entwicklung eines Machine Learning Modells als nützlich erweisen könnten, um ein leistungsfähiges und robustes Modell zu erhalten.