Die Definition von Machine Learning wurde bereits in diesem Beitrag besprochen. Heute erklären wir genau, wie  Machine Learning (ML) als Prozess im Unternehmen umgesetzt werden kann. Dies geschieht meistens in folgenden Schritten: (1.) Problemdefinition, (2.) Datenerfassung, (3.) Modellauswahl, (4.) Modelltraining, (5.) Modellbewertung, (6.) Modelleinsatz.

 

1. Problemdefinition (Business Ziel)

Die Arbeit am Machine Learning Projekt muss mit einer Zielfestlegung beginnen: Was für ein Business Ziel wollen wir mit einem ML Modell erreichen? Mit ML möchten wir im Unternehmen meistens etwas automatisieren und/oder optimieren. Wir möchten also ein Problem lösen. Eine konkrete Problemdefinition und Zielsetzung ermöglicht und erleichtert weitere Schritte im Machine Learning Prozess.

Ohne ein konkretes Ziel beginnen unsere Probleme bereits einen Schritt weiter und zwar bei der Datensatzerstellung.

2. Datensatzerstellung: Datensammlung und Erfassung

Mit einem definierten Ziel lässt sich recht schnell klären, (1) welche Daten benötigt werden und (2) ob die Daten bereits zur Verfügung stehen oder erst beschaffen werden müssen.

Dazu dient der zweite Schritt im ML Prozess, welcher sich mit der Datensatzerstellung beschäftigt. Bei der Datensammlung hilft insbesondere Domainexpertise. Beispielsweise wird eine Ärztin oft besser einschätzen können, welche Daten für einen Lungenkrebserkennungsalgorithmus benötigt werden als jemand, der fachfremd ist.

Die ersten Fragen, die wir beantworten müssen, gelten der Verfügbarkeit der Daten: Gibt es bereits verfügbare Daten im Unternehmen? Muss ich die Daten erst gewinnen?

Weitere Fragen beziehen sich auf das Format der Daten: Handelt es sich bei dem Datensatz um klassische tabellarische Daten oder sind es Bilddaten? Je nach Datenformat müssen auch die ML Algorithmen angepasst werden.

Wichtig ist auch gleich am Anfang (wenn möglich) die Daten zu visualisieren. Auf diese Art und Weise erhält man oft recht schnell einen ersten Überblick über die Datenbeschaffenheit.

Danach beginnt der Prozess der Datenbereinigung, der auch eine Wissenschaft für sich sein kann. Hier müssen Außreiser, fehlende Daten und andere Anomalien aufgespürt und beseitigt werden. Hierzu hat Jason Brownlee einen guten Blogpost auf Machine Learning Mastery verfasst. Im Fall einer mangelhaften Bereinigung der Daten laufen wir die Gefahr, dass unsere Modelle falschen Output liefern. Das Problem, dass schlechte Daten zu schlechten Ergebnissen führen, ist auch unter dem Stichwort „garbage in: garbage out“ bekannt.

Erst nach der Überprüfung der Daten und ihrer Bereinigung kann die Arbeit mit Machine Learning Modellen beginnen.

3. Modellauswahl

Mit entsprechend bereinigten Daten können wir uns über die Auswahl passender Algorithmen Gedanken machen. Die Algorithmen müssen an das Datenformat, Datenmenge und Qualität angepasst werden. Bilddaten werden eine andere Herangehensweise benötigen als beispielsweise Textdaten.

Es empfiehlt sich eine strategische Vorgehensweise: zunächst wählen wir einige passende Algorithmen aus und danach testen wir sie an den Daten. Am Ende (zwei Schritte weiter) entscheiden wir uns für den Algorithmus, der zu unseren Daten am besten passt und andere, mehr businessspezifische Voraussetzungen erfüllt.

4. Modelltraining

Im nächsten Schritt werden die bereinigten Daten in die ausgewählten Modelle eingespeist. Meistens werden die Daten dabei stichprobenweise getrennt in Trainingsdaten und Testdaten sowie auch Validationsdaten.

Der Großteil der Daten sollte sich dabei in dem Trainingsdatensatz befinden. Mit den Trainingsdaten testen wir verschiedene Hyperparameter in unseren Modellen so, dass sie ein optimales Ergebniss liefern.

Hierzu verwenden wir meistens einen Prozess der Cross-Validation (hierzu wird es von mir einen weiteren Blogbeitrag geben). Hier wird das Modelltrainig sowie die Cross-Validation sehr einfach und anschaulich erklärt.

Im nächsten Schritt wählen wir Hyperparameter für unsere Modelle aus und passen sie an. Am Ende wählen wir das Modell aus, welches unsere Anforderungen am besten erfüllt.

4. Modellevaluation bzw. Bewertung

Im nächsten Schritt bewerten wir die eingesetzten Algorithmen. Die Bewertungskriterien variieren dabei je nach eingesetztem Algorithmus und unseren Zielen. Sie können qualitativ und quantiativ sein.

Zu den wichtigsten quantitativen Messwerten als Bewertungskriterien gehören u.a.: Confusion Matrix, Accuracy, Precision, Recall, Specificity, F1 Score, ROC (Receiver Operating Characteristics) curve. In diesem Blogpost (Towards Data Science) werden die wichtigsten Kennzahlen erläutert.

Der eingesetzte Algorithmus sollte sowohl zu den Business Zielen passen als auch praktische Erwägungen erfüllen. Die Ergebnisse sollen zudem nicht nur für Data Science Experten verständlich sein, sondern auch für andere Stakeholder im Unternehmen. Deswegen ist eine gute und anschauliche Ergebnissvermittlung unabdingbar.

Die qualitativen Bewertungskriterien orientieren sich an den Projektzielen und praktischen Erwägungen: erfüllt das Modell unsere Business Ziele? Ist es in der Praxis anwendbar?

Der ausgewählte Algorithmuss sollte zudem, neben guten Ergebnissen, auch optimal zu den Business Zielen passen. Die Effizienz in der Anwendung spielt auch eine große Rolle. Manche Algorithmen, trotz bester Ergebnisse, sind im Einsatz mit hohen Kosten verbunden. Hier kann ein anderer Algorithmus zwar weniger gute, aber immer noch ausreichende Ergebnisse liefern – dafür aber mehr Effizienz in der Anwendung bieten.

Wichtig ist auch zu erwähnen, dass die Modellevaluation praktisch nie endet. Unsere Daten können sich im Laufe der Zeit verändern (Stichwort: Data Drift), es kommen andere Lösungen auf den Markt. Aus diesem Grund ist der Machine Learning Prozess nicht linear zu verstehen, sonderen eher als ein Zyklus, der aus verschiedenen noch kleineren Zyklen bestehen kann.

6. Modellbereitstellung (Deployment)

Im letzten Schritt wird das Modell in der Praxis eingesetzt, um damit in Zukunft Umsatzsteigerungen zu erreichen.

Das fertige Ergebniss kann dabei sehr variabel sein und verschiedene Lösungen beinhalten.

Es kann sich hierbei beispielsweise um einen Spamdetektor handeln oder aber ein Bildererkennungsverfahren für bestimmte Krankheiten. In einem Produktionsunternehmen kann am Ende ein besseres Vorhersagemodell zur Lebenszeit der eingesetzten Machinen stehen (Stichwort: Predictive Maintenance).

Die Bereitstellung des Modells schaut in der Praxis meistens anders aus als das Modelltraining selbst. Data Scientists trainieren ihre Modelle oft in der Jupyter Notebook Umgebung (oder ähnlichen Umgebungen). Die Modelle selbst müssen aber für die Produktion in die Software Architektur des Unternehmens integriert werden. Hier sind insbesondere Software Skills gefragt.

Wichtig dabei ist, das sich im Einsatz befindende Modell immer wieder nachzupflegen und weiterhin auf die Datenproblematik zu achten.

Machine Learning einfach erklärt