Machine Learning – Was steckt eigentlich dahinter?

02.03.2018

Machine Learning (ML) ist momentan eines der Schlagwörter, wenn über heiße Trends in der IT Welt diskutiert wird. Einige Anwendungen kennt man bereits aus dem Alltag. So basieren zum Beispiel Missbrauchserkennung von Kreditkarten oder die Filmvorschläge von Netflix auf ML Modellen.


Gerade im Zuge der Digitalisierung und dem Zeitalter von Big Data spielen Machine Learning Modelle für die Eroberung neuer Geschäftsfelder und damit den Erfolg von Unternehmen eine immer größere Rolle. Ein Grund, sich dem Thema also intensiver zu widmen.
Unsere Erfahrung hat gezeigt, dass sich in den meisten Big Data Anwendungen die folgenden drei Themen wiederfinden:

  • Datenintegration / Verarbeitung
  • Datenanalyse/Algorithmik
  • Datenvisualisierung/BI

 

Folglich haben wir bei doubleSlash unsere interne Big Data Arbeitsgruppe nach dieser Struktur ausgerichtet.

 

Abbildung 1 – Struktur der Big Data Arbeitsgruppe bei doubleSlash

Machine Learning

Dieser Beitrag soll einen Einblick in das Thema Machine Learning geben und folgende Fragen beantworten:

  • Was ist Machine Learning und welche Ziele werden verfolgt?
  • Wo ist Machine Learning im Kontext Künstliche Intelligenz einzuordnen?
  • Was sind Teilbereiche und Methoden von Maschinellem Lernen?

 

 

 

Machine Learning – Ziele und Workflow

In seiner simpelsten Interpretation ist Machine Learning das Schaffen von Intelligenz in einem System mit dem Ziel, menschliche Entscheidungsfindung zu vereinfachen und zu optimieren.

Abbildung 1 – Ziele des Machine Learnings

 

Das Ziel von Machine Learning ist das selbstständige „Erlernen“ eines möglichst passenden Prognose- bzw. Klassifizierungsmodells durch ein System, in Bezug auf einen bestimmten Zielwert oder die Identifikation bestimmter Muster in Daten.

Abbildung 2 – Machine Learning in a Nutshell

Prognose- bzw. Klassifizierungsmodells durch ein System, in Bezug auf einen bestimmten Zielwert oder die Identifikation bestimmter Muster in Daten.

Prognose- bzw. Klassifizierungsmodells durch ein System, in Bezug auf einen bestimmten Zielwert oder die Identifikation bestimmter Muster in Daten.

Die Methoden des ML entscheiden darüber, wie passend ein Modell im Hinblick auf die Realität ist und bestimmt damit seine Aussagekraft. Im letzten Abschnitt schauen wir uns das noch genauer an.

Dazu kommt der spezifische ML Prozess (Workflow), mit dem das Erlernen bzw. Optimieren des Modells realisiert wird.

Wir wollen uns den Machine Learning Workflow hier genauer anschauen. Er ist darauf ausgelegt, Modelle zu trainieren, indem in zahlreichen Durchläufen die Annahmen des Modells durch Testdaten validiert werden.

Der ML Workflow teilt sich zwei Phasen auf:

  • Trainingsphase: Nach Wahl des ML Modells (Algorithmik) wird mit Hilfe von Trainings- und Testdaten in zahlreichen Durchläufen das Modell trainiert. Die Daten durchlaufen zunächst eine Transformation, man spricht hier auch von Feature Extraction. Hier werden die Eingabedaten auf bestimmte Zielattribute „reduziert“.
    Nach Trainingsläufen mit dem Modell werden diese evaluiert und entsprechende Anpassungen an den Parametern des Modells vorgenommen.
  • Anwendungsphase: Hat sich ein ML Modell in der Trainingsphase bewährt wird das Modell auf reale Daten losgelassen. Auch hier wird die im Modell vorgenommene Feature Extraction durchgeführt. Prognosen, Klassifizierung oder Strukturierung der Daten findet dann in Geschäftsmodellen Anwendung.
Abbildung 3 – Machine Learning Workflow

Der Schritt der Feature Extraction wird auch gerne als Teil der übergreifenden Dimensionsreduktion genannt. Hier werden die Eingabedaten auf eine für sie repräsentative Teilmenge reduziert, um die Komplexität im Modell zu verringern. Eine gängige Methode der Dimensionsreduktion ist die Hauptachsentransformation.

Machine Learning im Kontext AI

 

In den zahlreichen Diskussionen um Künstliche Intelligenz, Machine Learning oder auch Deep Learning werden diese Begriffe oft vermischt oder als Synonym verwendet. Wir wollen das Ganze einmal Auflösen.

Schauen wir auf „Abbildung 4 – Machine Learning Kontext“, so sehen wir folgenden Zusammenhang: Deep Learning ist ein Teilbereich des Machine Learnings, das wiederum ein Teil von Künstlicher Intelligenz ist.

Die Teilbereiche der Künstlichen Intelligenz unterscheiden sich durch ihr Anwendungsfeld, haben aber zum Teil große Überschneidungen was die Verwendung der Algorithmen angeht. So basiert Natürliche Spracherkennung (Natural Speech Recognition) mittlerweile größtenteils auf Machine  Learning Modellen.

Deep Learning ist die komplexeste und mächtigste Kategorie des Machine Learning. Unter Deep Learning versteht man im Allgemeinen die Verwendung und Optimierung von künstlichen neuronalen Netzen (Deep Neural Networks). Populärstes Beispiele für eine Deep Learning Anwendung ist AlphaGo Zero.

Abbildung 4 – Machine Learning Kontext
Teilbereiche und Methoden von Machine Learning
Machine Learning teilt sich in drei Kategorien auf:

  • Supervised Learning
  • Unsupervised Leaning
  • Reinforcement Learning

 

Abbildung 5 – Kategorien des ML

 

Die drei Kategorien unterscheiden sich dabei in ihren Eingabedaten, der Art des Lernprozesses und ihrem Aussageziel.

 

Supervised Learning

Beim Supervised Learning sind sowohl Eingabeparameter (Features) als auch Zielwerte (die richtigen Antworten) bereits bekannt. Mit Hilfe von Trainingsdaten wird dann ein Modell gebildet, welches in der Lage ist für neue, bis dato unbekannte Eingangsdaten eine entsprechende Prognose zu berechnen. Vereinfacht ausgedrückt lernt das System ähnliche Eingangsdaten ähnlichen Zielwerten zuzuordnen. Das System weiß also, wie und was es zu lernen hat. Man spricht vom Überwachten Lernen (oder eben Supervised Learning).

Supervised Learning lässt sich in zwei Problemkategorien unterteilen:

  • Regressionsprobleme: D.h. der Zielwert ist ein realer Wert, z.B. Einnahmen oder Regenmenge
  • Klassifikationsprobleme: Der Zielwert ist die Einordnung in eine Kategorie, z.B. Krebszelle vs. gesunde Zelle
Abbildung 6 – Lineare Regression

Für diese Probleme kommen die folgenden Algorithmen am häufigsten zum Einsatz:

  • Regression (linear, logistisch, multivariat)
  • Support Vektor Maschinen
  • Naive Bayes’sche Schätzer
  • Einfache Neuronale Netze

 

 

 

 

Unsupervised Learning
Beim Unsupervised Learning wird im Gegensatz zum Supervised Learning keine Vorgabe bezüglich des Zielwertes gemacht. Ziel hierbei ist es, Strukturen und Zusammenhänge in den Eingabedaten zu erkennen und somit mehr über die Daten selbst zu lernen. Das Lernen wird also nicht mit Hinblick auf eine bestimmte Aussage gesteuert und man spricht daher von Nicht-Überwachtem Lernen („Unsupervised Learning“).

Auch das Unsupervised Learning lässt sich noch einmal in zwei Kategorien aufteilen:

  • Clustering: Ziel ist es, die inhärenten Gruppen (Cluster) in den Daten identifizieren und die Daten danach zu strukturieren
  • Assoziationsmodelle: Ziel ist es, logische Zusammenhänge (Regeln) zwischen Datengruppen zu identifizieren (z.B. Kunden, die Produkt A kaufen wählen auch Produkt B)
Abbildung 7 – Clustering mit k-means

Für Modelle des Unsupervised Learnings werden unter anderem die folgenden Methoden verwendet:

  • K-Means
  • K-NN (k-nearest-neighbour clustering
  • Autonencoder (als Anwendung von Neuronalen Netzen)

 

Reinfocement Learning
Reinforcement Learning ist eine Sammlung von Techniken für die Entwicklung autonomer Entscheidungsmodelle, in denen auf Änderungen der Umwelt reagiert werden muss. Diese Szenarien sind meist zu komplex, so dass Methoden des Supervised und Unsupervised Learning nicht mehr greifen. Das momentan bekannteste Beispiel ist das von Alpha entwickelte System AlphaGo Zero.

Ziel beim Reinforcement Learning ist es, dass ein Agent eines Entscheidungsmodells selbstständig eine Strategie erlernt, mit der die erhaltene „Belohnung“ maximiert wird. Eine Belohnung kann zum Beispiel Sieg oder Niederlage in einem Spiel sein.

Agenten sind in Modellen des Reinforcement Learnings ausführende Einheiten, aus welchen die komplexen Berechnungsschritte aufgeteilt werden. Der Agent evaluiert hierbei nicht in jedem Schritt, welche Aktion gerade optimal ist, sondern erhält zu einem bestimmten Zeitpunkt eine Belohnung, die auch negativ sein kann (z.B. Gewinn / Verlust). Je nach Belohnung gewichten die Agenten ihre Entscheidungen im Modell.

Da die Zielfunktion in komplexen Modellen mit großen Aktionsräumen nicht mehr numerisch berechnet werden kann, verwendet man künstliche neuronale Netze (Deep Neural Networks), um die Funktion zu approximieren.
Um die Agenten zu trainieren, werden als Algorithmen häufig Monte-Carlo-Methoden oder das Temporal Difference Learning eingesetzt.

Machine Learning – ein Ausblick
Im nächsten Teil unserer Blogserie wollen wir das Machine Learning Framework von Apache vorstellen, Spark MLlib. Wir schauen uns hier die Architektur von MLlib an, gehen auf Datenstruktur ein und wollen Euch anhand von Fallbeispielen einige Methoden vorstellen, die MLlib zu bieten hat.

 

elektroniknet.de beschreibt, was es mit dem Projekt „Fast&Slow“ des DFKI zum Thema Deep-Learning auf sich hat.


Quellen:

[1] https://www.researchgate.net

[2] https://www.datascience.com

[3] https://www.innoarchitech.com/machine-learning-an-in-depth-non-technical-guide/

[4] https://www.quora.com/

[5] https://www.prnewswire.com/news-releases/fico-machine-learning-algorithms-improve-card-not-present-fraud-detection-by-30-300529629.html

[6] https://deepmind.com/blog/alphago-zero-learning-scratch/

[7] https://deeplearning4j.org/neuralnet-overview

[8] https://cloud.google.com/vision/?hl=de

[9] https://quickdraw.withgoogle.com/

[10] https://research.adobe.com/project/scribbler-controlling-deep-image-synthesis-with-sketch-and-color/

Bildquellen:

[11] Abbildung 4: https://www.ibm.com/blogs/business-analytics/why-finance-professionals-need-artificial-intelligence/

[12] Abbildung 6: https://de.wikipedia.org/wiki/Einfache_lineare_Regression

[13] Abbildung 7: https://mubaris.com/2017/10/01/kmeans-clustering-in-python/

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*