Maschinelles Lernen

Azure Machine Learning: Vorhersagelösungen mit ML Studio erstellen
Kommentare

Als Maschinelles Lernen bezeichnet man die Erstellung von Modellen mit dem Ziel, aus vorhandenen Daten zu lernen und Vorhersageanalysen für zukünftige Daten anzustellen. In Zeiten von Big Data, hat das maschinelle Lernen in den letzten Jahren immer mehr an Popularität gewonnen. Doch der Prozess dahinter ist durchaus kompliziert und anspruchsvoll.

Um den Einstieg zu erleichtern, hat Microsoft mit Azure Machine Learning  einen vollständig verwalteten Dienst an den Start gebracht, mit dem sich Lösungen zur Vorhersageanalyse in der Cloud erstellen, testen, betreiben und verwalten lassen. Das dazugehörige Tool: Azure Machine Learning Studio. Was genau sich hinter dem Machine-Learning-Prozess verbirgt und was Microsofts Service hierfür leisten kann, lesen Sie hier.

Machine Learning – was ist das überhaupt?

Grundsätzlich ist der Prozess des maschinellen Lernens ähnlich dem des Data Minings. Beide Systeme durchsuchen Daten, um Muster ausfindig zu machen. Statt Daten für das menschliche Verständnis zu extrahieren – wie es bei Data-Mining-Anwendungen der Fall ist – nutzt Machine Learning diese Daten jedoch, um das Verständnis des Programms zu verbessern.

Computersystemen werden per maschinellem Lernen (ML) in die Lage versetzt, Wissen aus Erfahrung zu erwerben. Anders als beim traditionellen, regelbasierten Ansatz der Softwareentwicklung – bei dem Input und Output bereits von Beginn an bekannt sind – stellt ML einen Weg bereit, Algorithmen zu konstruieren und zu studieren, die von Daten lernen, ohne dass individuelle Regeln programmiert werden müssen. Mithilfe von maschinellem Lernen können Computer so Beziehungen zwischen Input und erwartetem Outcome erlernen und beispielsweise Vorhersagen dazu treffen, wie das Ergebnis aussehen könnte.

Was komplex klingt, kommt überall im Alltag zum Einsatz: Beim Online-Shopping trägt maschinelles Lernen zum Beispiel dazu bei, dass anhand der gekauften Produkte weitere Produkte empfohlen werden. Wird eine Kreditkarte verwendet, hilft maschinelles Lernen der Bank, eine Betrugserkennung durchzuführen und Kunden zu benachrichtigen, falls eine Transaktion verdächtig erscheint. Aber auch in der Industrie hat Machine Learning unzählige Anwendungen. Gerade, wenn es um Predictive Maintenance geht. Beispielsweise sind prädiktive Wartungslösung für Aufzüge im Einsatz, um Zuverlässigkeit und Sicherheit der Maschinen zu garantieren.

Der Prozess

Der Machine-Learning-Prozess ist kompliziert, und mit einigen Schritten verbunden. David Chappell, Chappell & Associates, hat das Ganze in einer Einführung zusammengefasst. Hier die wichtigsten Punkte.

Am Anfang jedes Machine-Learning-Prozesses stehen erst einmal jede Menge Daten. Diese sind zumeist nicht gleich im richtigen Zustand, um direkt genutzt werden zu können. Machine-Learning-Projekte müssen die Daten daher zunächst einmal verarbeiten. Dazu werden diverse Preprocessing-Module genutzt, wie in Abbildung 1 zu sehen ist. Ziel der Datenvorverarbeitung ist es – wie der Name schon sagt – vorbereitete Daten (prepared Data) zu erhalten. Dahin zu kommen, ist allerdings nicht so einfach.

azure machine learning 1

Screenshot: Einführung Machine Learning, Quelle: David Chapell: Introducing Azure Machine Learning, A Guide für Technical Professionals, © 2015 Chappell & Associates

Wie es Abbildung 1 zeigt, handelt es sich dabei um einen iterativen Prozess, bei dem die verschiedenen Data-Preprocessing-Mudules auf die Rohdaten angewendet werden müssen. Größter Zeitaufwand bei Machine-Learning-Prozessen ist die Auswahl der richtigen Rohdaten, mit denen der Prozess gestartet werden soll, sowie deren Weiterverarbeitung zu vorbereiteten Daten.

Liegen diese erst einmal vor, kann sich das Machine-Learning-Team an den nächsten Schritt machen: einen Weg zu finden, das Problem zu lösen, an dem aktuell gearbeitet wird – beispielsweise das Aufdecken von Kreditkartenbetrügen. Um das zu bewerkstelligen, nutzt das Team Machine-Learning-Algorithmen, mithilfe derer dann mit den vorbereiteten Daten gearbeitet werden kann. Die Algorithmen werden in der Regel für statistische Analysen der Daten angewendet. Das schließt recht unspektakuläre Analysen ein, wie zum Beispiel die Regressionsanalyse, aber auch wesentlich komplexere Ansätze, beispielsweise Algorithmen mit exotischen Namen wie Two-Class Boosted Decision Tree oder Multiclass Decision Jungle.

In der Regel wählt der Data Scientist den Machine-Learning-Algorithmus aus und entscheidet, welche Aspekte der vorbereiteten Daten genutzt werden. Auch die Ergebnisse werden vom Data Scientist geprüft. Ziel ist es, herauszufinden, mit welcher Kombination aus Machine-Learning-Algorithmus und vorbereiteten Daten die besten Ergebnisse erzielt werden können.

Wird ein Algorithmus auf Daten angewendet, bezeichnet man das Ergebnis als Modell. Konkret ist ein Modell Code – noch konkreter die Implementierung eines Algorithmus zur Erkennung von Mustern. Jedoch ist es wichtig zu verstehen, dass ein Modell keine Ja-Nein-Antworten gibt. Stattdessen geben sie Wahrscheinlichkeiten zwischen 0 und 1 zurück. Wie diese Wahrscheinlichkeiten dann genutzt werden, liegt beim jeweiligen Unternehmen.

In so gut wie jedem Fall ist das erste erstellte Modell nicht das Beste. Daher probieren Data Scientists zahlreiche unterschiedliche Kombinationen von Machine-Learning-Algorithmen und vorbereiteten Daten aus, auf der Suche nach der besten Kombination für das beste Modell. Jeder dieser Versuche wird typischerweise als Experiment bezeichnet – und von diesen gibt es im Verlauf von Machine-Learning-Prozessen normalerweise viele (Abb.1). Hat man das effektivste Model gefunden, wird es schließlich deployed, um es Anwendungen zu ermöglichen, die Algorithmen zu nutzen, die das Model implementiert.

Was ist Azure Machine Learning?

Um den Machine-Learning-Prozess zu erleichtern, hat Microsoft den cloudbasierten Vorhersage- und Analysedienst Azure Machine Learning an den Start gebracht, der die schnelle Erstellung von Analyselösungen ermöglichen soll. Die Vision des Diensts ist es, Machine Learning zu demokratisieren: Jeder im Unternehmen, ob Data Analysts, Entwickler oder Fachabteilungen, soll Zugriff zu Daten und Machine Learning erhalten, ohne darin promoviert haben zu müssen. Das Azure-Team erklärt hierzu:

Wir erstellten Azure Machine Learning, um das maschinelle Lernen allen zugänglich zu machen: Wir eliminierten die Komplexität der Erstellung und Bereitstellung der Technologie für das maschinelle Lernen, damit es jeder nutzen kann.

Der Dienst ist vollständig verwaltet, das bedeutet, dass Nutzer weder Hardware kaufen, noch virtuelle Computer manuell verwalten müssen.

Anwendungsmöglichkeit

Entwickler sollen den Dienst nutzen können, um Webdienste zu ermitteln und zu erstellen, die Modelle über APIs trainieren, speichern und dann erneut trainieren. Ferner können Entwickler auf diese Weise Endpunkte verwalten und Webdienste für einzelne Kunden skalieren. Die Webdienste können dann standortunabhängig Verbindungen mit beliebigen Daten herstellen. Ändern sich die Anforderungen eines Projekts, soll es möglich sein, den Algorithmus problemlos zu aktualisieren und wieder in Betrieb zu nehmen – ohne das der Zugriff auf vorhandene Ergebnisse verloren geht!

Außerdem lasse sich Azure Machine Learning dazu nutzen, Diagnosefunktionen für das Überwachen und Debuggen des Diensts zu konfigurieren.

Folgende Features sind brandneu:

R-Features: Die Fähigkeit, ein konfigurierbares Modul für benutzerdefiniertes R zu erstellen und eigene R-Skripts für Training/Vorhersage zu integrieren
SQLite: Unter Verwendung von SQLite können Daten jetzt problemlos geändert, gefiltert und bereinigt werden.
Machine Learning Community Gallery: Die Gallery bietet die Möglichkeit, interessante Experimente, die von anderen Benutzern erstellt wurden, zu entdecken und zu verwenden. In der Galerie können Fragen gestellt oder Anmerkungen zu Experimenten oder eigenen Experimenten veröffentlicht werden. Links zu interessanten Experimenten können über soziale Kanäle, z. B. LinkedIn und Twitter, freigeben werden. Die Galerie beinhaltet auch Machine Learning APIs – APIs, die jeder Entwickler in den eigenen Anwendungen, Apps oder Dashboards ohne ML-Wissen einbauen kann, z.B. ein Empfehlungsdienst oder Gesichtserkennung.
Weiteres: Ab sofort lässt sich mit Terabyte von Daten unter Verwendung von Learning with Counts trainieren und PCA oder eine SVM mit einer Klasse zum Erkennen von Anomalien verwenden.

Darüber hinaus gibt es über den Azure Machine Learning Marketplace die Möglichkeit, eines der vielen bereitgestellten ML Web Services in die eigene Anwendung einzubauen. So zum Beispiel die Erkennung von Anomalien und Textanalysen. Data Scientists können außerdem ihre Modelle im Azure Store monetarisieren.

Microsoft Azure Machine Learning Studio

Der eigentliche Clou am Azure Machine Learning ist das Azure Machine Learning Studio (Azure ML Studio) – ein Tool für die Zusammenarbeit per Drag & Drop, mit dem sich Lösungen für Vorhersageanalysen erstellen, testen und bereitstellen lassen.

In Machine Learning Studio – auch als Azure ML Studio bezeichnet – finden Datenverarbeitung, Vorhersageanalysen, Cloudressourcen und Ihre Daten zusammen.

ML Studio enthält eine Palette von Modulen mit einer visuellen Kompositionsoberfläche, in der man durchgängige Datenworkflows in Form von Experimenten erstellen kann. Außerdem verfügt Machine Learning Studio über eine Bibliothek mit fertigen Beispielexperimenten, R-und Python-Paketen sowie Algorithmen von Microsoft aus den Bereichen Xbox und Bing.

Hier einige Beispiele der enthaltenen Module:

  • In ARFF konvertieren: konvertiert ein .NET-serialisiertes DataSet in das ARFF-Format
  • Elementare Statistiken: berechnet elementare Statistiken wie beispielsweise Mittelwert, Standardabweichung usw.
  • Lineare Regression: erstellt ein lineares Regressionsmodell online, das auf einem Gradientenverfahren-Modell beruht.
  • Bewertungsmodell: bewertet ein trainiertes Klassifizierungs- oder Regressionsmodell

Fertige Modelle werden vom Azure ML Studio als Webdienste veröffentlicht, die von benutzerdefinierten Apps oder BI-Tools wie Excel genutzt werden können.

So funktioniert´s

Azure ML Studio ist eine Workbench-Umgebung, auf die per Webbrowser zugegriffen werden kann. Via Drag & Drop können DataSets und Analysemodule in einen interaktiven Arbeitsbereich eingefügt und zu einem Experiment verbunden werden, das in Machine Learning Studio ausgeführt werden kann. Für das Iterieren am Modelldesign wird das Experiment bearbeitet, auf Wunsch kann eine Kopie gespeichert werden. Dann kann es erneut ausgeführt werden. Wenn es soweit ist, kann das Experiment als Webdienst veröffentlicht werden, sodass andere auf das Modell zugreifen können.

Eine Programmierung ist nicht erforderlich, sondern lediglich das visuelle Verbinden von Datasets und Modulen zum Erstellen eines prädiktiven Analysemodells.

screenshot-machine-learning

Azure Machine Learning: Experiments, Modules and Datasets. Quelle: © Microsoft, https://azure.microsoft.com/de-de/documentation/articles/machine-learning-what-is-ml-studio/

Alle weiteren Infos zu Azure Machine Learning und Azure ML Studio gibt´s auf der Microsoft-Azure-Seite. Alle FAQs sind hier zusammengestellt . Die Grundlagen der Vorhersageanalyse und des maschinellen Lernens werden anhand eines Lernprogramms und auf der Grundlage von Beispielen Schritt für Schritt vermittelt. Hier gibt es außerdem eine Hilfe zu Algorithmen und Modulen. Wem ein praktisches End-to-End-Beispiel lieber ist, sollte ein Blick auf das folgende Video werfen:

Aufmacherbild: Cybernetic eye von Shutterstock / Urheberrecht: Luisma Tapia

 

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -