Machine Learning mit Amazon Web Services

In der Datenanalyse steht man oft vor der Frage, welcher Algorithmus oder welche Methode am besten geeignet ist, um Daten zu analysieren, zu modellieren oder sogar ein „KI“-Problem zu lösen. Hier bei PROTOS Technologie sind wir auf Cloud-Lösungen spezialisiert, daher möchten wir mögliche Wege aufzeigen, wie solche modernen Probleme mit Hilfe von AWS gelöst werden können.

Um einen Einblick zu bekommen, wie ein Data Science-Problem gelöst werden kann, sollte als erstens ein Blick auf die Datenbasis geworfen werden. Steht zusätzlich zu den Daten eine Art „Etikett“ zur Verfügung, das eine Datenklasse anzeigt oder muss der Computer tatsächlich die Cluster von unmarkierten Daten herausfinden? Im ersten Fall haben wir ein sogenanntes beaufsichtigtes Lernproblem, nachfolgend als supervised Learning bezeichnet. Im zweiten Fall ein unbeaufsichtigtes Lernproblem, nachfolgend unsupervised Learning genannt. Der folgende Blogbeitrag konzentriert sich ausschließlich auf diese beiden Arten von Problemstellungen.

Supervised Learning lässt sich in zwei Kategorien unterteilen: Klassifikation und Regression. Der Unterschied besteht im Vorhersagetyp: Während sich die Regression mit dem Ergebnis einer kontinuierlichen Variablen (d.h. einer Zahl) befasst, gibt die Klassifikation eine Klasse (z.B. eine Farbe) aus. Diese Klasse wird oft als „Label“ bezeichnet. Die nachfolgende Tabelle zeigt einige typische Beispiele für jeden Vorhersagetyp:

RegressionKlassifikation
Hauspreise in Abhängigkeit des StandortesGesundheitsstatus einer Persion: Gesund/Ungesund
TemperaturSpezies eines Tieres

Wenn wir es bei der Regression oder Klassifikation mit vielen Daten zu tun haben, spielt ein anderer Begriff eine wichtige Rolle: Faktorisierungsmaschinen. Das Filmempfehlungstool von Netflix ist ein gutes Beispiel. Eine Faktorisierungsmaschine ist ein allgemeiner Algorithmus für überwachtes Lernen, der sowohl für Klassifikations- als auch für Regressionsaufgaben verwendet werden kann. Diese Erweiterung eines linearen Modells dient der Erfassung von Interaktionen zwischen Funktionen innerhalb hochdimensionaler Daten in Datensätzen geringer Dichte. Geringe Dichte bedeutet, dass die Datenbank oder Matrix dünn besetzt (Eng.: sparse) ist: In einer Bewertungsdatenbank, d.h. viele Benutzer haben nur einige von Tausenden verfügbaren Filmen auf Netflix bewertet, und da die meisten Einträge null sein werden, wird die Datenbank oder Matrix als dünn besetzt bezeichnet.

Ein Problem im Bereich unsupervised Learning liegt vor, wenn der Computer das Label eines Datenpunktes bestimmen muss, d.h. die Kategorie finden muss, zu der ein Datenpunkt gehört. Ein gutes Beispiel ist der K-Nearest Neighbour-Algorithmus (KNN), bei dem eine Klassenzuordnung unter Berücksichtigung eines oder mehrerer nächsten Nachbarn vorgenommen wird. Ein weiteres gutes Beispiel für unbeaufsichtigtes Lernen ist das Auffinden von Anomalien in Bildern oder Finanztransaktionsdaten.

Bilder sind eine besondere Art von Datenstruktur. Ein Bild ist eine Sammlung von vielen Pixeln, die ihrerseits aus drei Farbwerten (RGB), besteht. Um diese Datenmenge zu verarbeiten, wird sie meist komprimiert werden, um Merkmale (z.B. ein Gesicht) in einem Bild zu finden; häufig werden dazu Convolutional Neural Networks (CNNs) verwendet. CNNs reduzieren die Menge an Pixeln und komprimieren sie zu einigen wenigen.


AWS High-Level Services

Nach dieser kurzen Einführung können wir nun einen Blick auf einige AWS Services werfen, die „out-of-the-box“-Lösungen darstellen.

Nützlich sind diese Services besonders dann, wenn eine Anwendung schnellstmöglich veröffentlicht werden soll.

Amazon Forecast

Amazon Forecast ist ein vollständig verwalteter Dienst für Zeitreihenvorhersagen. Wenn Sie Amazon Forecast historische Zeitreihendaten bereitstellen, können Sie zukünftige Punkte in der Reihe vorhersagen. Zeitreihenprognosen sind für verschiedene Bereiche wie Einzelhandel, Finanzplanung, Lieferkette und Gesundheitswesen nützlich. Sie können Amazon Forecast auch verwenden, um operative Metriken für das Bestandsmanagement sowie für die Personal- und Ressourcenplanung zu prognostizieren.

AWS Rekognition

Mit AWS Rekognition können Sie problemlos Bildklassifizierungsanwendungen erstellen, ohne viel über die zugrunde liegende Technologie zu wissen. Sie können die High-Level-API von AWS Rekognition verwenden um ihre Anwendung mit dem Service zu verbinden. Mit AWS Rekognition ist es möglich, Objekte, Personen, Text, Szenen und Aktivitäten in Bildern und Videos zu identifizieren. Zusätzlich lassen sich ungeeignete Inhalte identifizieren sowie Gesichtsanalyse implementieren.

AWS Comprehend

Amazon Comprehend steht für die Analyse von unstrukturierten Textdaten mittels NLP (Natural Language Processing). Verschiedene Analysewerkzeuge des Cloud-basierten Dienstes extrahieren Schlüsselphrasen, um die Stimmung eines Textes zu erkennen oder Namen oder Orte im Kontext der Entitätserkennung herauszufiltern. In Textverarbeitungssoftware wird oft eine Stimmungsanalyse benötigt. Mit AWS Comprehend können Sie leicht herausfinden, ob ein Kommentar positiv, neutral oder negativ ist.

Low-Level Services (AWS Sagemaker)

Wenn Sie mehr Kontrolle über den Algorithmus benötigen und Erfahrung im Bereich Analyse und Modellierung haben lohnt sich die Anwendung von AWS Sagemaker. AWS Sagemaker ermöglicht es Ihnen, Jupyter-Notebooks einzurichten, Beispielnotebooks zu importieren, Ihre Schulung durchzuführen und Ihre Modelle zu implementieren, ohne sich um die Hardwarekomponenten kümmern zu müssen. Bei der Anwendung von AWS Sagemaker bezahlen Sie nur für Ressourcen, die auch tatsächlich genutzt werden. Dies bietet enormes Sparpotenzial.

Abschließend möchten wir gerne auf die interessantesten und gebräuchlichsten Algorithmen in AWS Sagemaker hinweisen. Die folgende Tabelle zeigt häufige Probleme, die mit den genannten AWS Sagemaker-Algorithmen perfekt gelöst werden können:

Sagemaker AlgorithmusProblembeschreibung
Factorization MachinesEmpfehlungsalgorithmen auf Basis dünn besetzter Daten
KNNClustering-Probleme für Daten ohne Label
BildklassifizierungBilderkennung oder Bildklassifizierung
XGBoostRegressions- oder Klassifikationsproblem mit Daten, zu denen ein Label vorliegt
BlazingTextNatural Language Processing

Hier bei PROTOS Technologie sind wir spezialisierte Cloud-Ingenieure, die die Theorie des maschinellen Lernens beherrschen. Wir sind immer bereit, Ihre nächste Machine Learning Herausforderung für Sie zu lösen.