In der standard Softwareentwicklung beantworten Sie einfach die Frage:
Was wollen Sie implementieren?
Und dann implementieren Sie eben.
Aber in Machine Learning-Projekten müssen Sie zuerst herausfinden, was möglich ist – und zwar mit den Daten, die Ihnen zur Verfügung stehen. Die erste Frage ist also:
Was können Sie implementieren?
Um ein Machine Learning-Projekt von Anfang bis Ende auf Kurs zu halten, braucht es nach unserer Erfahrung folgendes:
1. Die Aufgabe definieren
Es ist einfach, sich in KI-Projekte hineinziehen zu lassen, die nirgendwo hinführen. Eine korrekte Definition Ihres Machine Learning-Projektes reduziert dieses Risiko drastisch.
Sie müssen die folgenden Fragen beantworten, um ein Projekt zu definieren:
Den jetzigen Prozess verstehen
Wie sieht Ihr aktueller Prozess heute aus? Ihre Machine Learning-Lösung ersetzt einen bereits bestehenden Prozess. Wie werden in diesem Prozess Entscheidungen getroffen? Ein genaues Verständnis des jetzigen Prozesses liefert Ihnen viel domain knowledge und hilft Ihnen zu definieren, wie Ihr Machine Learning-System aussehen muss.
Definieren Sie, was Sie vorhersagen wollen
Welche Variable ist es genau, die Sie vorhersagen wollen? Definieren Sie die Leistung Ihres Machine Learning-Systems – und zwar so detailliert wie möglich.
Listen Sie alle nützlichen Datenquellen auf
Welche Daten haben Sie, die nützlich sind, um das gewünschte Output korrekt vorherzusagen? Beginnen Sie mit der Sichtung der Datenquellen, auf die sich der jetzige Prozess stützt. Eine Möglichkeit, nützliche Datenquellen aufzulisten, besteht darin, sich die Frage zu stellen: “Wenn ich als Mensch diese Vorhersage machen müsste, welche Datenpunkte würde ich kennen wollen?“
Wenn Sie den jetzigen Prozess verstehen, wissen, was Sie vorhersagen wollen, und alle nützlichen Datenquellen identifiziert haben, dann können Sie tatsächlich beurteilen, ob es sinnvoll ist, zur nächsten Stufe überzugehen.
2. Einen Ansatz, der funktioniert
Selbst wenn Sie eine gute Problemdefinition haben, können Sie noch nicht wissen, wie genau Ihr Machine Learning-Modell am Ende sein wird – oder ob es sich lohnt, den jetzigen Prozess zu ersetzen.
Ein Wirksamkeitsnachweis ist der günstigste Weg, um herauszufinden, welche Rendite Sie von Ihrer letztendlichen Lösung erwarten können. Dies sind die Schritte dafür:
Forschung
Untersuchen Sie alle Möglichkeiten, wie andere Teams ähnliche Aufgaben gelöst haben – unabhängig davon, ob sie Machine Learning eingesetzt haben oder nicht. Dann machen Sie einen Plan, und zwar sowohl auf der Grundlage Ihrer Untersuchung als auch aus dem, was Sie über den heutigen Prozess wissen, den Sie ersetzen wollen.
Erstellen Sie einen Datensatz
Der zentrale Teil eines jeden Machine Learning-Projektes ist der Beispieldatensatz. Dazu gehören realistischeBeispiele für genau die Fälle, für die Ihr Machine Learning-System korrekte Vorhersagen machen soll. Betrachten Sie es als eine Excel-Tabelle:
- Eine Zeile pro Beispiel und
- Ein paar Spalten mit nützlichen Eingabedaten, plus
- Eine Spalte mit dem Output (auch Target genannt).
Das Modell muss dann lernen, das Output aus dem Input vorherzusagen. Zum Beispiel die Vorhersage der Bonität (Output) eines Kunden aus seinem Zahlungsverhalten (Input).
Dieser Datensatz ist wie das Anforderungsdokument in einem normalen Softwareprojekt – der Bezugspunkt, an dem Sie prüfen, ob Sie auf Kurs sind.
Experiment
Beginnen Sie mit dem vielversprechendsten Ansatz, bewerten Sie ihn und verbessern Sie ihn weiter. Wiederholen Sie diesen Vorgang, bis Sie einen Ansatz gefunden haben, der gut genug ist.
3. Die Lösung Skalieren
Funktionierende Software ist das wichtigste Maß für Fortschritt. - Agile Manifesto
Ein Wirksamkeitsnachweis bringt Ihnen kein Geld ein. Deshalb brauchen Sie die folgenden Schritte, um zu einer stabilen, vollwertigen Lösung zu kommen.
Verbessern Sie die Genauigkeit
Ein Wirksamkeitsnachweis ist eine 20/80-Implementierung. Jetzt ist es an der Zeit, die entscheidenden Verbesserungen vorzunehmen, die Sie in Ihrem ersten Durchlauf ausgelassen haben:
- Fügen Sie weitere Daten hinzu;
- Erstellen Sie neue Funktionen;
- Probieren Sie andere Algorithmen;
- Machen Sie die Feinabstimmung der Modellparameter.
Skalierung
Es ist ein großer Schritt vom Wirksamkeitsnachweis zur serienreifen Lösung.
- Skalierbarkeit und Stabilität: Schreiben Sie Datenverarbeitungsschritte in separate, skalierbare Aufgaben innerhalb einer Datenpipeline um.
- Tests: Schreiben Sie zusätzliche Unit- und Integrationstests, die auch mögliche Fehler in den Daten abdecken.
- Einsatz: Erstellen Sie eine flexible, wiederholbare und einfache Anwendung, die den von Ihnen benötigten Durchsatz und die Verarbeitungsgeschwindigkeit bewältigen kann (einschließlich des automatischen Aufbaus Ihrer Infrastruktur).
A/B-Test
Ähnlich wie bei anderen Software-Updates vergleicht der abschließende Test für Ihren neu automatisierten Prozess diesen mit dem jetzigen Prozess. Mit einem A/B-Test können Sie die erreichte Verbesserung sowie die Rendite Ihres Projekts messen.
API
Ihr Machine Learning-Service muss mit dem Rest Ihrer Infrastruktur kommunizieren können. Dies geschieht entweder durch ständiges Speichern der Ergebnisse in einer Datenbank oder durch die Bereitstellung des Algorithmus über eine API.
Dokumentation
Neben einer Dokumentation des Codes sollten Sie darüber nachdenken, ein Benutzerhandbuch zu schreiben, das erklärt, wie die Anwendung funktioniert. Es ist wichtig, die Ideen hinter der Implementierung zu erklären: In der Data Science kann es schwierig sein, Ihre Idee allein aus Ihrem Code heraus zu verstehen.
Optionale Add-Ons
- Versionierung. Vielleicht müssen Sie A/B-Tests mit einem älteren Modell durchführen oder kurzfristig auf eine frühere Version Ihrer Pipeline umsteigen – die richtige Versionierung macht es Ihnen leicht.
- Automatisiertes Umlernen. Modelle veralten – und irgendwann müssen Sie sie Ihre auf neue Daten umstellen. In einigen Fällen ist es sinnvoll, die Modellaktualisierung zu automatisieren.
Wenn Sie Hilfe bei einem Machine Learning-Problem benötigen, kontaktieren Sie uns gern.