Machine Learning (4) - Azure Machine Learning

In diesem Blogbeitrag gebe ich einen kurzen Überblick von Azure Machine Learning und was die Vision hinter Azure Machine Learning ist.

Dieser Artikel ist Teil der Machine Learning Serie:

  1. Was ist das, was ist das nicht und wann ist das gut?
  2. Supervised versus Unsupervised Learning
  3. Machine Learning Prozess
  4. Azure Machine Learning
  5. Azure Machine Learning Ressourcen
  6. Experiment in Azure ML: Binäre Klassifizierung – Titanic überleben, Flugverspätungen und gezieltes Marketing (englisch)

Azure Machine Learning

Auf der Strata + Hadoop World in San Jose am 18. Februar hat Joseph Sirosh, CVP Machine Learning bei Microsoft, die General Availability von dem Azure Machine Learning Dienst verkündet: Ein cloudbasierter Dienst, mit dem man Predictive Analytics-Modelle anhand von vorhandenen Machine Learning-Algorithmen schnell und einfach erstellen kann. Die Vision von Azure Machine Learning (kurz: Azure ML) ist, Machine Learning zu demokratisieren - jedem im Unternehmen, ob Analysten, Entwickler oder Fachabteilungen, Zugriff zu Daten und Machine Learning zu gewährleisten.

Daten

Der typische Workflow bei Azure Machine Learning fängt zunächst mit dem Import der Daten an. Dabei sind beide Quellen möglichen: sowohl die Cloud als auch lokal gespeicherte Dateien. Bei der Cloud gibt es mehrere Anknüpfungspunkte, sei es eine SQL Server VM, Blobs oder Tabellen, eine Azure SQL Datenbank, HDInsight-Cluster, Web-URL (via HTTP) oder einem Data Feed Provider. Lokale Daten kann man ebenfalls hernehmen, indem man diese in Azure hochlädt. Mehr Informationen zu dem Daten-Ingress wird es später in einem separaten Blogpost in dieser Serie geben.

Machine Learning Studio: Daten säubern, Modell bauen

Um endlich mit den Daten was anzufangen und auf denen basiert Datenmodelle zu bauen, gibt es das ML Studio (ML für Machine Learning):

Das ML Studio ist eine browserbasierte Anwendung: Keine Software zu installieren, keine Hardware zu kaufen, keine VM zu starten; nur der Browser Deiner Wahl.

Im ML Studio gibt es die Möglichkeit, verschiedene Arbeitsbereiche (im Englischen "Workspaces") einzurichten, die equivalent zu Sandboxen sind:

Warum? Zum einen kann man so ganz schön seine Modelle laut Business-Grund voneinander unterscheiden. Zum anderen kann man die Arbeitsbereiche auch mit Kollegen teilen, um gemeinsam an Datenmodellen zu arbeiten:

Man kann weitere Personen ebenfalls als "Owner" (Besitzer) einladen. Der große Unterschied zwischen einem "Owner" und einem "User" (Benutzer) ist, dass man als Owner weitere Personen auf den Arbeitsbereich einladen kann.

Bei der Modellierung selber kann man auf einen Katalog an bewährten Machine Learning Algorithmen zugreifen. Per Drag & Drop kann man einfach aus einem Katalog von Modulen sich ein Modell zusammenbauen; quasi wie Visio für Data Scientists. Die Auswahl an vorhandenen Machine Learning Algorithmen hat sich aus jahrzehntelanger Forschung in Microsoft Research, Halo, Kinect und Bing ergeben.

Wer bereits seine Modelle in bewährten Data Science Open Source Programmiersprachen, wie R und Python, erstellt hat, muss bei Azure ML nicht von vorne anfangen. Im Gegenteil - R und Python werden unterstützt! Anhand von R- oder Python-Modulen kann man seinen bisher erstellten R-/Python-Code in Azure ML einfügen. Ganz nach dem Motto Microsoft <3 Open Source :)

Vorhersagen / In die Produktion

Was bisher Wochen, gar Monate dauern konnte, bis ein Modell in den Produktiv-Code integriert wurde, kann bei Azure ML durch die Bereitstellung eines Modells als Web Service in wenigen Minuten beschleunigt werden:

So ein Web Service kann durch eine API-Authentifizierung dann in Dashboards, Apps oder weiteren Anwendungen eingebaut werden. Beispiel-Code in C, R und Python wird demnach zur Verfügung gestellt.

Bezogen auf den Machine Learning Prozess?

Und sonst? Sharing is Caring!

Das neue Release von Azure ML beinhaltet seit kurzem ein Community-Forum, in dem man eigene Experimente veröffentlichen kann, interessante Experimente anderer entdecken, befragen oder kommentieren kann. Somit kann jeder von der Community lernen und mit Machine Learning anfangen.

Darüber hinaus gibt es auch den Azure Machine Learning Marketplace (oder: Azure Store), der eine Vielzahl an Web Services beinhaltet, um die gängigen Machine Learning Anwendungen abzudecken: Empfehlungsdienste, Erkennung von Anomalien und Text Analysen. Diese können zum Beispiel als Recommender in Webseiten, Apps auf dem Handy oder weiteren Anwendungen integriert werden. Natürlich gibt es für Data Scientists die Möglichkeit, ihre Modelle als Web Service im Azure Store zu veröffentlichen und monetarisieren.

Wie kann ich mit Azure ML anfangen?

Azure ML kann man ohne Azure Subscription kostenlos mit einem Microsoft-Konto (sprich: outlook-, hotmail-, yahoo- oder live-Email-Adresse) ausprobieren. Einfach auf http://studio.azureml.net/ und auf "Get started now" klicken. Mehr Informationen findet man hier.

Wer eine Azure Subscription besitzt, findet im Azure Management Portal einen Raster für Machine Learning:

Einen Machine Learning Arbeitsbereich kann dann leicht erstellt werden:

Ein Speicherkonto muss dann angegeben bzw. erstellt werden, um dort die hochgeladenen lokalen Daten abzuspeichern.
Sobald ein Arbeitsbereich erstellt ist, gelangt man über den Knopf unten "In Studio Öffnen" automatisch in das ML Studio.

comments powered by Disqus