Posts

Interview mit Prof. Carsten Felden über Artificial Intelligence und Cognitive Computing

Wird Artificial Intelligence oder Cognitive Computing oder beides zusammen der Standard, den alle haben müssen?

Prof. Dr. Carsten Felden ist Vorsitzender des Vorstandes des TDWI e.V., der größten Community für Analytics und Buisness Intelligence.. Er ist selbst Experte und Consultant für Business Intelligence und für diesen Fachbereich Lehrstuhlinhaber an der TU Bergakademie Freiberg.

Data Science Blog: Herr Prof. Felden, welcher Weg hat Sie bis an die Spitze des erfolgreichsten deutschen Verbandes für Analytics und Business Intelligence geführt?

Ich möchte die Beantwortung gerne umdrehen: Der TDWI ist ein Verein, in dem sich jeder als Mitglied engagieren darf und soll. Und da die Themen mir Freude bereiten und immer wieder neue Facetten zeigen, bin ich auch mit Begeisterung dabei und trage dies gerne in den Verein. Zu diesen Themen bin ich über mein Studium der Wirtschaftswissenschaft gelangt, in dem ich Wirtschaftsinformatik und Logistik vertiefte. Bei Professor Chamoni bot sich mir 2002 die Gelegenheit zur Promotion, in der ich mittels Text Mining ein Analysesystem in Python entwickelte, um Energiemarktentwicklungen zu erklären. Schon während dieser Zeit ergaben sich aber immer wieder Fragestellungen, welche die Entscheidungsfindung an sich betrafen. Dies interessierte mich in den vielen Facetten, so dass ich eine Habilitationsschrift anschloss, um den Entscheidungsprozess näher von der theoretischen Seite zu beleuchten. Dabei nahm ich Datenanalyseprozesse als Grundlage, um deren Wirkung auf menschliche Entscheidungsträger zu betrachten. Mit der Übernahme meiner Professur in 2006 baute ich einen kompetenzcenterorientierten Lehrstuhl auf, der sich zum Ziel setzte zu untersuchen, wie man realistisch mit Daten arbeiten kann, was man mit Daten tun kann. Dies in unterschiedlichen Welten: dem internationalen High-Tech-Konzern, dem Mittelständler als Hidden Champion oder dem kleineren Unternehmen. Insbesondere die Verbindung von Theorie und Praxis hat immer wieder die universitäre Lehre befruchtet und diese wollte ich auch in den Verein tragen. Im Rahmen der Veranstaltungen des TDWI habe ich immer viele neue Dinge oder realistische Einschätzungen aktuell diskutierter Dinge erhalten und wollte letztlich diese auch aus meinen Projekterfahrungen in die dortigen Diskussionen in unterschiedlichen Veranstaltungen zurückbringen. Das ich nun Vorsitzender dieses Vereins sein darf ist aber den Mitgliedern zu verdanken, die Vertrauen in mich setzten, den Weg des Vereins weiter voran zu treiben und meinen Vorstandskollegen, ohne deren Arbeit und Unterstützung meine Tätigkeit nichts wert wäre. Es ist der Verein als Ganzes, der den Mehrwert bietet und nicht einzelne Personen.

Data Science Blog: Wie weit ist die Industrie mittlerweile beim Einsatz von AI, also künstlicher Intelligenz?

Eine eindeutige Antwort ist hier gar nicht möglich. Allein schon die Deutung des Begriffs in der Praxis, macht es manchmal schwer, zwischen echten und unechten AI-Projekten zu unterscheiden. Letztlich kann man aber abgrenzend sagen, dass AI die automatisierte Entscheidung ermöglicht und nicht bei der Entscheidungsunterstützung für einen menschlichen Aufgabenträger endet. Egal, ob es nun ein echte oder ein unechtes AI-Projekt ist, es gilt, dass Daten entsprechend zu identifizieren, zu extrahieren und ggf. zu transformieren und final bereitzustellen sind. Nun soll aber nicht der Manager mit seinem fachlichem Know How (=Bauchgefühl) diese Informationen zur Entscheidung nutzen, sondern die Maschine übernimmt auch diesen Part (ohne Bauchgefühl) basierend auf Algorithmen. Man darf den Begriff der Entscheidung nicht immer mit einer besonderen Tragweite verbinden, da schon das einfache Signal einer Maschine: „Ich bin frei, ich habe Zeit, ich kann das jetzt tun!“ ist eine Entscheidung.
Um auch noch kurz auf die Abgrenzung zu den unechten Projekten einzugehen: hier erlebe ich immer wieder, dass AI mit künstlichen neuronalen Netzen gleichgesetzt wird. Natürlich kann man solche Netze hier nutzen, aber letztlich geht es nur darum, den Entscheidungsprozess in unterschiedlichen Situationen zu automatisieren. Zu diesem Zweck muss man prüfen, wo das sinnhaft möglich ist, da es nicht das Ziel sein kann, alles ohne Wenn und Aber zu automatisieren. In technisch-affinen Unternehmen sehen wir schon einige Umsetzungen, die über den Pilot-Status hinaus sind. Beispielhaft zu nennen sind da vollautomatisierte Fertigungen, insofern der Herstellungsprozess reihenfolgeunabhängig ist oder aber Controllingprozesse. Im Kern sind es aktuell noch Tätigkeiten, die keinen ausgeprägten kreativen Kern beinhalten, aber ein hohes Maß an Kommunikation zwischen den Beteiligten Systemelementen erfordern. In Summe gibt es ein breites Interesse und schon viele Orientierungsbeispiele, die dazu führen werden, dass diese Projekte intensiver zunehmen werden.

Data Science Blog: Wie grenzen Sie eigentlich Artificial Intelligence und Cognitive Computing voneinander ab? Wo liegen die Unterschiede?

Letztlich kann ich hier zum vorherigen ergänzen: beim Cognitive Computing handelt es sich um die Fortführung der wissensbasierten Systeme beziehungsweise der Expertensysteme. Der enorme und damit auch beeindruckende Unterschied zu den Vorläufern ist die Fähigkeit des Lernens im Sinne einer inhaltlichen Weiterentwicklung der vorhandenen Wissensbasis, die nun wesentlich ausgeprägter ist und auch automatisiert in entsprechenden Wissensdomänen stattfinden kann. AI kann einerseits zum Lernen des Systems beitragen, andererseits das gelernte für die automatisierte Entscheidung anwenden. Beide Ansätze nutzen und befruchten sich also gegenseitig.

Data Science Blog: Welche Trends im Bereich Machine Learning bzw. Deep Learning werden Ihrer Meinung nach in den Jahren 2018 und 2019 von Bedeutung werden?

Da möchte ich direkt zu unserer diesjährigen Konferenz in München herüber schwenken. Traditionell finden wir dort die Trends der nächsten Jahre schon in Vorträgen und Diskussionen.
Insgesamt beobachten wir eine starke Entwicklung hin zur Analyse unstrukturierter Daten. Machine Learning wird zunehmend intensiv in textuellen Analysen genutzt, um zum Beispiel eine E-Mail-Kategorisierung beziehungsweise Reaktion auf eine E-Mail zu automatisieren. Darüber hinaus ist die Verarbeitung von Bildern mit Ansätzen des Deep Learning ein zunehmender Trend. Dies in Szenarios wie die Fehlererkennung in der Herstellung oder dem Erkennen des Anwenders und dahingehend automatischen Anpassung seiner vorliegenden Systemlösung mit den passenden Inhalten. Sie sehen also, dass alle Facetten der algorithmischen Datenanalyse bedeutend werden. Dabei stellen wir aber auch fest, dass der klassischen Hausaufgaben, wie Datenintegration, Datenqualitätssicherung, Datenbereitstellung etc. nicht vom Tisch sind, sondern auch immer wieder neu diskutiert werden. Hier kommt aktuell hinzu, Verfahren der künstlichen Intelligenz zu nutzen, um eine dynamische Schemaerzeugung in Zeiten von Data Lakes automatisiert auszuführen, um den Anwendern für die jeweilige Entscheidungssituation Daten bedarfs- und verarbeitungsgerecht zur Verfügung zu stellen. Wir sehen also, dass die Übernahme von Tätigkeiten durch maschinellen Aufgabenträger der treibende Faktor ist, was dann mittels Machine Learning bzw. Deep Learning umsetzbar ist.

Data Science Blog: In wie weit wird der Begriff „Business Intelligence“ Ihrer Meinung nach zukünftig erhalten bleiben? Wie nahtlos ließen sich die neuen Möglichkeiten mit künstlicher Intelligenz in BI-Systeme integrieren?

Nun ja, aktuell werden wir mit Schlagworten überflutet, die darüber hinaus noch oftmals mit unterschiedlichen Verständnissen belegt sind, so dass es mehr Verwirrung als Erkenntnis gibt. Wissenschaftlich betrachtet ist Business Intelligence ein allumfassender Begriff, da er lediglich benennt, dass Daten zu sammeln und zu Entscheidungszwecken aufzubereiten sind. Dies subsummiert also auch AI.
In der Praxis ist BI aber eher das alte, starre Berichtswesen und passt dann so gar nicht zu den dynamischen Analyticsansätzen. Hier muss man aber sagen, dass Self Service Ansätze und die zunehmende Flexibilisierung der Architekturen dabei unterstützt, beide Welten zusammenzubringen. Aktuell ist man noch auf dem Niveau, über Schnittstellen bewusst Code auszutauschen. Beispielsweise lässt sich R-Code in vielen BI-Werkzeugen ausführen. Letztlich erleben wir aber alle, dass Geräte immer einfacher zu steuern sind und dadurch Welten auch zusammenfließen und das wird auch hier geschehen, weil es die Anwender einfach so gewohnt sind.

Data Science Blog: Manchmal hört man, dass Data Scientists gerade an ihrer eigenen Arbeitslosigkeit arbeiten, da zukünftige Verfahren des maschinellen Lernens Data Mining selbstständig durchführen können. Werden Tools Data Scientists bald ersetzen?

Die Wirtschaftsinformatik hat das Postulat der sinnhaften Vollautomation. Daher sehe ich es auch hier so, dass man die Punkte beziehungsweise Stellen im Prozess identifizieren muss, wo die Anwendung der Data Science Sinn macht. Darüber hinaus sehe ich den Data Scientist eigentlich nicht als eine Person, sondern als ein Konglomerat an Fähigkeiten, oftmals verteilt über mehrere Abteilungen und damit auch mehrere Personen, die zusammenarbeiten müssen. Die geforderten Fähigkeiten werden sich sicherlich wandeln, jedoch wird Kommunikationsfähigkeit immer der Schlüssel sein und Tools werden dahingehend das Data Science Team nicht ersetzen, sondern immer Mittel zum Zweck im Rahmen der sinnhaften Vollautomation sein.

Data Science Blog: Für alle Studenten, die demnächst ihren Bachelor, beispielsweise in Informatik, Mathematik oder Wirtschaftswissenschaften, abgeschlossen haben, was würden sie diesen jungen Damen und Herren raten, wie sie gute Data Scientists werden können?

Kommunizieren können und neugierig sein. Sie werden alle viel im Rahmen ihrer Ausbildung an fundamentalen Fähigkeiten gelernt haben, aber lassen sie sich auf die Partner im Projekt ein, interessieren sie sich für all das, was auf der fachlichen Ebene geschieht und wie der technische Fortschritt aussieht. Ich kann immer nur wiederholen, dass offene Kommunikation eine wichtige Fähigkeit in Projekten ist, die nicht hoch genug bewertet werden kann. Die TDWI-Konferenz oder all die anderen Formate des Vereins bieten die Möglichkeit, Wissen aufzunehmen, auszutauschen und sich selber mit anderen zu vernetzen. Ich denke wirklich, dass gute Data Scientist derartiges nutzen, um die eigenen Themen bestmöglich angehen zu können, denn das ist der Schlüssel zum Erfolg!

Prof. Felden wird am 25. Juni die TDWI Konferenz in München eröffnen, die unter dem Slogan „Business Intelligence meets Artificial Intelligence“ die neuen Möglichkeiten unter Einsatz künstlicher Intelligenz in den Fokus stellen wird.

Machine Learning vs Deep Learning – Wo liegt der Unterschied?

Machine Learning gehört zu den Industrie-Trends dieser Jahre, da besteht kein Zweifel. Oder war es Deep Learning? Oder Artificial Intelligence? Worin liegt da eigentlich der Unterschied? Dies ist Artikel 1 von 5 der Artikelserie –Einstieg in Deep Learning.

Machine Learning

Maschinelles Lernen (ML) ist eine Sammlung von mathematischen Methoden der Mustererkennung. Diese Methoden erkennen Muster beispielsweise durch bestmögliche, auf eine bestmögliche Entropie gerichtete, Zerlegung von Datenbeständen in hierarchische Strukturen (Entscheidungsbäume). Oder über Vektoren werden Ähnlichkeiten zwischen Datensätzen ermittelt und daraus trainiert (z. B. k-nearest-Neighbour, nachfolgend einfach kurz: k-nN) oder untrainiert (z.B. k-Means) Muster erschlossen.

Algorithmen des maschinellen Lernens sind tatsächlich dazu in der Lage, viele alltägliche oder auch sehr spezielle Probleme zu lösen. In der Praxis eines Entwicklers für Machine Learning stellen sich jedoch häufig Probleme, wenn es entweder zu wenige Daten gibt oder wenn es zu viele Dimensionen der Daten gibt. Entropie-getriebene Lern-Algorithmen wie Entscheidungsbäume werden bei vielen Dimensionen zu komplex, und auf Vektorräumen basierende Algorithmen wie der k-nächste-Nachbarn-Algorithmus sind durch den Fluch der Dimensionalität in ihrer Leistung eingeschränkt.


Der Fluch der Dimensionalität

Datenpunkte sind in einem zwei-dimensionalen Raum gut vorstellbar und auch ist es vorstellbar, das wir einen solchen Raum (z. B. ein DIN-A5-Papierblatt) mit vielen Datenpunkten vollschreiben. Belassen wir es bei der Anzahl an Datenpunkten, nehmen jedoch weitere Dimensionen hinzu (zumindest die 3. Dimension können wir uns noch gut vorstellen), werden die Abstände zwischen den Punkten größer. n-dimensionale Räume können gewaltig groß sein, so dass Algorithmen wie der k-nN nicht mehr gut funktionieren (der n-dimensionale Raum ist einfach zu leer).


Auch wenn es einige Konzepte zum besseren Umgang mit vielen Dimensionen gibt (z. B. einige Ideen des Ensemble Learnings)

Feature Engineering

Um die Anzahl an Dimensionen zu reduzieren, bedienen sich Machine Learning Entwickler statistischer Methoden, um viele Dimensionen auf die (wahrscheinlich) nützlichsten zu reduzieren: sogenannte Features. Dieser Auswahlprozess nennt sich Feature Engineering und bedingt den sicheren Umgang mit Statistik sowie idealerweise auch etwas Fachkenntnisse des zu untersuchenden Fachgebiets.
Bei der Entwicklung von Machine Learning für den produktiven Einsatz arbeiten Data Scientists den Großteil ihrer Arbeitszeit nicht an der Feinjustierung ihrer Algorithmen des maschinellen Lernens, sondern mit der Auswahl passender Features.

Deep Learning

Deep Learning (DL) ist eine Disziplin des maschinellen Lernes unter Einsatz von künstlichen neuronalen Netzen. Während die Ideen für Entscheidungsbäume, k-nN oder k-Means aus einer gewissen mathematischen Logik heraus entwickelt wurden, gibt es für künstliche neuronale Netze ein Vorbild aus der Natur: Biologische neuronale Netze.

Prinzip-Darstellung eines künstlichen neuronalen Netzes mit zwei Hidden-Layern zwischen einer Eingabe- und Ausgabe-Schicht.

Wie künstliche neuronale Netze im Detail funktionieren, erläutern wir in den nächsten zwei Artikeln dieser Artikelserie, jedoch vorab schon mal so viel: Ein Eingabe-Vektor (eine Reihe von Dimensionen) stellt eine erste Schicht dar, die über weitere Schichten mit sogenannten Neuronen erweitert oder reduziert und über Gewichtungen abstrahiert wird, bis eine Ausgabeschicht erreicht wird, die einen Ausgabe-Vektor erzeugt (im Grunde ein Ergebnis-Schlüssel, der beispielsweise eine bestimmte Klasse ausweist: z. B. Katze oder Hund). Durch ein Training werden die Gewichte zwischen den Neuronen so angepasst, dass bestimmte Eingabe-Muster (z. B. Fotos von Haustieren) immer zu einem bestimmten Ausgabe-Muster führen (z. B. “Das Foto zeigt eine Katze”).

Der Vorteil von künstlichen neuronalen Netzen ist die sehr tiefgehende Abstraktion von Zusammenhängen zwischen Eingabe-Daten und zwischen den abstrahierten Neuronen-Werten mit den Ausgabe-Daten. Dies geschieht über mehrere Schichten (Layer) der Netze, die sehr spezielle Probleme lösen können. Aus diesen Tatsachen leitet sich der übergeordnete Name ab: Deep Learning

Deep Learning kommt dann zum Einsatz, wenn andere maschinelle Lernverfahren an Grenzen stoßen und auch dann, wenn auf ein separates Feature Engineering verzichtet werden muss, denn neuronale Netze können über mehrere Schichten viele Eingabe-Dimensionen von selbst auf die Features reduzieren, die für die korrekte Bestimmung der Ausgabe notwendig sind.

Convolutional Neuronal Network

Convolutional Neuronal Networks (CNN) sind neuronale Netze, die vor allem für die Klassifikation von Bilddaten verwendet werden. Sie sind im Kern klassische neuronale Netze, die jedoch eine Faltungs- und eine Pooling-Schicht vorgeschaltet haben. Die Faltungsschicht ließt den Daten-Input (z. B. ein Foto) mehrfach hintereinander, doch jeweils immer nur einen Ausschnitt daraus (bei Fotos dann einen Sektor des Fotos), die Pooling-Schicht reduzierte die Ausschnittsdaten (bei Fotos: Pixel) auf reduzierte Informationen. Daraufhin folgt das eigentliche neuronale Netz.

CNNs sind im Grunde eine spezialisierte Form von künstlichen neuronalen Netzen, die das Feature-Engineering noch geschickter handhaben.

Deep Autoencoder

Gegenwärtig sind die meisten künstlichen neuronalen Netze ein Algorithmen-Modell für das überwachte maschinelle Lernen (Klassifikation oder Regression), jedoch kommen sie auch zum unüberwachten Lernen (Clustering oder Dimensionsreduktion) zum Einsatz, die sogenannten Deep Autoencoder.

Deep Autoencoder sind neuronale Netze, die im ersten Schritt eine große Menge an Eingabe-Dimensionen auf vergleichsweise wenige Dimensionen reduzieren. Die Reduktion (Encoder) erfolgt nicht abrupt, sondern schrittweise über mehrere Schichten, die reduzierten Dimensionen werden zum Feature-Vektor. Daraufhin kommt der zweite Teil des neuronalen Netzes zum Einsatz: Die reduzierten Dimensionen werden über weitere Schichten wieder erweitert, die ursprünglichen Dimensionen als abstrakteres Modell wieder rekonstruiert (Decoder). Der Sinn von Deep Autoencodern sind abstrakte Ähnlichkeitsmodelle zu erstellen. Ein häufiges Einsatzgebiet sind beispielsweise das maschinelle Identifizieren von ähnlichen Bildern, Texten oder akkustischen Signalmustern.

Artificial Intelligence

Artificial Intelligence (AI) oder künstliche Intelligenz (KI) ist ein wissenschaftlicher Bereich, der das maschinelle Lernen beinhaltet, jedoch noch weitere Bereiche kennt, die für den Aufbau einer KI von Nöten sind. Eine künstliche Intelligenz muss nicht nur Lernen, sie muss auch Wissen effizient abspeichern, einordnen bzw. sortieren und abrufen können. Sie muss ferner über eine Logik verfügen, wie sie das Wissen und das Gelernte einsetzen muss. Denken wir an biologische Intelligenzen, ist es etwa nicht so, dass jegliche Fähigkeiten erlernt wurden, einige sind mit der Geburt bereits ausgebildet oder liegen als sogenannter Instinkt vor.

Ein einzelner Machine Learning Algorithmus würde wohl kaum einen Turing-Test bestehen oder einen Roboter komplexe Aufgaben bewältigen lassen. Daher muss eine künstliche Intelligenz weit mehr können, als bestimmte Dinge zu erlernen. Zum wissenschaftlichen Gebiet der künstlichen Intelligenz gehören zumindest:

  • Machine Learning (inkl. Deep Learning und Ensemble Learning)
  • Mathematische Logik
    • Aussagenlogik
    • Prädikatenlogik
    • Default-Logik
    • Modal-Logik
  • Wissensbasierte Systeme
    • relationale Algebra
    • Graphentheorie
  • Such- und Optimierungsverfahren:
    • Gradientenverfahren
    • Breitensuche & Tiefensuche

AI(ML(DL))

Buch-Empfehlungen

Grundkurs Künstliche Intelligenz: Eine praxisorientierte Einführung (Computational Intelligence) Praxiseinstieg Deep Learning: Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen

Einstieg in Deep Learning – Artikelserie

Deep Learning gilt als ein Teilgebiet des maschinellen Lernens (Machine Learning), welches wiederum ein Teilgebiet der künstlichen Intelligenz (Artificial Intelligence) ist. Machine Learning umfasst alle (teilweise äußerst unterschiedliche) Methoden der Klassifikation oder Regression, die die Maschine über ein vom Menschen begleitetes Training selbst erlernt. Darüber hinaus umfasst Machine Learning auch unüberwachte Methoden zum Data Mining in besonders großen und vielfältigen Datenmengen.

Deep Learning ist eine Unterform des maschinellen Lernens und macht im Grunde nichts anderes: Es geht um antrainierte Klassifikation oder Regression. Seltener werden Deep Learning Algorithmen auch als unüberwachter Lernenmechanismus verwendet, zum Lernen von Rauschen zur Erkennung von Mustern (Data Mining). Deep Learning bezeichnet den Einsatz von künstlichen neuronalen Netzen, die gegenüber anderen Verfahren des maschinellen Lernens häufig überlegen sind und diesen gegenüber auch andere Vor- und Nachteile besitzen.

Im Rahmen dieser Artikelserie erscheinen im Laufe der kommenden Monate folgende Artikel:

  1. Machine Learning vs Deep Learning – Wo liegt der Unterschied?
  2. Funktionsweise künstlicher neuronaler Netze (erscheint demnächst)
  3. Training von künstlichen neuronalen Netzen (erscheint demnächst)
  4. Künstliches neuronales Netz in Python (erscheint demnächst)
  5. Künstliches neuronales Netz mit dem TensorFlow-Framework (erscheint demnächst)

Buchempfehlungen

Seit 2016 arbeite ich mich in Deep Learning ein und biete auch Seminare und Workshops zu Machine Learning und Deep Learning an, dafür habe ich eine ausführliche Einarbeitung und ein immer wieder neu auflebendes Literaturstudium hinter mir. Unter Anderen habe ich folgende Bücher für mein Selbststudium verwendet und nutze ich auch Auszugsweise für meine Lehre:


Praxiseinstieg Machine Learning mit Scikit-Learn und TensorFlow: Konzepte, Tools und Techniken für intelligente Systeme (Animals)

Neuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python

Praxiseinstieg Deep Learning: Mit Python, Caffe, TensorFlow und Spark eigene Deep-Learning-Anwendungen erstellen

Machine Learning mit Python und Scikit-Learn und TensorFlow: Das umfassende Praxis-Handbuch für Data Science, Predictive Analytics und Deep Learning (mitp Professional)

 

Ensemble Learning

Stellen Sie sich vor, Sie haben die Frage Ihres Lebens vor sich. Die korrekte Beantwortung dieser Frage wird Ihr Leben positiv beeinflussen, andernfalls negativ. Aber Sie haben Glück: Sie dürfen einen Experten, den Sie auswählen dürfen, um Rat fragen oder Sie dürfen eine annonyme Gruppe, sagen wir 1.000 Personen, um Rat fragen. Welchen Rat würden Sie sich einholen? Die einzelne Experten-Meinung oder die aggriegierte Antwort einer ganzen Gruppe von Menschen?
Oder wie wäre es mit einer Gruppe von Experten?

Ensemble Learning

Beim Einsatz eines maschinellen Lernalgorithmus auf ein bestimmtes Problem kann durchaus eine angemessene Präzision (Accuracy, eine Quote an Prädiktionsergebnissen, die als korrekt einzustufen sind) erzielt werden, doch oftmals reicht die Verlässlichkeit eines einzelnen Algorithmus nicht aus. Algorithmen können mit unterschiedlichen Parametern verwendet werden, die sich bei bestimmten Daten-Situationen verschieden auswirken. Bestimmte Algorithmen neigen zur Unteranpassung (Underfitting), andere zur Überanpassung (Overfitting).

Soll Machine Learning für den produktiven Einsatz mit bestmöglicher Zuverlässigkeit entwickelt und eingesetzt werden, kommt sinnvollerweise Ensemble Learning zum Einsatz. Beim Ensemble Learning wird ein Ensemble (Kollektiv von Prädiktoren) gebildet um ein Ensemble Average (Kollektivmittelwert) zu bilden. Sollte also beispielsweise einige Klassifizierer bei bestimmten Daten-Eingaben in ihren Ergebnissen ausreißen, steuern andere Klassifizierer dagegen. Ensemble Learning kommt somit in der Hoffnung zum Einsatz, dass eine Gruppe von Algorithmen ein besseres Ergebnis im Mittel erzeugen als es ein einzelner Algorithmus könnte.

Ich spreche nachfolgend bevorzugt von Klassifizierern, jedoch kommt Ensemble Learning auch bei der Regression zum Einsatz.

Voting Classifiers (bzw. Voting Regressors)

Eine häufige Form – und i.d.R. auch als erstes Beispiel eines Ensemble Learners – ist das Prinzip der Voting Classifiers. Das Prinzip der Voting Classifiers ist eine äußerst leicht nachvollziehbare Idee des Ensemble Learnings und daher vermutlich auch eine der bekanntesten Form der Kollektivmittelwert-Bildung. Gleich vorweg: Ja, es gibt auch Voting Regressors, jedoch ist dies ein Konzept, das nicht ganz ohne umfassendere Aggregation auf oberster Ebene auskommen wird, daher wäre für die Zwecke der akkurateren Regression eher das Stacking (siehe unten) sinnvoll.

Eine häufige Frage im Data Science ist, welcher Klassifizierer für bestimmte Zwecke die besseren sind: Entscheidungsbäume, Support-Vector-Machines, k-nächste-Nachbarn oder logistische Regressionen?

Warum nicht einfach alle nutzen? In der Tat wird genau das nicht selten praktiziert. Das Ziel dieser Form des Ensemble Learnings ist leicht zu erkennen: Die unterschiedlichen Schwächen aller Algorithmen sollen sich – so die Hoffnung – gegenseitig aufheben. Alle Algorithmen (dabei können auch mehrere gleiche Algorithmen mit jedoch jeweils unterschiedlichen Paramtern gemeint sein, z. B. mehrere knN-Klassifizierer mit unterschiedlichen k-Werten und Dimensionsgewichtungen) werden auf dasselbe Problem hin trainiert.

Stacking

Bei der Prädiktion werden entweder alle Klassifizierer gleich behandelt oder unterschiedlich gewichtet (wobei größere Unterschiede der Gewichtungen unüblich, und vermutlich auch nicht sinnvoll, sind). Entsprechend einer Ensemble-Regel werden die Ergebnisse aller Klassifizierer aggregiert, bei Klassifikation durch eine Mehrheitsentscheidung, bei Regression meistens durch Durchschnittsbildung oder (beim Stacking) durch einen weiteren Regressor.

Abgesehen davon, dass wir mit dem Ensemble-Klassifizierer bzw. Regressoren vermutlich bessere Ergebnisse haben werden, haben wir nun auch eine weitere Information hinzubekommen: Eine Entropie über die Wahrscheinlichkeit. Bestenfalls haben alle Klassifizierer die gleiche Vorhersage berechnet, schlechtestensfalls haben wir ein Unentschieden. So können wir Vorhersagen in ihrer Aussagekraft bewerten. Analog kann bei Regressionen die Varianz der Ergebnisse herangezogen werden, um das Ergebnis in seiner Aussagekraft zu bewerten.

Betrachtung im Kontext von: Eine Kette ist nur so stark, wie ihr schwächstes Glied

Oft heißt es, dass Ensemble Learning zwar bessere Ergebnisse hervorbringt, als der schwächste Klassifizier in der Gruppe, aber auch schlechtere als der beste Klassifizierer. Ist Ensemble Learning also nur ein Akt der Ratlosigkeit, welcher Klassifizierer eigentlich der bessere wäre?

Ja und nein. Ensemble Learning wird tatsächlich in der Praxis dazu verwendet, einzelne Schwächen abzufangen und auch Ausreißer-Verhalten auf bisher andersartiger Daten abzuschwächen. Es ist ferner jedoch so, dass Ensemble Learner mit vielen Klassifizieren sogar bessere Vorhersagen liefern kann, als der beste Klassifizierer im Programm.

Das liegt an dem Gesetz der großen Zahlen, dass anhand eines Beispiels verdeutlicht werden kann: Bei einem (ausbalanzierten) Münzwurf liegt die Wahrscheinlichkeit bei genau 50,00% dafür, Kopf oder Zahl zu erhalten. Werfe ich die Münze beispielsweise zehn Mal, erhalte ich aber vielleicht drei Mal Kopf und sieben mal Zahl. Werfe ich sie 100 Mal, erhalte ich vielleicht 61 Mal Kopf und 39 Mal Zahl. Selbst nur 20 Mal die Zahl zu erhalten, wäre bei nur 100 Würfen gar nicht weit weg von unwahrscheinlich. Würde ich die Münze jedoch 10.000 Male werfen, würde ich den 50% schon sehr annähern, bei 10 Millionen Würfen wird sich die Verteilung ganz sicher als Gleichverteilung mit 50,0x% für Kopf oder Zahl einpendeln.

Nun stellt man sich (etwas überspitzt, da analog zu den Wünzwürfen) nun einen Ensemble Learner mit einer Gruppe von 10.000 Klassifiziern vor. Und angenommen, jeder einzelne Klassifizierer ist enorm schwach, denn eine richtige Vorhersage trifft nur mit einer Präzision von 51% zu (also kaum mehr als Glücksspiel), dann würde jedoch die Mehrheit der 10.000 Klassifizierer (nämlich 51%) richtig liegen und die Mehrheitsentscheidung in den absolut überwiegenden Fällen die korrekte Vorhersage treffen.

Was hingehen in diesem Kontext zutrifft: Prädiktionen via Ensemble Learning sind zwangsläufig langsam. Durch Parallelisierung der Klassifikation kann natürlich viel Zeit eingespart werden, dann ist das Ensemble Learning jedoch mindestens immer noch so langsam, wie der langsamste Klassifizierer.

Bagging

Ein Argument gegen den Einsatz von gänzlich verschiedenen Algortihmen ist, dass ein solcher Ensemble Learner nur schwer zu verstehen und einzuschätzen ist (übrigens ein generelles Problem im maschinellen Lernen). Bereits ein einzelner Algorithmus (z. B. Support Vector Machine) kann nach jedem Training alleine auf Basis der jeweils ausgewählten Daten (zum Training und zum Testen) recht unterschiedlich in seiner Vorhersage ausfallen.

Bagging (kurze Form von Bootstrap Aggregation) ist ein Ensemble Learning Prinzip, bei dem grundsätzlich der gleiche Algorithmus parallel mit unterschiedlichen Aufteilungen der Daten trainiert (und natürlich getestet) wird. Die Aufteilung der Daten kann dabei komplett (der vollständige Datensatz wird verteilt und verwendet) oder auch nur über Stichproben erfolgen (dann gibt es mehrfach verwendete Datenpunkte, aber auch solche, die überhaupt nicht verwendet werden). Das Ziel ist dabei insbesondere, im Endergebnis Unter- und Überanpassung zu vermeiden. Gibt es viele Dichte-Cluster und Ausreißer in den Daten, wird nicht jeder Klassifizierer sich diesen angepasst haben können. Jede Instanz der Klassifizierer erhält weitgehend unterschiedliche Daten mit eigenen Ausreißern und Dichte-Clustern, dabei darf es durchaus Überschneidungen bei der Datenaufteilung geben.

Pasting

Pasting ist fast genau wie Bagging, nur mit dem kleinen aber feinen Unterschied, dass sich die Datenaufteilung nicht überschneiden darf. Wird ein Datenpunkt durch Zufallsauswahl einem Klassifizierer zugewiesen, wird er nicht mehr für einen anderen Klassifizierer verwendet. Über die Trainingsdaten des einen Klassifizierers verfügt demnach kein anderer Klassifizierer. Die Klassifizierer sind somit völlig unabhängig voneinander trainiert, was manchmal explizit gewollt sein kann. Pasting setzt natürlich voraus, dass genug Daten vorhanden sind. Diese Voraussetzung ist gleichermaßen auch eine Antwort auf viele Probleme: Wie können große Datenmengen schnell verarbeitet werden? Durch die Aufteilung ohne Überschneidung auf parallele Knoten.

Random Forest

Random Forests sollten an dieser Stelle im Text eigentlich nicht stehen, denn sie sind ein Beispiel des parallelen Ensembles bzw. des Voting Classifiers mit Entscheidungsbäumen (Decision Trees). Random Forests möchte ich an dieser Stelle dennoch ansprechen, denn sie sind eine äußerst gängige Anwendung des Baggings oder (seltener) auch des Pastings für Entscheidungsbaumverfahren. Die Datenmenge wird durch Zufall aufgeteilt und aus jeder Aufteilung heraus wird ein Entscheidungsbaum erstellt. Eine Mehrheitsentscheidung der Klassifikationen aller Bäume ist das Ensemble Learning des Random Forests.

Random Forest ist ein Verfahren der Klassifikation oder Regression, das bereits so üblich ist, dass es mittlerweile längst in (fast) allen Machine Learning Bibliotheken implemeniert ist und – dank dieser Implementierung – in der Anwendung nicht komplizierter, als ein einzelner Entscheidungsbaum.

Stacking

Stacking ist eine Erweiterung des Voting Classifiers oder Voting Regressors um eine höhere Ebene (Blending-Level), die die beste Aggregation der Einzel-Ergebnisse erlernt. An der Spitze steht beim Stacking (mindestens) ein weiterer Klassifikator oder Regressor

Stacking ist insbesondere dann sinnvoll, wenn die Ergebnisse der einzelnen Algorithmen sehr unterschiedlich ausfallen können, was bei der Regression – da stetige Werte statt wenige Klassen – nahezu immer der Fall ist. Stacking-Algorithmen können sogar mehrere Schichten umfassen, was ihr Training wesentlich schwieriger gestaltet.

Boosting (Sequential Ensemble Learning)

Bagging, Pasting und Stacking sind parallele Verfahren des Ensemble Learning (was nicht bedeutet, dass die parallel dargestellten Algorithmen in der Praxis nicht doch sequenziell abgearbeitet werden). Zwangsweise sequenziell durchgeführt wird hingegen das Boosting, bei dem wir schwache Klassifizierer bzw. Regressoren durch Iteration in ihrem Training verstärken wollen. Boosting kann somit als eine Alternative zum Deep Learning gesehen werden. Während beim Deep Learning ein starker Algorithmus durch ein mehrschichtiges künstliches neuronales Netz dafür entworfen und trainiert wird, um ein komplexes Problem zu lösen (beispielsweise Testerkennung [OCR]), können derartige Herausforderungen auch mit schwächeren Klassifikatoren unter Einsatz von Boosting realisiert werden.

Boosting bezieht sich allein auf das Training und ist aus einer Not heraus entstanden: Wie bekommen wir bessere Prädiktionen mit einem eigentlich schwachen Lernalgorithmus, der tendenziell Unteranpassung erzeugt? Boosting ist eine Antwort auf Herausforderungen der Klassifikation oder Regression, bei der ein Algorithmus iterativ, also in mehreren Durchläufen, durch Anpassung von Gewichten trainiert wird.

Eines der bekanntesten Boosting-Verfahren ist AdaBoost. Der erste Schritt ist ein normales Training. Beim darauffolgenden Testen zeigen sich Klassifikations-/Regressionsfehler. Die fehlerhaft vorhergesagten Datenpunkte werden dann für einen nächsten Durchlauf höher gewichtet. Diese Iteration läuft einige Male, bis die Fehlerquote sich nicht mehr verbessert.

Bei AdaBoost werden falsch vorhergesagte Datensätze im jeweils nächsten Durchlauf höher gewichtet. Bei einem alternativen Boosing-Verfahren, dem Gradient Boosting (auf Basis der Gradientenmethode), werden Gewichtungen explizit in Gegenrichtung des Prädiktionsfehlers angepasst.

Was beispielsweise beim Voting Classifier der Random Forest ist, bei dem mehrere Entscheidungsbäume parallel arbeiten, sind das Äquvivalent beim Boosting die Gradient Boosted Trees, bei denen jeder Baum nur einen Teil der Daten akkurat beschreiben kann, die sequentielle Verschachtelung der Bäume jedoch auch herausfordernde Klassifikationen meistert.

Um bei dem Beispiel der Entscheidungsbäume zu bleiben: Sowohl Random Forests als auch Gradient Boosted Trees arbeiten grundsätzlich mit flachen Bäumen (schwache Klassifikatoren). Gradient Boosted Trees können durch die iterative Verstärkung generell eine höhere Präzision der Prädiktion erreichen als Random Forests, wenn die Feature- und Parameter-Auswahl bereits zu Anfang sinnvoll ist. Random Forests sind hingegen wiederum robuster bei der Feature- und Parameter-Auswahl, verstärken sich jedoch nicht gegenseitig, sondern sind in ihrem Endergebnis so gut, wie die Mehrheit der Bäume.

Buchempfehlungen

Mehr zum Thema Machine Learning und Ensemble Learning gewünscht? Folgende zwei Buchempfehlungen bieten nicht nur Erklärungen, sondern demonstrieren Ensemble Learning auch mit Beispiel-Code mit Python Scikit-Learn.

Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques for Building Intelligent Systems Machine Learning mit Python: Das Praxis-Handbuch für Data Science, Predictive Analytics und Deep Learning (mitp Professional)

Ways AI & ML Are Changing How We Live

From Amazon’s Alexa, a personal assistant that can do anything from making your to-do list to giving a wide range of real-time information about the world around you, to Google’s DeepMind that has very recently made headlines for possibly being able to predict the future, AI and ML are the biggest development in human history.

Machine Learning Used by Hospitals

We hear a lot about Artificial Intelligence (AI) in the realm of insurance Big Data, but there isn’t much buzz around how AI and ML are revolutionising hospitals. The national health expenditures were around $3.4 trillion and estimated to increase from 17.8 percent of GDP to 19.9 percent between 2015 and 2025. By 2021, industry analysts have predicted that the AI health market will reach $6.6 billion. By 2026, such increases in AI technology in the healthcare sector will save the economy around $150 billion annually.

Some of the most popular Artificial Intelligence applications used in hospitals now are:

  • Predictive Health Trackers – Technology that has the ability to monitor patients’ health status using real-time data collection. One such technology is the Health and Environmental Tracker (HET) which can predict if someone is about to have an asthma attack.
  • Chatbots – It isn’t only retail customer service that uses chatbots to deal with consumers. Now hospitals have automated physicians that inquire and route clinicians to the right specialists.
  • Predictive AnalyticsCleveland Clinics have partnered with Microsoft (Cortana) while John Hopkins has partnered up with GE in order to create Machine Learning technology that has the ability to monitor patients and prevent patient emergencies before they happen. It does this by analysing data for primary indicators of potential risks.

Cognitive Marketing – Content Marketing on Steroids

Customer experience and content marketing are terms often tossed around in the world of business and advertising these days. Why do we bring them up now, you ask? Well, things are about to be kicked into sixth gear, thanks to Cognitive Marketing. To explain what that is, let’s go back a bit: remember when Google’s DeepMind AlphaGo bested the top human player at the game? This wasn’t some computer beating a bored office clerk at the game of Solitaire. In order to achieve that victory, Google’s AI had to “actually show its cognitive capability to ‘think’ like humans, because to win the game, ‘intuition’ was needed rather than just ‘logical reasoning’.” Similar algorithm-powered AI’s are enabling machines to learn and grow on their own. Soon, they’ll reach the potential to create content for marketeers at a massive scale. Not only that, but they’ll always deliver the right content, to the right kind of audience, at just the right time.

More Ways Than One: How Retail Is Harnessing AI & ML

  1. Developing Store That Don’t Need Checkout Lines

Tech companies and online retail giants such as Amazon want to create cashier-free stores, at least they are trying to. Last year Amazon launched its Amazon Go which uses sensors and hundreds of cameras to track what customers pick up and then charge the amount to an application on their smart phone, put simply. But only months into the experiment Amazon has said they need to work out some kinks in the system. As of now, Amazon Go’s system can only handle 20 or so customers at a time.

Among other issues, The Guardian, citing an unnamed source, wrote in an article, stated “…if an item has been moved from its specific spot on the shelf.”  Located in Seattle, Washington, Amazon Go is now running in “beta mode” only for Amazon employees as it tests its systems. And these tests are showing that Amazon’s attempt at a cashier-free brick-and-mortar convenience store is far from ready for the real world. A Journal report stated, “For now, the technology functions flawlessly only if there are a small number of customers present, or when their movements are slow.”

  1. Could Drones Be Delivering Goods to Your Home One Day?

Imagine ordering something online from, let’s say, Amazon, and it arrives at your door in 30 minutes or so via drone. Does that sound like something out of the movie The Fifth Element? Maybe, but this technology is already is already here.

Amazon Prime Air made its first delivery to a customer via a GPS-guided flying drone on December 7th, 2016. It only took 13 minutes for the drone to deliver the merchandise to the customer. This sort of technology will be a huge game changer for retail. The supply chain industry is headed for a revolution – drone delivery is coming, and retailers who want to keep up really should adopt such technologies.

Even in 2016, consumers were totally ready to accept drone delivery. The Walk Sands Future of Retail 2016 Study showed that 79 percent of US consumers said they would be “very likely” or “somewhat likely” to choose drone delivery if their product could be delivered within an hour. For me, I’d choose it just to see how cool it was. I think it would be pretty rad to have a drone land in my yard with my package, don’t you? Furthermore, other consumers stated they would pay up to $10 for a drone delivery. Lastly, 26 percent of consumers are already expecting to have their packages delivered to them in the next two years or so.

Driverless Delivery Vehicles Already Here as Well

There was a movie I watched some months ago – you most likely heard of it or even watched it. It was the latest movie about Wolverine titled Logan. There was a certain scene that never left my memory (basically because I found it awesome) where Logan and his companions were driving along a freeway full of driverless tractor trailers that had no tractor.

In an article written for pastemagazine.com, Carlos Alvarez of Getty wrote: “… Logan’s writer and director James Mangold’s inclusion of the self-driving trucking machines make it clear that the filmmaker understands the writing on the wall about the future of shipping. It’s a future without truck drivers.” He continues to explain that the movie takes place a little over 10 years from now in 2029.

“The change may well be here long before 2029. It’s only 2017, and already we’re seeing the beginnings of automated trucking taking over the industry. At the 2017 Consumer Electronics Show this January, Peloton Technology demonstrated “platooning,” where trucks are kept in a row on the highway to reduce wind resistance and save fuel. The trucks are controlled by computers on a “Level One” of autonomous driving,” Alvarez continued in his article.

Now in Germany, Mercedes-Benz is has been developing and testing their Actros truck which is fitted with a ‘highway pilot’ system, which acts like an auto-pilot and includes a radar and stereo camera system. So far, German carmaker Daimler has restricted testing on a German autobahn. The autobahn is generally safer than testing in city conditions since the curves are not as steep. Since the tests have started, this autonomous truck has already driven over 20,000 kilometres.

Did I Say Flying Taxis? Huh, Yeah I Did!

But, if you are still not amazed, then I am about to blow your socks off. Dubai has promised to build a fully autonomous public transportation system by 2030, including autonomous flying drone taxis! Now that is really something. And it isn’t a matter of when they’ll be produced and in use because they already are.

Manufactured in China by the drone-making firm EHang, these really freaking cool quad drones on steroids can carry one person weighing up to 100 kilogrammes (I weigh over that, guess I’m walking) plus maybe a backpack or suitcase. They can fly about 30 kilometres (or 19 miles), at a speed of 60 miles per hour, give or take. And, if that isn’t the cool part, you won’t need any lessons on how to fly it. Simply push a button and it flies you from point A to point B. Whether or not you have to give it directions, don’t know. Either way, this is mostly likely the coolest piece of tech out there right now.

Copyright @ CBS Interactive Inc.

Was ist eigentlich Machine Learning? Artikelserie

Machine Learning ist Technik und Mythos zugleich. Nachfolgend der Versuch einer verständlichen Erklärung, mit folgenden Artikeln:

Machine Learning ist nicht neu, aber innovativ!

Machine Learning oder maschinelles Lernen ist eine Bezeichnung, die dank industrieller Trends wie der Industrie 4.0, Smart Grid oder dem autonomen Fahrzeug zur neuen Blüte verhilft. Machine Learning ist nichts Neues und die Algorithmen sind teilweise mehrere Jahrzehnte alt. Dennoch ist Machine Learning ein Innovationsinstrument, denn während früher nur abstrakte Anwendungen, mit vornehmlich wissenschaftlichen Hintergrund, auf maschinellem Lernen setzten, finden entsprechende Algorithmen Einzug in alltägliche industrielle bzw. geschäftliche, medizinische und gesellschaftsorientierte Anwendungen. Machine Learning erhöht demnach sowohl unseren Lebensstandard als auch unsere Lebenserwartung!

Maschinelles Lernen vs künstliche Intelligenz

Künstliche Intelligenz (Artificial Intelligence) ist eine Bezeichnung, die in der Wissenschaft immer noch viel diskutiert wird. Wo beginnt künstliche Intelligenz, wann entsteht natürliche Intelligenz und was ist Intelligenz überhaupt? Wenn diese Wortkombination künstliche Intelligenz fällt, denken die meisten Zuhörer an Filme wie Terminator von James Cameron oder AI von Steven Spielberg. Diese Filme wecken Erwartungen (und Ängste), denen wir mir unseren selbstlernenden Systemen noch lange nicht gerecht werden können. Von künstlicher Intelligenz sollte als mit Bedacht gesprochen werden.

Maschinelles Lernen ist Teilgebiet der künstlichen Intelligenz und eine Sammlung von mathematischen Verfahren zur Mustererkennung, die entweder über generelle Prinzipien (das Finden von Gemeinsamkeiten oder relativen Abgrenzungen) funktioniert [unüberwachtes Lernen] oder durch das Bilden eines Algorithmus als Bindeglied zwischen Input und gewünschten Output aus Trainingsdaten heraus.

Machine Learning vs Deep Learning

Deep Learning ist eine spezielle Form des maschinellen Lernens, die vermutlich in den kommenden Jahren zum Standard werden wird. Gemeint sind damit künstliche neuronale Netze, manchmal auch verschachtelte “herkömmliche” Verfahren, die zum einen mehrere Ebenen bilden (verborgene Schichten eines neuronalen Netzes) zum anderen viel komplexere Zusammenhänge erlernen können, was den Begriff Deep Learning rechtfertigt.

Machine Learning vs Data Mining

Data Mining bezeichnet die Erkenntnisgewinnung aus bisher nicht oder nicht hinreichend erforschter Daten. Unüberwachte Verfahren des maschinellen Lernens, dazu gehören einige Verfahren aus dem Clustering und der Dimensionsreduktion, dienen explizit dem Zweck des Data Minings. Es sind Verfahren, die uns Menschen dabei helfen, vielfältige und große Datenmengen leichter interpretieren zu können. Machine Learning ermöglicht jedoch noch weit mehr als Data Mining.

Scikit-Learn Machine Learning Roadmap

Darstellung der vier Gebiete des Machine Learning: Die scikit-learn-Roadmap. Die Darstellung ist nicht vollständig, sondern umfasst nur die in scikit-learn implementierten Verfahren. Das Original-Bild ist interaktiv und zu finden auf scikit-learn.org

Geht mit Künstlicher Intelligenz nur „Malen nach Zahlen“?

Mit diesem Beitrag möchte ich darlegen, welche Grenzen uns in komplexen Umfeldern im Kontext Steuerung und Regelung auferlegt sind. Auf dieser Basis strebe ich dann nachgelagert eine Differenzierung in Bezug des Einsatzes von Data Science und Big Data, ab sofort mit Big Data Analytics bezeichnet, an. Aus meiner Sicht wird oft zu unreflektiert über Data Science und Künstliche Intelligenz diskutiert, was nicht zuletzt die Angst vor Maschinen schürt.

Basis meiner Ausführungen im ersten Part meines Beitrages ist der Kategorienfehler, der von uns Menschen immer wieder in Bezug auf Kompliziertheit und Komplexität vollführt wird. Deshalb werde ich am Anfang einige Worte über Kompliziertheit und Komplexität verlieren und dabei vor allem auf die markanten Unterschiede eingehen.

Kompliziertheit und Komplexität – der Versuch einer Versöhnung

Ich benutze oft die Begriffe „tot“ und „lebendig“ im Kontext von Kompliziertheit und Komplexität. Themenstellungen in „lebendigen“ Kontexten können niemals kompliziert sein. Sie sind immer komplex. Themenstellungen in „toten“ Kontexten sind stets kompliziert. Das möchte ich am Beispiel eines Uhrmachers erläutern, um zu verdeutlichen, dass auch Menschen in „toten“ Kontexten involviert sein können, obwohl sie selber lebendig sind. Deshalb die Begriffe „tot“ und „lebendig“ auch in Anführungszeichen.

Ein Uhrmacher baut eine Uhr zusammen. Dafür gibt es ein ganz klar vorgegebenes Rezept, welches vielleicht 300 Schritte beinhaltet, die in einer ganz bestimmten Reihenfolge abgearbeitet werden müssen. Werden diese Schritte befolgt, wird definitiv eine funktionierende Uhr heraus kommen. Ist der Uhrmacher geübt, hat er also genügend praktisches Wissen, ist diese Aufgabe für ihn einfach. Für mich als Ungelernten wird diese Übung schwierig sein, niemals komplex, denn ich kann ja einen Plan befolgen. Mit Übung bin ich vielleicht irgendwann so weit, dass ich diese Uhr zusammen gesetzt bekomme. Der Bauplan ist fix und ändert sich nicht. Man spricht hier von Monokontexturalität. Solche Tätigkeiten könnte man auch von Maschinen ausführen lassen, da klar definierte Abfolgen von Schritten programmierbar sind.

Nun stellen wir uns aber mal vor, dass eine Schraube fehlt. Ein Zahnrad kann nicht befestigt werden. Hier würde die Maschine einen Fehler melden, weil jetzt der Kontext verlassen wird. Das Fehlen der Schraube ist nicht Bestandteil des Kontextes, da es nicht Bestandteil des Planes und damit auch nicht Bestandteil des Programmcodes ist. Die Maschine weiß deshalb nicht, was zu tun ist. Der Uhrmacher ist in der Lage den Kontext zu wechseln. Er könnte nach anderen Möglichkeiten der Befestigung suchen oder theoretisch probieren, ob die Uhr auch ohne Zahnrad funktioniert oder er könnte ganz einfach eine Schraube bestellen und später den Vorgang fortsetzen. Der Uhrmacher kann polykontextural denken und handeln. In diesem Fall wird dann der komplizierte Kontext ein komplexer. Der Bauplan ist nicht mehr gültig, denn Bestellung einer Schraube war in diesem nicht enthalten. Deshalb meldet die Maschine einen Fehler. Der Bestellvorgang müsste von einem Menschen in Form von Programmcode voraus gedacht werden, so dass die Maschine diesen anstoßen könnte. Damit wäre diese Option dann wieder Bestandteil des monokontexturalen Bereiches, in dem die Maschine agieren kann.

Kommen wir in diesem Zusammenhang zum Messen und Wahrnehmen. Maschinen können messen. Messen passiert in monokontexturalen Umgebungen. Die Maschine kann messen, ob die Schraube festgezogen ist, die das Zahnrad hält: Die Schraube ist „fest“ oder „lose“. Im Falle des Fehlens der Schraube verlässt man die Ebene des Messens und geht in die Ebene der Wahrnehmung über. Die Maschine kann nicht wahrnehmen, der Uhrmacher schon. Beim Wahrnehmen muss man den Kontext erst einmal bestimmen, da dieser nicht per se gegeben sein kann. „Die Schraube fehlt“ setzt die Maschine in den Kontext „ENTWEDER fest ODER lose“ und dann ist Schluss. Die Maschine würde stetig zwischen „fest“ und „lose“ iterieren und niemals zum Ende gelangen. Eine endlose Schleife, die mit einem Fehler abgebrochen werden muss. Der Uhrmacher kann nach weiteren Möglichkeiten suchen, was gleichbedeutend mit dem Suchen nach einem weiteren Kontext ist. Er kann vielleicht eine neue Schraube suchen oder versuchen das Zahnrad irgendwie anders geartet zu befestigen.

In „toten“ Umgebungen ist der Mensch mit der Umwelt eins geworden. Er ist trivialisiert. Das ist nicht despektierlich gemeint. Diese Trivialisierung ist ausreichend, da ein Rezept in Form eines Algorithmus vorliegt, welcher zielführend ist. Wahrnehmen ist also nicht notwendig, da kein Kontextwechsel vorgenommen werden muss. Messen reicht aus.

In einer komplexen und damit „lebendigen“ Welt gilt das Motto „Sowohl-Als-Auch“, da hier stetig der Kontext gewechselt wird. Das bedeutet Widersprüchlichkeiten handhaben zu müssen. Komplizierte Umgebungen kennen ausschließlich ein „Entweder-Oder“. Damit existieren in komplizierten Umgebungen auch keine Widersprüche. Komplizierte Sachverhalte können vollständig in Programmcode oder Algorithmen geschrieben und damit vollständig formallogisch kontrolliert werden. Bei komplexen Umgebungen funktioniert das nicht, da unsere Zweiwertige Logik, auf die jeder Programmcode basieren muss, Widersprüche und damit Polykontexturalität ausschließen. Komplexität ist nicht kontrollier-, sondern bestenfalls handhabbar.

Diese Erkenntnisse möchte ich nun nutzen, um das bekannte Cynefin Modell von Dave Snowden zu erweitern, da dieses in der ursprünglichen Form zu Kategorienfehler zwischen Kompliziertheit und Komplexität verleitet. Nach dem Cynefin Modell werden die Kategorien „einfach“, „kompliziert“ und „komplex“ auf einer Ebene platziert. Das ist aus meiner Sicht nicht passfähig. Die Einstufung „einfach“ und damit auch „schwierig“, die es im Modell nicht gibt, existiert eine Ebene höher in beiden Kategorien, „kompliziert“ und „komplex“. „Einfach“ ist also nicht gleich „einfach“.

„Einfach“ in der Kategorie „kompliziert“ bedeutet, dass das ausreichende Wissen, sowohl praktisch als auch theoretisch, gegeben ist, um eine komplizierte Fragestellung zu lösen. Grundsätzlich ist ein Lösungsweg vorhanden, den man theoretisch kennen und praktisch anwenden muss. Wird eine komplizierte Fragestellung als „schwierig“ eingestuft, ist der vorliegende Lösungsweg nicht bekannt, aber grundsätzlich vorhanden. Er muss erlernt werden, sowohl praktisch als auch theoretisch. In der Kategorie „kompliziert“ rede ich also von Methoden oder Algorithmen, die an den bekannten Lösungsweg an-gelehnt sind.

Für „komplexe“ Fragestellungen kann per Definition kein Wissen existieren, welches in Form eines Rezeptes zu einem Lösungsweg geformt werden kann. Hier sind Erfahrung, Talent und Können essentiell, die Agilität im jeweiligen Kontext erhöhen. Je größer oder kleiner Erfahrung und Talent sind, spreche ich dann von den Wertungen „einfach“, „schwierig“ oder „chaotisch“. Da kein Rezept gegeben ist, kann man Lösungswege auch nicht vorweg in Form von Algorithmen programmieren. Hier sind Frameworks und Heuristiken angebracht, die genügend Freiraum für das eigene Denken und Fühlen lassen.

Die untere Abbildung stellt die Abhängigkeiten und damit die Erweiterung des Cynefin Modells dar.

Data Science und „lebendige“ Kontexte – der Versuch einer Versöhnung

Gerade beim Einsatz von Big Data Analytics sind wir dem im ersten Part angesprochenen Kategorienfehler erlegen, was mich letztlich zu einer differenzierten Sichtweise auf Big Data Analytics verleitet. Darauf komme ich nun zu sprechen.

In vielen Artikeln, Berichten und Büchern wird Big Data Analytics glorifiziert. Es gibt wenige Autoren, die eine differenzierte Betrachtung anstreben. Damit meine ich, klare Grenzen von Big Data Analytics, insbesondere in Bezug zum Einsatz auf Menschen, aufzuzeigen, um damit einen erfolgreichen Einsatz erst zu ermöglichen. Auch viele unserer Hirnforscher tragen einen erheblichen Anteil zum Manifestieren des Kategorienfehlers bei, da sie glauben, Wirkmechanismen zwischen der materiellen und der seelischen Welt erkundet zu haben. Unser Gehirn erzeugt aus dem Feuern von Neuronen, also aus Quantitäten, Qualitäten, wie „Ich liebe“ oder „Ich hasse“. Wie das funktioniert ist bislang unbekannt. Man kann nicht mit Algorithmen aus der komplizierten Welt Sachverhalte der komplexen Welt erklären. Die Algorithmen setzen auf der Zweiwertigen Logik auf und diese lässt keine Kontextwechsel zu. Ich habe diesen Fakt ja im ersten Teil eingehend an der Unterscheidung zwischen Kompliziertheit und Komplexität dargelegt.

Es gibt aber auch erfreulicherweise, leider noch zu wenige, Menschen, die diesen Fakt erkennen und thematisieren. Ich spreche hier stellvertretend Prof. Harald Walach an und zitiere aus seinem Artikel »Sowohl als auch« statt »Entweder-oder« – oder: wie man Kategorienfehler vermeidet.

„Die Wirklichkeit als Ganzes ist komplexer und lässt sich genau nicht mit solchen logischen Instrumenten komplett analysieren. … Weil unser Überleben als Art davon abhängig war, dass wir diesen logischen Operator so gut ausgeprägt haben ist die Gefahr groß dass wir nun alles so behandeln. … Mit Logik können wir nicht alle Probleme des Lebens lösen. … Geist und neuronale Entladungen sind Prozesse, die unterschiedlichen kategorialen Ebenen angehören, so ähnlich wie „blau“ und „laut“.

Aus diesen Überlegungen habe ich eine Big Data Analytics Matrix angefertigt, mit welcher man einen Einsatz von Big Data Analytics auf Menschen, also in „lebendige“ Kontexte, verorten kann.

Die Matrix hat zwei Achsen. Die x-Achse stellt dar, auf welcher Basis, einzelne oder viele Menschen, Erkenntnisse direkt aus Daten und den darauf aufsetzenden Algorithmen gezogen werden sollen. Die y-Achse bildet ab, auf welcher Basis, einzelne oder viele Menschen, diese gewonnenen Erkenntnisse dann angewendet werden sollen. Um diese Unterteilung anschaulicher zu gestalten, habe ich in den jeweiligen Quadranten Beispiele eines möglichen Einsatzes von Big Data Analytics im Kontext Handel zugefügt.

An der Matrix erkennen wir, dass wir auf Basis von einzelnen Individuen keine Erkenntnisse maschinell über Algorithmen errechnen können. Tun wir das, begehen wir den von mir angesprochenen Kategorienfehler zwischen Kompliziertheit und Komplexität. In diesem Fall kennzeichne ich den gesamten linken roten Bereich der Matrix. Anwendungsfälle, die man gerne in diesen Bereich platzieren möchte, muss man über die anderen beiden gelben Quadranten der Matrix lösen.

Für das Lösen von Anwendungsfällen innerhalb der beiden gelben Quadranten kann man sich den Fakt zu Nutze machen, dass sich komplexe Vorgänge oft durch einfache Handlungsvorschriften beschreiben lassen. Achtung! Hier bitte nicht dem Versuch erlegen sein, „einfach“ und „einfach“ zu verwechseln. Ich habe im ersten Teil bereits ausgeführt, dass es sowohl in der Kategorie „kompliziert“, als auch in der Kategorie „komplex“, einfache Sachverhalte gibt, die aber nicht miteinander ob ihrer Schwierigkeitsstufe verglichen werden dürfen. Tut man es, dann, ja sie wissen schon: Kategorienfehler. Es ist ähnlich zu der Fragestellung: “Welche Farbe ist größer, blau oder rot?” Für Details hierzu verweise ich Sie gerne auf meinen Beitrag Komplexitäten entstehen aus Einfachheiten, sind aber schwer zu handhaben.

Möchten sie mehr zu der Big Data Analytics Matrix und den möglichen Einsätzen er-fahren, muss ich sie hier ebenfalls auf einen Beitrag von mir verweisen, da diese Ausführungen diesen Beitrag im Inhalt sprengen würden.

Mensch und Maschine – der Versuch einer Versöhnung

Wie Ihnen sicherlich bereits aufgefallen ist, enthält die Big Data Analytics Matrix keinen grünen Bereich. Den Grund dafür habe ich versucht, in diesem Beitrag aus meiner Sicht zu untermauern. Algorithmen, die stets monokontextural aufgebaut sein müssen, können nur mit größter Vorsicht im „lebendigen“ Kontext angewendet werden.

Erste Berührungspunkte in diesem Thema habe ich im Jahre 1999 mit dem Schreiben meiner Diplomarbeit erlangt. Die Firma, in welcher ich meine Arbeit verfasst habe, hat eine Maschine entwickelt, die aufgenommene Bilder aus Blitzgeräten im Straßenverkehr automatisch durchzieht, archiviert und daraus Mahnschreiben generiert. Ein Problem dabei war das Erkennen der Nummernschilder, vor allem wenn diese verschmutzt waren. Hier kam ich ins Spiel. Ich habe im Rahmen meiner Diplomarbeit ein Lernverfahren für ein Künstlich Neuronales Netz (KNN) programmiert, welches genau für diese Bilderkennung eingesetzt wurde. Dieses Lernverfahren setzte auf der Backpropagation auf und funktionierte auch sehr gut. Das Modell lag im grünen Bereich, da nichts in Bezug auf den Menschen optimiert werden sollte. Es ging einzig und allein um Bilderkennung, also einem „toten“ Kontext.

Diese Begebenheit war der Startpunkt für mich, kritisch die Strömungen rund um die Künstliche Intelligenz, vor allem im Kontext der Modellierung von Lebendigkeit, zu erforschen. Einige Erkenntnisse habe ich in diesem Beitrag formuliert.

Interview – Data Science in der Automobilbranche

Interview mit Herrn Dr. Florian Neukart, Principal Data Scientist der
Volkswagen Group of America

Herr Dr. Florian Neukart ist Principal Data Scientist der Volkswagen Group of America. Herr Neukart arbeitete nach seiner Promotion in der Informatik an der University of Brasov als Consultant für Business Analytics bei SAP und wechselte 2013 als Data Scientist zu Audi. 2015 übernahm er für mehr als ein Jahr die Funktion als Chief Technology Officer des Volkswagen Data Labs, bis er September 2016 zu Volkswagen in die USA wechselte. Darüber hinaus ist er bereits seit 2010 in der Forschung und Lehre für Quantum Computing, maschinelles Lernen und künstliche Intelligenz tätig und zudem Autor des Buches „Reverse Engineering the Mind – Consciously Acting Machines and Accelerated Evolution“.

Data Science Blog: Herr Dr. Neukart, Sie sind einer der führenden Data Scientists in der Automobilbranche. Schlägt Ihr Herz mehr für die automobile Praxis oder für die Forschung?

Das kann ich so klar nicht trennen – ich habe das Glück, seit Jahren in beiden Welten tätig sein zu können, und was für mich dabei den besonderen Reiz ausmacht, ist die Möglichkeit, neuste Forschung in die Praxis zu überführen, also anhand von realen Problemstellungen zu verifizieren, ob eine Theorie praxistauglich ist oder nicht. Umgekehrt gilt das genauso – es kommt vor, dass ich mich mit Fragestellungen konfrontiert sehe, für welche die erforderliche analytische Mathematik noch nicht entwickelt wurde, was wieder zu neuer Forschung und innovativen Ideen anregt. Schon mein ganzes Leben bin ich getrieben von Neugierde und will verstehen, wie Dinge funktionieren, unabängig davon, ob es sich um die Gruppendynamik und Selbstorganisation von Herzzellen, quantenphysikalisches Verhalten von subatomaren Teilchen, autonom agierende Fahrzeuge, Fluktuationsprognosen in Märkten oder die Auswertung und Interpretation von Sprache handelt. Dabei ist es zwar primär die Mathematik, die mir hilft, Zusammenhänge zu verstehen und zu interpretieren, aber erst die Technologien und Plattformen, die über die letzten Jahre entwickelt wurden, um etwa rechenintensive Mathematik zu parallelisieren, Daten im Hauptspeicher zu halten und effizient abzufragen, machen unsere Arbeit erst möglich und richtig interessant.

Data Science Blog: Welche Rolle spielt Data Science derzeit für die Automobilbranche? Sicherlich dreht sich gerade alles um das autonome Fahrzeug?

Natürlich sind selbstfahrende Fahrzeuge und Mobilität ein grosses Thema bei OEMs. Aber Data Science ist viel umfassender. Data Science hat bereits Einzug in die technische Entwicklung, Einkauf, Marketing, Logistik, Produktion, Sales, After Sales und Retail gehalten. Speziell der Connected Customer wird immer bedeutender, da sich die internationale Wettbewerbsfähigkeit in naher Zukunft auch über die neuen technischen und Serviceangebote definieren wird, die mit Hilfe von Data Science und maschinellem Lernen möglich werden. Bezogen auf selbstfahrende Fahrzeuge beginnen wir, das gesamte Ökosystem, bestehend aus Infrastruktur und unterschiedlichen Verkehrsteilnehmern, als Multi-Agentensystem zu betrachten. Vehicle to Vehicle und Vehicle to X-Kommunikation gewinnen an Bedeutung, und speziell die Einführung von sozialen Komponenten wird entscheidende Vorteile bringen. Beispielhaft gesprochen, können Ziele der Flotte sein, die Sicherheit für die Passagiere und andere Verkehrsteilnehmer (Passanten, Radfahrer, Motorräder, Fiaker :-)) zu maximieren und gleichzeitig den Verkehrsfluss zu optimieren. Es macht wenig Sinn, eine Ampel an einer Kreuzung auf Rot zu schalten, wenn die Kreuzung gefahrlos durchquert werden kann. Davon abgesehen werden in naher Zukunft alle Fahrzeuge mit ähnlichen Sensoren ausgestattet sein, etwa Kameras, LiDAR, Radar, Ultraschall und Mikrofonen zur akustischen Umfeldwahrnehmung. Ein weiteres Szenario versetzt die Stadtverwaltung in die Lage zu erkennen,  wo der Verkehrsfluss stockt und was getan werden muss, um diesen zu optimieren. Das „was getan werden muss“ ist extrem interessant – etwa könnte man die Strassen digital werden lassen, also Asphaltstraßen durch Glas ersetzen und durch OLEDs ergänzen. Damit sind dann dynamische Veränderungen der Verkehrsführung möglich. Materialtechnisch ist das machbar, denn die Oberflächenstruktur von Glas kann so entwickelt werden, dass dieses auch im Regen rutschfest ist. Glas kann zudem so flexibel und gleichzeitig stabil designet werden, dass auch darüberfahrende LKWs es nicht zum Brechen bringen. Die Abwärme der Displays kann zur Beheizung genutzt werden – es gibt somit auch im Winter keine Eisfahrbahnen mehr. Die Stadt kann sich selbst als Agent in die Multi-Agentenumgebung einbringen und zur Erreichung der definierten Ziele beitragen.

Data Science Blog: Was sind gerade heiße Themen im Automotive-Sektor? Und demgegenüber gestellt, welche Themen spielen in der KI-Forschung gerade eine größere Rolle?

Data Science hat in jedem Bereich Einzug gehalten. Jedes Thema ist auf seine Art „heiss“, egal ob es sich „nur“ um eine Marktprognose, die vorhin erwähnten Multi-Agentensysteme, kollaborative Arbeitsumgebungen, in denen Menschen und Roboter in der Produktion zusammenarbeiten, oder etwa persönliche Assistenten handelt. Nehmen wir eine Marktprognose als Beispiel. Hier sind für den menschlichen Entscheider nicht nur die internen Verkaufszahlen und alle Indikatoren, die etwa die Weltbank liefert, interessant, sondern auch die Gesellschaftsentwicklung und die politischen Strukturen.

In der KI-Forschung ist das für mich interessanteste Thema die generelle KI, also die Schaffung einer künstlichen Intelligenz, die domänenunabhängig komplexe Probleme selbstständig lösen kann. Vieles, was uns einfach scheint, hat sich aber als sehr komplex für KI-Systeme herausgestellt. Der Weg zur generellen KI und künstlichem Bewusstsein führt für mich über das Verständnis von Dingen, wobei ich hier sowohl ein Atom als auch eine komplexe Lebensform als „Ding“ zusammenfasse. Ein Teil, der uns (und Software) hilft, Dinge in deren Kontext und Umgebung einzubetten und zu beschreiben, ist die Sprache – etwa ist ein Reifen Teil eines Fahrzeugs und eine Schraube Teil eines Reifens. Das und die Kombinationen mit anderen Säulen der KI, wie etwa Computer Vision, Logik und Entscheidungsfindung, Maschine Learning und Multi-Agentensystemen (Multi-Agenten-Lernen), bringt uns der generellen und bewussten KI Schritt für Schritt näher, wobei ich mir hier nicht anmaße, eine Definition für Bewusstsein zu geben.

Data Science Blog: Welche Tools verwenden Sie bzw. Ihr Team bei Ihrer Arbeit? Setzen Sie dabei auch auf Open Source?

Wir sind „technolgieagnostisch“, wir versuchen also, für jeden Anwendungsfall die beste Technologie zu finden und einzusetzen. Das ist mal ein Tool oder eine Plattform von einem grossen Softwarehersteller, mal eine Lösung von einem Startup, wobei wir die meisten unserer Projekte doch in R oder Python umsetzen. Wir packen auch unsere Eigenentwicklungen in Libraries, die wir momentan aber noch ausschliesslich intern nutzen.


Data Science Blog: Was macht für Sie einen guten Data Scientist aus? Nach wem suchen Sie, wenn Sie einen Data Scientist einstellen?

Die wichtigste Eigenschaft scheint mir ein Drang nach dem Verständnis von Zusammenhängen und Dingen zu sein – eine starke Neugier – wobei ich unter „Dingen“ je nach Kontext Atome genauso wie komplexe Maschinen einordne.

Dass ich über Atome und komplexe Maschinen schreibe, hat damit zu tun, weil ich auch durch meinen zweiten Job an der Uni vielfältigste Daten analyiseren durfte. Und dass ich Beiträge zu Maschinenlernen und Physik verfasse, liegt tatsächlich in erster Linie an meiner Neugierde. Die Mathematik, Physik, Neurowissenschaft, Informatik … sind Grundlagen, die sich jemand aneignen wird, wenn sie/er verstehen will.

Data Science Blog: Wie sieht Ihrer Erfahrung nach der Arbeitsalltag als Data Scientist nach dem morgendlichen Café bis zum Feierabend aus?

Idealerweise startet der Tag nicht mit Emails :-). Wenn ich aus meiner Erfahrung sprechen darf, dann lässt einen die Data Science auch nach der Arbeit nicht los und die Grenzen von Beruf und Hobby überlagern sich irgendwann. Schon während dem morgendlichen Café tauschen wir uns über die jeweiligen Projekte aus – jeder sollte soviel wie möglich über alle Projekte wissen, um nicht lediglich Nischenwissen aufzubauen. Scrum hat sich auch in Bezug auf Data Science bewährt – je nachdem, wie viele Data Scientists an einem Thema arbeiten und wie viele Tasks anfallen, machen tägliche Stand-Ups Sinn – speziell wenn ein Projekt viele Subkomponenten hat, die als grosses Ganzes funktionieren müssen, hat so jeder Beteiligte immer vollste Transparenz. Die meiste Zeit fliesst natürlich in die Entwicklung der jeweiligen Prototypen / Produkte, aber etwa ein Drittel sollte reserviert sein für das Durcharbeiten von Papers mit aktuellsten Forschungsergebnissen und dem Einarbeiten in neue Technologien. Ich habe mal gesagt bekommen „Data Scientists sprechen nicht viel“, was für die Zeit während der Entwicklungsarbeit (und meiner Erfahrung nach auf die meisten Informatiker) auch zutrifft, da wir zumeist den Zustand eines komplexen Systems im Kopf behalten müssen – tatsächlich aber sprechen wir sehr gerne und viel über mögliche Arten, Probleme zu verstehen und zu lösen. Für meine Kollegen und mich ist Data Science kein bloßer Job, wir beschäftigen uns auch nach dem Feierabend noch mit relevanter Lektuere oder privaten Side-Projects – wie gesagt, wir haben das Glück, Job und Hobby zu vereinen.

Data Science Blog: Für alle Studenten, die demnächst ihren Bachelor, beispielsweise in Informatik, Mathematik oder Wirtschaftslehre, abgeschlossen haben, was würden sie diesen jungen Damen und Herren raten, wie sie einen guten Einstieg ins Data Science bewältigen können?

Natürlich ist ein solider methodischer Hintergrund, darunter Statistik, Mathematik und Informatik mit Fokus auf Machine Learning erforderlich, und auch das technische Wissen, die Theorie in Produkte zu überführen, also in Programmiersprachen und relevante Libraries, Datenbanken, Streaming und IoT. Das sind Kernkompetenzen, aber wie gesagt, am Anfang steht die Neugierde. Ich rate jedoch jedem, sich einem Problem nicht ausschließlich über die Theorie zu nähern, sondern erst zu versuchen, das Problem zu verstehen und das theoretische Wissen hands-on aufzubauen. Niemand weiss alles, und die Recherche rund um ein Problem ist ein wichtiger Lernprozess, aus dem man unglaublich viel mitnehmen kann. Data Science ist immer hands-on, und Neugierde führt zum Ziel.

Maschinelles Lernen mit Entscheidungsbaumverfahren – Artikelserie

Das Entscheidungsbaumverfahren (Decision Tree) ist eine verbreitete Möglichkeit der Regression oder Klassifikation über einen vielfältigen Datensatz. Das Verfahren wird beispielsweise dazu verwendet, um die Kreditwürdigkeit von Bankkunden zu klassifizieren oder auch, um eine Funktion zur Vorhersage einer Kaufkraft zu bilden.

Sicherlich hat beinahe jeder Software-Entwickler bereits einen Entscheidungsbaum (meistens binäre Baumstrukturen) programmiert und auch Maschinenbauingenieure benutzen Entscheidungsbäume, um Konstruktionsstrukturen darzustellen. Im Data Science haben Entscheidungsbäume allerdings eine etwas andere Bedeutung, denn ein Data Scientist befasst sich weniger mit dem manuellen Erstellen von solchen Baumstrukturen, sondern viel mehr mit Algorithmen, die ausreichend gute (manchmal: best mögliche) Baumstrukturen automatisch aus eine Menge mehr oder weniger bekannter Daten heraus generieren, die dann für eine automatische Klassifikation bzw. Regression dienen können.

Entscheidungsbäume sind also eine Idee des überwachten maschinellen Lernens, bei der Algorithmen zum Einsatz kommen, die aus einer Datenmenge heraus eine hierarchische Struktur von möglichst wenigen Entscheidungswegen bilden. Diese Datenmenge stellt eine sogenannte Trainingsstichprobe dar. Meiner Erfahrung nach werde Entscheidungsbäume oftmals in ihrer Mächtigkeit, aber auch in ihrer Komplexität unterschätzt und die Einarbeitung fiel mehr selbst schwerer, als ich anfangs annahm: In der Praxis stellt das Verfahren den Data Scientist vor viele Herausforderungen.

In dieser Artikelserie wird es vier nachfolgende Teile geben (Verlinkung erfolgt nach Veröffentlichung):

 

 

Statistical Relational Learning – Part 2

In the first part of this series onAn Introduction to Statistical Relational Learning”, I touched upon the basic Machine Learning paradigms, some background and intuition of the concepts and concluded with how the MLN template looks like. In this blog, we will dive in to get an in depth knowledge on the MLN template; again with the help of sample examples. I would then conclude by highlighting the various toolkit available and some of its differentiating features.

MLN Template – explained

A Markov logic network can be thought of as a group of formulas incorporating first-order logic and also tied with a weight. But what exactly does this weight signify?

Weight Learning

According to the definition, it is the log odds between a world where F is true and a world where F is false,

and captures the marginal distribution of the corresponding predicate.

Each formula can be associated with some weight value, that is a positive or negative real number. The higher the value of weight, the stronger the constraint represented by the formula. In contrast to classical logic, all worlds (i.e., Herbrand Interpretations) are possible with a certain probability [1]. The main idea behind this is that the probability of a world increases as the number of formulas it violates decreases.

Markov logic networks with its probabilistic approach combined to logic posit that a world is less likely if it violates formulas unlike in pure logic where a world is false if it violates even a single formula. Consider the case when a formula with high weight i.e. more significance is violated implying that it is less likely in occurrence.

Another important concept during the first phase of Weight Learning while applying an MLN template is “Grounding”. Grounding means to replace each variable/function in predicate with constants from the domain.

Weight Learning – An Example

Note: All examples are highlighted in the Alchemy MLN format

Let us consider an example where we want to identify the relationship between 2 different types of verb-noun pairs i.e noun subject and direct object.

The input predicateFormula.mln file contains

  1. The predicates nsubj(verb, subject) and dobj(verb, object) and
  2. Formula of nsubj(+ver, +s) and dobj(+ver, +o)

These predicates or rules are to learn all possible SVO combinations i.e. what is the probability of a Subject-Verb-Object combination. The + sign ensures a cross product between the domains and learns all combinations. The training database consists of the nsubj and dobj tuples i.e. relations is the evidence used to learn the weights.

When we run the above command for this set of rules against the training evidence, we learn the weights as here:

Note that the formula is now grounded by all occurrences of nsubj and dobj tuples from the training database or evidence and the weights are attached to it at the start of each such combination.

But it should be noted that there is no network yet and this is just a set of weighted first-order logic formulas. The MLN template we created so far will generate Markov networks from all of our ground formulas. Internally, it is represented as a factor graph.where each ground formula is a factor and all the ground predicates found in the ground formula are linked to the factor.

Inference

The definition goes as follows:

Estimate probability distribution encoded by a graphical model, for a given data (or observation).

Out of the many Inference algorithms, the two major ones are MAP & Marginal Inference. For example, in a MAP Inference we find the most likely state of world given evidence, where y is the query and x is the evidence.

which is in turn equivalent to this formula.

Another is the Marginal Inference which computes the conditional probability of query predicates, given some evidence. Some advanced inference algorithms are Loopy Belief Propagation, Walk-SAT, MC-SAT, etc.

The probability of a world is given by the weighted sum of all true groundings of a formula i under an exponential function, divided by the partition function Z i.e. equivalent to the sum of the values of all possible assignments. The partition function acts a normalization constant to get the probability values between 0 and 1.

Inference – An Example

Let us draw inference on the the same example as earlier.

After learning the weights we run inference (with or without partial evidence) and query the relations of interest (nsubj here), to get inferred values.

Tool-kits

Let’s look at some of the MLN tool-kits at disposal to do learning and large scale inference. I have tried to make an assorted list of all tools here and tried to highlight some of its main features & problems.

For example, BUGS i.e. Bayesian Logic uses a Swift Compiler but is Not relational! ProbLog has a Python wrapper and is based on Horn clauses but has No Learning feature. These tools were invented in the initial days, much before the present day MLN looks like.

ProbCog developed at Technical University of Munich (TUM) & the AI Lab at Bremen covers not just MLN but also Bayesian Logic Networks (BLNs), Bayesian Networks & ProLog. In fact, it is now GUI based. Thebeast gives a shell to analyze & inspect model feature weights & missing features.

Alchemy from University of Washington (UoW) was the 1st First Order (FO) probabilistic logic toolkit. RockIt from University of Mannheim has an online & rest based interface and uses only Conjunctive Normal Forms (CNF) i.e. And-Or format in its formulas.

Tuffy scales this up by using a Relational Database Management System (RDBMS) whereas Felix allows Large Scale inference! Elementary makes use of secondary storage and Deep Dive is the current state of the art. All of these tools are part of the HAZY project group at Stanford University.

Lastly, LoMRF i.e. Logical Markov Random Field (MRF) is Scala based and has a feature to analyse different hypothesis by comparing the difference in .mln files!

 

Hope you enjoyed the read. The content starts from basic concepts and ends up highlighting key tools. In the final part of this 3 part blog series I would explain an application scenario and highlight the active research and industry players. Any feedback as a comment below or through a message is more than welcome!

Back to Part I – Statistical Relational Learning

Additional Links:

[1] Knowledge base files in Logical Markov Random Fields (LoMRF)

[2] (still) nothing clever Posts categorized “Machine Learning” – Markov Logic Networks

[3] A gentle introduction to statistical relational learning: maths, code, and examples