All about Big Data Storage and Analytics

A quick primer on TensorFlow – Google’s machine learning workhorse

Introducing Google Brains‘ TensorFlow™

This week started with major news for the machine learning and data science community: the Google Brain Team announced the open sourcing of TensorFlow, their numerical library for tensor network computations. This software is actively developed (and used!) within Google and builds on many of Google’s large scale neural network applications such as automatic image labeling and captioning as well as the speech recognition in Google’s apps.

TensorFlow in bullet points

Here are the main features:

  • Supports deep neural networks – and much more machine learning approaches
  • Highly scalable across many machines and huge data sets
  • Runs on desktops, servers, in cloud and even mobile devices
  • Computation can run on CPUs, GPUs or both
  • All this flexibility is covered by a single API making the execution very streamlined
  • Available interfaces: C++ and Python. More will follow (Java, R, Lua, Go…)
  • Comes with many tools helping to build and visualize the data flow networks
  • Includes a powerful gradient based optimizer with auto-differentiation
  • Extensible with C++
  • Usable for commercial applications – released under Apache Software Licence 2.0

Tensor, what? Tensor, why?

„Numerical library for tensor network computations“ maybe doesn’t sound too exciting, but let’s  consider the implications.

Application of tensors and their networks is a relatively new (but fast evolving) approach in machine learning. Tensors, if you recall your algebra classes, are simply n-dimensional data arrays (so a scalar is a 0th order tensor, a vector is 1st order, and a matrix a 2nd order matrix).

A simple practical example of is color image’s RGB layers (essentially three 2D matrices combined into a 3rd order tensor). Or a more business minded example – if your data source generates a table (a 2D array) every hour, you can look at the full data set as a 3rd order tensor – time being the extra dimension.

Tensor networks then represent “data flow graphs”, where the edges are your multi-dimensional data sets and nodes are the mathematical operations on this data.

Example of of a data flow graph with multiple nodes (data operations). Notice how the execution of nodes is asynchronous. This allows incredible scalability across many machines. Image Source.

Looking at your data through the tensor formalism gives you a lot of powerful tools that were already developed for tensor algebra, allowing fast, complex computations.  

Tensor networks are also a natural fit for computations done on graphical processing units (GPUs) as they are built exactly for the purpose of very fast numerical operations on such a data – speeding up your calculations significantly compared to standard CPU execution!

The importance of flexible architecture & scaling

The data flow graph approach has also further advantages. Most notably, you can split the design of your data flows (i.e. data cleaning, processing, transformations, model building etc.) from its execution. You first build up the graph of your data flow and then you send it to for execution: either on the CPUs of your machines (and it can be your laptop just as well as cluster) or GPUs or a combination. This happens through a single interface that hides all the complexities from you.

Since the execution is asynchronous it scales across many machines and can deal with huge amounts of data.

You can count on the Google guys to build tools not only for academic use, but also heavy-duty operations in the industry!

Is this just another deep learning library?

TensorFlow is of course not the first library to embrace the tensor formalism and GPU execution. The nearest comparisons (and competitors) are Theano, Torch and CGT (Caffe to a limited degree).

While there are significant overlaps between the libraries, TensorFlow tries to provide a broader framework. It is not only a deep learning library – the Data Flow Graphs can incorporate any data processing/analysis applications. It also comes with a very powerful gradient based optimizer with automatic calculations of derivatives offering huge flexibility.

Given this broad vision the closest competitor is probably Theano (while Caffe and the existing Theano wrappers have a narrower focus on deep learning). TensorFlow’s distinguishing feature is that by design its focus is on large, scalable architectures with a complete flexibility in the hardware, best suited for industry/operational use, whereas the other libraries have more academic pedigrees.

Initial analyses also indicate that TensorFlow should bring also performance improvements compared to Theano, although no comprehensive benchmarks have yet been published.

As the other packages are out already for a while, they have large, active communities and often additional supporting software (examples are the very useful wrappers around Theano like Lasagne, Keras and Blocks that provider higher level abstractions to its engine).

Of course, with Google’s gravitas, one can expect that TensorFlow’s open source community will grow very fast and the contributors will quickly add a lot of additional features (and find hidden bugs).

Finally, keep in mind, that while Google provided us with this great data processing framework and some of its machine learning capabilities, it is likely that the most powerful machine learning algorithms still remain Google’s proprietary secret.

Nonetheless, TensorFlow is a huge and very welcome contribution to the open source machine learning world!

Where to go next?

You can find Google’s getting started guide here. The TensorFlow white paper is worth a read too. Source code can be found at the Github page. There is also a Vagrant virtual machine with TensorFlow pre-installed available here.

Wie lernen Maschinen?

Im zweiten Teil wollen wir das mit Abstand am häufigsten verwendete Optimierungsverfahren – das Gradientenverfahren oder Verfahren des steilsten Abstiegs – anhand einiger Beispiele näher kennen lernen. Insbesondere werden wir sehen, dass die Suchrichtung, die bei der Benennung der Verfahren meist ausschlaggebend ist, gar nicht unbedingt die wichtigste Zutat ist.

Read more

Daten in Formation bringen

Bei den vielfach stattfindenden Diskussionen um und über den Begriff Big Data scheint es eine Notwendigkeit zu sein, Daten und Informationen gegeneinander abzugrenzen. Auf Berthold Brecht geht folgendes Zitat zurück: „Ein Begriff ist ein Griff, mit denen man Dinge bewegen kann“. Folgt man dieser Aussage, so kann man leicht die falschen Dinge bewegen, wenn man die Begriffe nicht im Griff hat.
Eine mögliche Herangehensweise zur Unterscheidung der Begriffe Daten und Informationen liefert dabei die Semiotik (Zeichentheorie), welche in Syntax, Semantik und Pragmatik untergliedert werden kann:

Unter Syntax (altgr.: Ordnung, Reihenfolge) versteht man im Allgemeinen Regeln, welche es erlauben, elementare Zeichen zu neuen, zusammengesetzten Zeichen, Worten und Wortgruppen zu kombinieren. Daten sind tendenziell diesem Bereich zuzuordnen.

Beispiel:    10:30    24    Essen

Die Semantik (griech.: bezeichnen, zum Zeichen gehörend, auch Bedeutungslehre) indes beschäftigt sich mit Beziehungen und Bedeutung von Zeichen (Kontext). Regeln der Zusammensetzung aus der Syntax stehen demnach den Interpretationsregeln der Semantik gegenüber. Mit anderen Worten, der Kontext (Bezugsrahmen), in welchem die Zeichen verwendet werden, bestimmt deren Bedeutung. Ludwig Wittgenstein (1889 – 1951) verglich Worte mit Schachfiguren und postulierte, dass die Verwendung eines Wortes dessen Bedeutung bestimmt.

Beispiel:    10:30 Uhr    24 Grad Celcius    Stadt Essen

Pragmatik wiederum beschäftigt sich mit dem Gebrauch von Worten und somit der Verwendung von Sprache in spezifischen Situationen. Bei Informationen stehen dabei Handlungsorientierung sowie subjektiver Nutzen im Vordergrund. Informationen reduzieren Unsicherheit beim Empfänger, sie bereiten eine Entscheidung vor.

Beispiel: Auf Grund der Temperatur in der Stadt Essen um 10:30 Uhr benötige ich keine Jacke

Abbildung 1 Daten versus Informationen, eigene Darstellung

Abbildung 1 Daten versus Informationen, eigene Darstellung

Fazit:

(Big) Daten sind eine notwendige, aber keine hinreichende Bedingung für die Bildung von entscheidungsrelevanten Informationen. In anderen Worten, Daten sind vergleichbar mit Ziegelsteinen. Wenn man aus Ziegelsteinen (Daten) kein Haus (Kontext, Informationen) baut, sind es bloß Ziegelsteine. Man kann Informationen wiederum als Rohstoff interpretieren, aus welchem Entscheidungen hergestellt werden (können).

Wie lernen Maschinen?

Machine Learning ist eines der am häufigsten verwendeten Buzzwords im Data-Science- und Big-Data-Bereich. Aber lernen Maschinen eigentlich und wenn ja, wie? In den meisten Fällen lautet die Antwort: Maschinen lernen nicht, sie optimieren. Fällt der Begriff Machine Learning oder Maschinelles Lernen, so denken viele sicherlich zuerst an bekannte “Lern”-Algorithmen wie Lineare Regression, Logistische Regression, Neuronale Netze oder Support Vector Machines. Die meisten dieser Algorithmen – wir beschränken uns hier vorerst auf den Bereich des Supervised Learning – sind aber nur Anwendungen einer anderen, grundlegenderen Theorie – der mathematischen Optimierung. Alle hier angesprochenen Algorithmen stellen dem Anwender eine bestimmte Ziel- oder Kostenfunktion zur Verfügung, aus der sich i.a. der Name der Methode ableitet und für die im Rahmen des Lernens ein Minimum oder Optimum gefunden werden soll. Ein großer Teil des Geheimnisses und die eigentliche Stärke der Machine-Learning-Algorithmen liegt nun darin, dass dieser Minimierungsprozess effizient durchgeführt werden kann. Wir wollen im Folgenden kurz erklären, wie dies in etwa funktioniert. In einem späteren Blogpost gehen wir dann genauer auf das Thema der Effizienz eingehen. Read more

Die üblichen Verdächtigen – 8 häufige Fehler in der Datenanalyse

Das eine vorab: eine Liste der meist begangenen Fehler in der Datenanalyse wird in jedem Fall immer eine subjektive Einschätzung des gefragten Experten bleiben und unterscheidet sich je nach Branche, Analyse-Schwerpunkt und Berufserfahrung des Analysten. Trotzdem finden sich einige Missverständnisse über viele Anwendungsbereiche der Datenanalyse hinweg immer wieder. Die folgende Liste gibt einen Überblick über die acht am häufigsten begangenen Fehler in der angewandten Datenanalyse von denen ich behaupte, dass sie universell sind.

  1. Statistische Signifikanz versus Relevanz

Die Idee der statistischen Signifikanz wird oft missverstanden und deswegen fälschlicherweise mit statistisch belegter Relevanz gleichgesetzt. Beide messen jedoch sehr unterschiedliche Dinge. Statistische Signifikanz ist ein Maß der Gewissheit, welches die Zufälligkeit von Variation berücksichtigt. „Statistisch signifikant“ bedeutet also, dass es unwahrscheinlich ist, dass ein bestimmtes Phänomen nur zufällig auftritt. „Statistisch nicht signifikant“ bedeutet, dass neben der zufälligen Variation keine systematische bewiesen werden konnte. Wichtig: dies bedeutet nicht, dass es keine Effekte gibt, sondern, dass diese nicht belegt werden konnten. Statistische Signifikanz lässt sich mit ausreichend vielen Beobachtungen allerdings auch für sehr kleine Unterschiede belegen. Generell gilt: je größer die Stichprobe, desto kleiner werden die Unterschiede, welche als statistisch signifikant getestet werden. Deswegen unterscheidet sich die statistische Relevanz von der statistischen Signifikanz.

Statistische Relevanz misst hingegen die Effektstärke eines Unterschiedes. Die Größe eines Unterschiedes wird dazu in Relation zur Streuung der Daten gesetzt und ist damit unabhängig von der Stichprobengröße. Je größer die Varianz der Zufallsvariablen, desto kleiner wird die Effektstärke.

  1. Korrelation versus Kausalität

Wird eine hohe Korrelation zwischen zwei Größen festgestellt, so wird oft geschlussfolgert, dass eine der beiden Größen die andere bestimmt. In Wahrheit können auch komplexe statistische und ökonometrische Modelle keine Kausalität beweisen. Dies gilt sogar, wenn die Modellierung einer theoretischen Grundlage folgt, denn auch die kann falsch sein. Regelmäßig lehnen sich Forscher und Analysten aus dem Fenster, indem sie Wirkungen behaupten, welche eine genaue Prüfung nicht aushalten. Standardfragen, die als Automatismus einer jeden Analyse folgen sollte, welche behauptet Effekte gefunden zu haben sind: Welche Rolle spielen unbeobachtete Heterogenitäten, umgekehrte Kausalität und Messfehler in den Variablen für das Schätzergebnis? Erst wenn diese drei Quellen von Endogenität kontrolliert werden und außerdem davon ausgegangen werden kann, dass die Stichprobe die Grundgesamtheit repräsentiert, kann ein kausaler Zusammenhang angenommen und quantifiziert werden.

  1. Unbeobachtete Einflussfaktoren

Nicht messbare und deswegen nicht erhobene Einflüsse verzerren die geschätzten Parameter der kontrollierbaren Faktoren, sofern letztere mit den unbeobachteten im Zusammenhang stehen. In anderen Worten: der geschätzte Effekt wird fälschlicherweise der beobachteten Größe zugeschrieben, wenn eigentlich eine dritte, nicht beobachtete Größe die Zielgröße bedingt und gleichzeitig mit der beobachteten Größe korreliert. Das Lehrbeispiel
für Verzerrungen durch unbeobachtete Größen ist die Lohngleichung – eine Gleichung die seit nunmehr 60 Jahren intensiv beforscht wird. Die Schwierigkeit bei der Quantifizierung des Effektes von Ausbildung liegt darin, dass die Entlohnung nicht nur über Alter, Berufserfahrung, Ausbildung und den anderen Kontrollvariablen variiert, sondern auch durch das unterschiedlich ausgeprägte Interesse an einem lukrativen Erwerb und die Fähigkeit des Einzelnen, diesen zu erlangen. Die Herausforderung: es gibt keinen statistischen Test, welche eine Fehlspezifikation durch unbeobachtete Größen angibt. Unabdingbar ist deswegen ein tiefgehendes Verständnis des Analyseproblems. Dieses befähigt den Analysten Hypothesen zu formulieren, welche unbeobachteten Größen über eine Korrelation mit dem getesteten Regressor im Fehlerterm ihr Unwesen treiben. Um Evidenz für die Hypothesen zu schaffen, müssen smarte Schätzdesigns oder ausreichend gute Instrumente identifiziert werden.statistische-verzerrung

  1. Selektionsverzerrung

Eine Selektionsverzerrung liegt vor, wenn Beobachtungen nicht für jedes Individuum vorliegen oder von der Analyse ausgeschlossen werden. Die Grundvoraussetzung für jeden statistischen Hypothesentest ist die Annahme einer Zufallsstichprobe, so dass die Zielpopulation repräsentativ abgebildet ist. In der Praxis ergeben sich allerdings oft Situationen, in denen bestimmte Merkmale nur für eine Gruppe, aber nicht für eine zweite beobachtet werden können. Beispielsweise kann der Effekt einer gesundheitsfördernden Maßnahme eines Großbetriebes für die gesamte Belegschaft nicht durch die freiwillige Teilnahme einiger Mitarbeiter gemessen werden. Es muss explizit dafür kontrolliert werden, welche Unterschiede zwischen Mitarbeitern bestehen, welche das Angebot freiwillig in Anspruch nehmen im Vergleich zu denen, die es nicht annehmen. Eine Gefahr der Über- oder Unterschätzung der Effekte besteht generell immer dann, wenn über die Beschaffenheit der Stichprobe im Vergleich zur Grundgesamtheit nicht nachgedacht wird. Auf Basis einer nicht repräsentativen Stichprobe werden dann fälschlicherweise Generalisierungen formuliert werden, welche zu falschen Handlungsempfehlungen führen können.

  1. Überanpassung und hohe Schätzervarianz

Überanpassung passiert, wenn der Analyst „zu viel“ von den Daten will. Wird das Model überstrapaziert, so erklären die Kontrollvariablen nicht nur die Zielgröße sondern auch das weiße Rauschen, also die Zufallsfehler. Die Anzahl der Regressoren im Verhältnis zur Anzahl der Beobachtungen ist in solch einer Spezifikation übertrieben. Das Problem: zu wenig Freiheitsgrade und das vermehrte Auftreten von Multikollinearität führen zu einer hohen Varianz in der Verteilung der Schätzer. Ein Schätzergebnis einer Spezifikation mit einer hohen Schätzervarianz kann also Schätzergebnisse produzieren, welche vom wahren Wert weiter entfernt sind als ein verzerrter Schätzer. Tatsächlich ist ein „falsches“ meistens ein Hinweis auf Multikollinearität.verlorene-effizienz-statistisches-modell

Oft macht es Sinn, die Spezifikation anzupassen, indem man die korrelierten Regressoren ins Verhältnis zueinander zu setzt. In der Praxis geht es immer darum, einen Kompromiss aus Verzerrung und Varianz zu finden. Das Kriterium hierfür ist die Minimierung des mittleren quadratischen Fehlers. Um zu überprüfen, ob der Analyst über das Ziel hinausgeschossen ist, gibt es zudem verschiedene Validierungsmethoden, welche je nach Methode einen bestimmten Anteil oder sogar keine Daten „verschwenden“, um das Modell zu überprüfen.kompromiss-quadratischer-fehler-statistisches-modell

  1. Fehlende Datenpunkte

Beobachtungen mit fehlenden Datenpunkten werden in der Praxis aus der Analyse in den meisten Fällen ausgeschlossen, einfach deswegen, weil das am schnellsten geht. Bevor das gemacht wird, sollte allerdings immer die Frage vorangestellt werden, wieso diese Datenpunkte fehlen. Fehlen sie zufällig, so führt der Ausschluss der Beobachtungen zu keinen unterschiedlichen Ergebnissen. Fehlen sie allerdings systematisch, beispielsweise wenn Personen mit bestimmten Merkmalen spezifische Daten lieber zurückhalten, so ergeben sich daraus Herausforderungen. Es sollte dann darum gehen, diese gesamte Verteilung zu ermitteln. Ist unklar, ob die Daten zufällig oder systematisch fehlen, so sollte sich der Analyst im Zweifel dieser Frage annehmen. Es müssen dann Informationen identifiziert werden, welche helfen die fehlenden Daten zu imputieren.

  1. Ausreißer

Ausreißer werden in vielen Anwendungen mit standardisierten Verfahren identifiziert und aus dem Datensatz entfernt. Dabei lohnt es sich in vielen Fällen, die Daten ernst zu nehmen. Die Voraussetzung hierfür: die Datenpunkte müssen legitim sein. Problemlos ausschließen lassen sich Datenpunkte, welche durch Eingabefehler und bewusste Falschmeldung erzeugt wurden. Legitime Datenpunkte sind hingegen “echte” Werte. Die Einbeziehung von Ausreißern kann mitunter einen inhaltlichen Beitrag zur Analyse leisten, da auch sie einen Teil der Population im Ganzen sind. Problematisch wird die Beibehaltung von Ausreißern, wenn durch sie Zusammenhänge identifizierbar werden, die auf den Rest der Population nicht zutreffen. Mögliche Verfahren, welche Ausreißer mit dem Rest der Beobachtungen versöhnen, sind Transformationen der Daten oder die Anwendung robuster Schätzverfahren. Beide Ansätze spielen mit einer stärkeren Gewichtung der mittleren Verteilung. Außerdem kann beispielsweise in Regressionen überprüft werden, inwieweit etwa ein nicht-linearer Fit die Ausreißer besser in die Schätzung aufnimmt.

  1. Spezifizierung versus Modellierung

Allzu oft werden komplizierte statistische Modelle gebaut, bevor überprüft wurde, was ein einfaches Modell leisten kann. Bevor jedoch komplexe Modelle gestrickt werden, sollte zuerst an der Spezifikation des Modells gearbeitet werden. Kleine Anpassungen wie die Inklusion verbesserter Variablen, die Berücksichtigung von Interaktionen und nicht-linearen Effekten bringen uns in manchen Fällen der Wahrheit näher als ein aufwendiges Modell und sollten in jedem Fall ausgereizt werden, bevor ein aufwendigeres Modell gewählt wird. Je einfacher das Modell, desto einfacher ist es in der Regel auch die Kontrolle darüber zu behalten. In jedem Fall sollten die gewählten Spezifikationen immer durch Sensitivitätsanalysen unterstützt werden. Unterschiede in der Variablendefinition und der Selektion der Daten, sollten sowohl getestet als auch berichtet werden. Einen guten Grund, das Modell zu wechseln hat der Analyst dann, wenn daraus ersichtlich wird, dass Annahmen des einfachen Modells verletzt werden und dieses deswegen keine validen Ergebnisse produziert.

Interview – Bedeutung von Data Science für Deutschland

Klaas Wilhelm Bollhoefer ist Chief Data Scientist bei The unbelievable Machine Company (*um), einem Full-Service Dienstleister für Cloud Computing und Big Data aus Berlin. Er übersetzt Business-Anforderungen in kundenspezifische Big Data Lösungen und agiert an der Schnittstelle von Business, IT, Künstlicher Intelligenz und Design. Er ist Community Manager diverser Fachgruppen sowie Mitglied in Beiräten und Jurys zahlreicheklaas-bollhoefer-web-fotor internationaler Big Data Veranstaltungen. Vor seiner Tätigkeit als Chief Data Scientist hatte Herr Bollhöfer bei Pixelpark den Bereich “Beratung und Konzeption” aus der Taufe gehoben und über mehrere Jahre verantwortet, sowie selbständig als strategischer Berater gearbeitet. Er hat Medientechnik, Visual Communication und Philosophie in Köln und Melbourne studiert, hielt Lehraufträge zu Project Governance & Social Data an der TU Berlin, HTW Berlin, der Uni Siegen und der FH Köln inne und schreibt ab und an für diverse Fachpublikationen.

Data Science Blog: Herr Bollhoefer, welcher Weg hat Sie ins Data Science von The unbelievable Machine (*um) geführt?

Bollhoefer: Das war alles andere als eine gradlinige Geschichte. Ich kannte Ravin Mehta, Gründer und Geschäftsführer von *um noch von der Pixelpark AG, bei der ich von 2000 bis 2009 in verschiedenen Positionen tätig war. Das nächste was Ravin vorhatte, nachdem er in den Cloud-Markt mit *um sehr erfolgreich eingestiegen war, war Big Data. Als ich ihn fragte, was Big Data denn genau sei, meinte er, dass wüsste (damals) noch niemand so genau!

Das war vor etwa vier Jahren und es war die Chance für mich, in dieses neue Thema einzusteigen und zudem eine tolle Gelegenheit – denn eigentlich bin ich ja Ingenieur – für mich, Mathematik wieder aufzufrischen. Ich war der erste Mitarbeiter für Data Science bei *um, habe das Dienstleistungsportfolio maßgeblich mitaufgebaut und konnte mich daher als Chief Data Scientist positionieren. Ich bin allerdings kein Spezialist, sondern Generalist über alles, was man dem Data Science so zuschreiben kann.

Data Science Blog: Welche Branchen profitieren durch Big Data und Data Science gegenwärtig und in naher Zukunft am meisten?

Bollhoefer: Branchen, die schon seit längerer Zeit direkt von Big Data und Data Science profitieren, sind die sogenannten Digital Pure Player, also vorwiegend junge Unternehmen, deren Geschäftsmodelle rein auf digitaler Kommunikation aufbauen sowie eCommerce-Unternehmen. Unter den Fachbereichen profitieren vor allem das Marketing und unter den Geschäftsmodellen ganz besonders das Advertising von Big Data Analytics. Der Begriff Customer Analytics ist längst etabliert.

Zu den Newcomern gehören die Branchen, auf die Deutschland besonders stolz ist: Sowohl die OEMs, als auch die größeren Zulieferer der Automobilbranche setzen mittlerweile vermehrt auf Big Data Analytics, wobei das Supply Chain Management mit Blick auf Logistik und Warenwirtschaft aktuell ganz klar im Vordergrund steht. Es ist hier für uns bereits viel Bewegung spürbar, aber noch lange nicht das Maximum ausgeschöpft. Zumindest ist für viele dieser Unternehmen der Einstieg gefunden.

Auch aus der klassischen Produktion entsteht im Kontext von Industrie 4.0 gerade Nachfrage nach Data Science, wenn auch etwas langsamer als erhofft. Die Potenziale durch die Vernetzung von Produktionsmaschinen sind noch nicht annähernd ausgeschöpft.

Branchen, die meiner Erfahrung nach noch nicht genügend aktiv geworden sind, sind die Chemie- und Pharma-Industrie. Auch Banken und Versicherungen, die ja nicht mit realen Werten, sondern nur mit Daten arbeiten, stehen – abgesehen von einigen Ausnahmen – überraschenderweise noch nicht in den Startlöchern, trotz großer Potenziale.

Data Science Blog: Und welche Branchen sehen Sie durch diese neuen Methoden und Technologien bedroht?

Bollhoefer: Eigentlich mag ich keine Bedrohungsszenarien durch Big Data skizzieren, denn diese führen nur dazu, dass sich Entscheider noch mehr vor dem Thema verschließen und genau dieses Verschließen stellt die eigentliche Bedrohung dar.

Die Chance sollte im Fokus stehen. Die deutsche Industrie, der produzierende Mittelstand, hat mit Big Data und Analytics die Möglichkeit, Fertigungs- und Prozessketten sehr viel weiter zu flexibilisieren und zu optimieren. Die Industrie 4.0 Initiative der deutschen Bundesregierung setzt hier ein ganz wichtiges Zeichen.

Es ist aber auch vollkommen klar, dass die deutsche Automobilindustrie – so wie sie heute existiert – massiv durch Google und Apple und deren Bestrebungen zum vernetzten und autonomen Fahrzeug bedroht ist. Es wird in absehbarer Zeit neue Wettbewerber geben, die klassische Gesamtkonzepte hinterfragen, sie neu und auch anders denken, als wir es heute kennen. Mobilität ist eines dieser Gesamtkonzepte.

Wenn die Kunden darauf anspringen, wird es existenzbedrohend für deutsche Unternehmen. Das ist aber nicht nur durch Big Data getrieben, sondern generell durch immer zügigere Technologiesprünge wie beispielsweise mehr Rechenpower, Batteriekapazität und Vernetzungstechnik.

Data Science Blog: Trotz der vielen Einflüsse von Big Data auf unsere Gesellschaft und Wirtschaft scheint die Berufsbezeichnung Data Scientist nur wenigen ein Begriff zu sein. Wird Data Science als Disziplin in Deutschland noch unterschätzt?

Bollhoefer: Ich denke nicht, dass dieses Berufsbild noch so unbekannt ist. Es ist vollkommen klar, dass es kein Wald- und Wiesen-Job ist, aber großen Unternehmen und Start-Ups ist heute schon sehr bewusst, dass Data Science ein wichtiges Themenfeld ist, ohne das keine Wettbewerbsfähigkeit mehr möglich wäre. Auch sind Profile bereits gut definiert, was ein Data Scientist ist und was man als solcher können sollte.

Data Science Blog: Kleinere Mittelständler haben von Data Science allerdings noch nicht viel gehört, ist das Thema für solche Unternehmen überhaupt von Bedeutung?

Bollhoefer: Kleinere Mittelständler kennen es noch nicht, aber Data Science ist für viele Unternehmen auch kleinerer Größen interessant. Die Werkzeuge, mit denen Data Science betrieben werden kann, sind immer einfacher zu bedienen. Auch Cloud-Lösungen machen diese innovativen Analysen für kleine Unternehmen erschwinglich, so sinkt die Hürde, mit seinen Daten viele der möglichen Potenziale zu realisieren.

Je leistungsfähiger die Werkzeuge werden, desto eher können auch kleinere Unternehmen von diesem Trend profitieren. Die Entwicklung, die gerade stattfindet sorgt für keine Not im Mittelstand, die entsprechenden Entscheider und Geschäftsführer sollten sich jedoch laufend über aktuelle Technologien und Möglichkeiten informieren.

Das ist zumindest meine Einschätzung, die sich jedoch genauso wie die aktuellen Technologien hin und wieder der Situation anpassen muss.

Data Science Blog: Ihre Gruppe Data Science Germany auf Xing.com hat bereits 1.240 Mitglieder und als KeyNote-Speaker sind Sie ebenfalls einer der Frontmänner in Deutschland für Big Data. Was können wir in Deutschland tun, um nicht den Anschluss zu verlieren oder gar auf Augenhöhe des Silicon Valley zu kommen?

Bollhoefer: Nur irgendwelche Gruppen oder Meetups zu organisieren hilft dem Standort Deutschland nicht weiter, auch wenn die Kommunikation untereinander sehr wichtig ist.

In Anbetracht der neuen Möglichkeiten, die wir insbesondere mit Machine Learning eröffnet bekommen, mit den neuen mathematischen Modellen und Technologien, wird sich in Zukunft vieles ändern, das ist vielen Leuten aber noch weitgehend unbekannt. Wir müssen massiv dafür sorgen, dass Transparenz geschaffen wird durch Lehre und Ausbildung.

Es ist jetzt ein enorm wichtiger Zeitpunkt, bei dem sich jedes größere Unternehmen auf eine krasse Lernphase einlassen sollte. Was verbirgt sich hinter künstlicher Intelligenz? Wie funktioniert Machine Learning und Predictive Analytics? Erst wenn das richtig verstanden ist, dann kann die Projektion auf eigene Geschäftsmodelle erfolgen.

Bisher suchten alle nach einem Referenz-Use-Case in der eigenen Branche, den man dann einfach eins zu eins übernehmen kann. Es wird dabei vielfach vergessen, dass diejenigen, die die ersten Schritte bereits gemacht haben, dann schon sehr viel weiter sind als die Nachahmer. Die US-Amerikaner machen es uns vor, sie tun es einfach und lernen daraus. Sie tun es schnell, sie scheitern schnell, erlangen aber auch schnell Erfolge. Dank dieses Mentalitätsaspektes sind sie uns teilweise weit voraus.

Dieser Vorsprung ist nur sehr schwer aufzuholen, da es an der Mentalitätskultur liegt. Eine andere Lern- und Fehlerkultur würde uns sehr gut tun, die kann man aber nicht herbeireden, die muss man entwickeln durch Anreize von der Politik. Industrie 4.0 ist daher eine gute Initiative, denn daran hängen Förderprogramme und Forschungsmotivationen. Das nimmt die Unternehmer aber nicht aus der Verantwortung, in dieser Sache am Ball zu bleiben.

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

Bollhoefer: Höchst unterschiedlich, denn Data Science umfasst vielfältige Tätigkeiten.

Der Berufsalltag findet überwiegend am Computer statt, denn heutzutage heißt Data Science vor allem Programmieren. Als Data Scientist setzten wir mit Programmierung Use Cases um, dabei nutzen wir meistens Python oder R, es können aber auch andere Programmiersprachen eingesetzt werden.

Viele Tätigkeiten verlangen Kreativität, Stift und Zettel sowie viel Austausch mit Kollegen. Nur wenige Arbeitsschritte lassen sich fest planen, iteratives bzw. agiles Vorgehen ist notwendig.

Kernaufgabe und Höhepunkt unserer Arbeit sind die Messung von Qualitätskriterien sowie das Trainieren und Optimieren mathematischer Modelle. Das sogenannte Feature-Engineering, also das Herausarbeiten relevanter Features (individuelle messbare Eigenschaften eines Objektes oder eines Sachverhaltes) bildet die dafür notwendige Basis und macht in der Praxis häufig bis zu 80% unserer Arbeitszeit aus.

Data Science Blog: Data Science ist Analyse-Arbeit und es geht viel um Generierung und Vermittlung von Wissen. Sind gute Data Scientists Ihrer Erfahrung nach tendenziell eher kommunikative Beratertypen oder introvertierte Nerds?

Bollhoefer: Im Idealfall sollte ein Data Scientist in gewisser Weise beides sein, also fifty/fifty. Das ist zumindest das, was es eigentlich bräuchte, auch wenn solche Leute nur schwer zu finden sind.
Den idealen Data Scientist gibt es wohl eher nicht, dafür arbeiten wir in Teams. Data Science ist Teamsport. Am erfolgreichsten sind Teams mit eben diesen Mindsets der kommunikativen Beratertypen mit Überzeugungsfähigkeit und den autodidaktischen Nerds mit viel tiefgehendem Wissen in Mathematik und Informatik.

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 gute Data Scientists werden können?

Bollhoefer: Wer operativ schnell tätig werden möchte, sollte auf den Master verzichten, denn wie die Nachfrage nach Data Science in drei Jahren aussehen wird, weiß niemand. Es ist ganz wichtig, jetzt zu starten und nicht in drei Jahren.

Der Weg ist zurzeit über Kontakte am leichtesten. Wer die nicht hat, kann diese schnell aufbauen, dazu einfach ein paar der vielen Meetups besuchen, über Social Media in der Szene netzwerken, sich Vorträge anhören und dadurch auch gleichzeitig in Erfahrung bringen, wie Data Scientists denken, arbeiten und was das typische Jobprofil ausmacht. Um der Thematik, den Tools und Methoden näher zu kommen, gibt es Kurse bei Coursera, Udacity, Kaggle Competitions, so kann man selber mal praxisnahe Probleme lösen. Zwei oder drei Zertifikate von diesen Anlaufstellen helfen bei der Jobsuche weiter.

KNN: Natur als Vorbild – Biologische Neuronen

Bisher ist die genaue Funktionsweise des Gehirns bei der Verarbeitung sensorischer Informationen nicht bekannt. Neue Erkenntnisse im Bereich der Neurowissenschaften liefern jedoch einen Einblick über grundlegende Prinzipien wie das Gehirn von Säugetieren sensorische Informationen repräsentiert. Einer der wichtigsten Punkte ist dabei die Erkenntnis, dass der Neocortex, einem ankommenden Signal erlaubt ein komplexes Netzwerk von Neuronen zu durchlaufen, wodurch es zu einer abstrakten Repräsentation des ursprünglichen Eingabesignals kommt. Auch ist das Gehirn in der Lage die Leitfähigkeit der Verbindungen zwischen den Neuronen zu modifizieren, was sich auf eine Änderung der Abbildungsvorschrift auswirkt. Beobachtungen können dadurch noch besser getrennt und effizienter repräsentiert werden. Die Entdeckung dieses Verhaltens motivierte die Entstehung des Forschungszweiges Deep Machine Learning, welcher sich darauf fokussiert Modelle zu entwickeln, die ähnliche Charakteristiken wie der Neocortex aufweisen.

Das Eingabesignal durchläuft das Netzwerk bis zu einer Ausgabeschicht. Das Resultat dieser nicht linearen Transformation lässt sich dann beispielsweise mit einem Klassifizierungsalgorithmus auswerten. Die praktischen Anwendungen solcher Algorithmen sind sehr vielfältig. Deep Machine Learning Algorithmen liefern zurzeit die besten Ergebnisse zu vielen Problemen in Anwendungsdomänen wie Bilderkennung, Spracherkennung und der Verarbeitung natürlicher Sprache. Mit Hilfe dieser Algorithmen wurden beispielsweise neue elementare Teilchen gefunden, entdeckte Galaxien noch besser klassifiziert und Auswirkungen von Mutationen innerhalb von DNA vorhergesagt.

Das Neuron

Das Neuron ist die Basis-Recheneinheit des Gehirns. Ungefähr 86 Milliarden solcher Neuronen befinden sich im menschlichen Nervensystem, welche durch ca. 10^15 Synapsen miteinander vermascht sind. In Abbildung unten links wird eine Schemazeichnung eines biologischen Neurons dargestellt. Dieses besteht unter Anderem aus Dendriten, dem Zellkörper, der den Zellkern beinhaltet und einem Axon. Die Dendriten gehen aus dem Zellkörper hervor und sind über Synapsen mit sensorischen Zellen oder Axonen anderer Neuronen verbunden. Ihre Aufgabe ist die Aufnahme von ankommenden Signalen in Form von elektrischen Spannungsänderungen und der Transport dieser in den Zellkörper des Neurons, der Recheneinheit einer Nervenzelle. Dort angekommen entscheiden bestimmte Faktoren, ob ein Aktionspotential anhand einer Schwellwertfunktion ausgelöst wird oder nicht. Ist dies der Fall leitet das Neuron elektrische Energie über sein Axon an weitere angeschlossene Dendriten anderer Neuronen weiter.

Neuronen
Das biologische Neuron diente als Inspiration für das Software-Neuron. Beim mathematischen Modell eines Software-Neurons (Künstliches Neuron eines KNN) wird davon ausgegangen, dass die verschiedenen Dendriten unterschiedlich stark ausgeprägt sind und ein Signal daher auch verschieden stark gewichtet in den Zellkörper übertragen wird. Jedes Dendrit enthält demnach einen Faktor(θi), der das Signal(xi) vor dem Eintreffen in den Zellkörper skaliert (θixi). Diese Faktoren werden auch als Gewichte bezeichnet. Im Zellkörper selbst werden die Signale die von unterschiedlichen Neuronen stammen aufsummiert bis schließlich ein fester Bias-Wert(b) auf das Ergebnis der Summation aufaddiert wird. Anschließend bestimmt eine nicht-lineare Aktivierungsfunktion über den finalen Ausgangswert des Neurons.

Bildquelle: Wikipedia

Ähnliche Artikel:

KNN: Künstliche Neuronen

Es gibt sehr ausführliche Definitionen und Abbildungen für ein künstliches Neuron, die in diesem Artikel aber nicht behandelt werden. Der Grund dafür ist pragmatischer Natur. Es soll eine gewisse Konsistenz zu den anderen KNN-Beiträgen dieser Reihe bestehen und das Thema soll nicht zu einer wissenschaftlichen Abhandlung mutieren.

In dem Beitrag  KNN: Was sind künstliche neuronale Netze  geht es um den grundsätzlichen Aufbau von künstlichen neuronalen Netzwerken. Zusammengesetzt werden die Strukturen aus einer oftmals großen Anzahl von künstlichen Neuronen. Die nachfolgende Abbildung zeigt auf der Linken Seite einen extrahierten Ausschnitt aus einem Netzwerk. Es kann auch als einfaches allein stehendes Netzwerk betrachtet werden. Auf der rechten Seite ist eine allgemeingültigere Form zu sehen. Die Bias Unit (VB) wird üblicherweise als X0 bezeichnet und hat immer den Wert 1.

 

neuronen-netzwerk1 neuronen-netzwerk2

 


Um den Ausgangswert Y zu berechnen wird zunächst jeder Eingangswert X mit seinem dazugehörigen Gewicht \theta (Theta) multipliziert und die Ergebnisse aufsummiert. Das Zwischenergebnis ist die Aktivierungsstärke z:

    \[ z = X_0 \cdot \theta_0 + X_1 \cdot \theta_1 + X_2 \cdot \theta_2 \]

Im nächsten Schritt wird der eigentliche Ausgangswert Y errechnet, indem die Aktivierungsstärke z an eine Aktivierungsfunktion angelegt wird. Es gibt zwar verschiedene Funktionen, häufig wird aber die Logistische bzw. Sigmoid-Funktion verwendet. Sie ist nicht-linear und hat einen Ausgangswertebereich zwischen 0 und 1.

sigmoid-funktion

    \[ sigmoid(z) = \frac{1}{1+e^{-z}} \]

Wird das Bias Neuron und sein Gewicht nicht beachtet, bestimmen die eingehenden Daten die Aktivierungsstärke und damit den Ausgang der Funktion. Unter Verwendung der Bias Unit verschiebt sich die Funktion entlang der Y-Achse, was einer Verschiebung von einem Schwellwert gleich kommt.

Die endgültige Formel für die Aktivierung eines Neurons sieht sehr ähnlich zu der Logistischen Regression aus. Werden die Werte von X und Theta zu Vektoren zusammengefasst, lässt sich die Berechnung stark vereinfachen:

    \[ Y = sigmoid(X\theta) \]

Als Programmcode müsste diese Berechnung dennoch mit einer Schleife realisiert werden oder noch besser mit einer Bibliothek für lineare Algebra.

Ähnliche Artikel:
KNN: Was sind künstliche neuronale Netze
KNN: Vorteile und Nachteile

Interview – Big Data Analytics in der Versicherungsbranche

big-data-in-versicherungsbranche-interview
norbert-schattner

Welche Rolle spielt Big Data in der Versicherungsbranche? Ist Data Science bereits Alltag in einer Versicherung? Wenn ja, welche Analysen werden bereits durchgeführt?
Hierzu haben wir den Datenarchitekt Norbert Schattner befragt und sehr interessante Antworten erhalten:

Norbert Schattner ist Informations- & Datenarchitekt bei der Helsana AG in der Schweiz. Die Helsana AG ist ein Versicherungskonzern mit Schwerpunkt auf Kranken- und Unfallversicherung. Der Konzern beschäftigt rund 3.500 Mitarbeiter und macht 5,5 Milliarden Franken Umsatz.

Data Science Blog: Herr Schattner, welcher Weg hat Sie in die Datenarchitektur und in das Data Warehouses bei Helsana geführt?

Schattner: Ich habe in meiner Berufslaufbahn kontinuierlich im Umfeld Business Intelligence und Data Warehousing gearbeitet und konnte mich zum Experten für unternehmensübergreifende Architektur von Daten- und Informationsflüssen weiter entwickeln.

Nachdem ich eine Zeit lang als Senior Consultant für eine Unternehmensberatung tätig war, bin ich zur UBS Bank nach Zürich gegangen und war für das Rollout Management im Data Warehouse Kontext tätig. Schlussendlich wechselte ich dann zur Helsana Versicherungsgruppe, denn dort konnte ich in ein Projekt einsteigen, bei dem ich die Datenarchitektur von Grund auf neu aufbauen durfte. Durch dieses Projekte hatte ich die Gelegenheit eine nachhaltige Datenarchitektur von Grund auf aufzubauen und in weiteren Grossprojekten mitwirken.

Data Science Blog: Die Medien überschlagen sich in letzter Zeit geradezu beim Thema Big Data, dabei scheint jede Branche diesen Begriff für sich selbst zu interpretieren. Was bedeutet Big Data für Sie? Wie sieht Big Data aus der Perspektive der Versicherungsbranche aus?

Schattner: Big Data ist sicherlich ein großes Schlagwort der IT geworden. In der Versicherungsbranche ist Big Data ein großes und sehr aktuelles Thema. Auch die Helsana spricht von Big Data und versteht darunter große und verteilte Mengen an strukturierten und unstrukturierten Daten.

Zum gegenwärtigen Zeitpunkt sind die wichtigsten und größten Datenbestände der Helsana in strukturierter Form vorliegend. Strukturierte Geschäftsdaten sind für uns der wichtigste Anteil vom Big Data Kuchen. Oftmals gehen in der Diskussion von Big Data die strukturierten Daten unter, obwohl auch diese eine enorme Menge und Vielfalt darstellen und somit zur Herausforderung werden können – ganz egal, was aktuelle Technologieanbieter hier versprechen mögen.

In der nahen Zukunft werden auch Social Media Daten wichtig, beispielsweise um die Kundenzufriedenheit besser zu erfassen. Erste Ansätze verfolgen wir zwar schon, dennoch muss ehrlicherweise gesagt werden, dass die Projekte noch in den Kinderschuhen stecken.

Data Science Blog: Welche Rolle spielt Data Science in der Versicherungsbranche?

Schattner: Data Science spielt eine große Rolle, auch wenn wir in unserer Versicherung das Wort Data Science nicht aktiv verwenden, denn auch unsere Analysen von unstrukturierten Daten und mit statistischen Modellen laufen bei uns unter dem Begriff Business Intelligence.
Daten sind der einzige „Rohstoff“, den Versicherungen haben und da wir uns mit den Themen Gesundheit und Unfällen beschäftigen, spielen wir auch für die Forschung eine wichtige Rolle. Einige Kennzahlen sind teilweise von öffentlichem Interesse, wie etwa der Krankenstand, und bei der Ermittlung gibt es aus Sicht der Datenerhebung und statistischen Auswertung sehr viele Aspekte zu berücksichtigen.

Data Science Blog: Arbeiten Data Scientist eher in eigenen abgekapselten Abteilungen oder in der IT-Abteilung oder in den Fachbereichen?

Schattner: Wir haben keine zentrale Data Science Abteilung, sondern trennen zwei Bereiche:

Das Data Warehouse ist in der IT angesiedelt und hat die Aufgabe, alle erfassten und erfassbaren Daten zu sammeln und den Fachbereichen zur Verfügung zu stellen. In der Regel werden vom Data Warehouse strukturierte Daten bereit gestellt, vermehrt werden jedoch auch unstrukturierte Daten, beispielsweise aus eingescannten Dokumenten, von den Fachbereichen angefordert.

Die gezielten Analysen finden dann weitgehend unabhängig voneinander in den einzelnen Fachbereichen statt, wobei einige Fachbereiche natürlich eigene Analyse-Teams aufgebaut haben.

Data Science Blog: Welche Tools werden für die Datenauswertung bei der Helsana überwiegend eingesetzt?

Schattner: Wir arbeiten überwiegend mit den Business Intelligence Lösungen IBM Cognos Suite, QilikTech QlikView und für statistische Analysen setzen wir vor allem auf SAS Analytics und zunehmend auch auf die Open Source Statistiksprache R ein.

Data Science Blog: Welche technischen Herausforderungen haben Sie ganz besonders im Blick in Sachen Big Data Analytics? Und auf welche Strategien zur Bewältigung setzen Sie?

Schattner: Es gibt nicht einige wenige besonders große Herausforderungen, sondern sehr viele kleinere über den gesamten Workflow hinweg. Big Data Analytics beginnt mit der Datenerhebung und ETL-Prozessen, umfasst weiter die Datenaufbereitung, statistische und visuelle Analyse und geht noch weiter bis hin zum Reporting mit Handlungsempfehlungen.

Zurzeit arbeiten wir sehr daran, den Umfang an Datenbeständen zu erweitern, Daten zu konsolidieren und die Datenqualität zu verbessern, denn die besten Analyseverfahren nützen wenig, wenn die Datenquellen nicht gut sind. Basierend auf den Datenquellen entwickeln wir für uns wichtige Informationsprodukte, mit denen wir unsere Leistungs- und Servicequalität erhöhen können, daher lohnt sich jede Investition in das Data Warehouse.

Wir verfolgen derzeit zwei Strategien parallel:

Auf dem Fast-Track stellen wir unternehmenskritische und für die dringende Einführung wichtige Informationen schnell zur Verfügung stellen. Dies läuft über einen agilen Ansatz, so dass wir hier schnell reagieren können und flexibel bleiben.

Dann verfolgen wir parallel dazu einen langfristigen Weg, gesicherte Datenflüsse nachhaltig aufzubauen, die viel besser administrierbar und erweiterbar sind.

Data Science Blog: Gerade in der Versicherungsbranche ist sicherlich der Datenschutz ein besonders wichtiges Thema, was können Sie dazu sagen?

Schattner: Die Informationen aus dem Data Warehouse unterliegen vielen Schutzauflagen, da unser Geschäft reich an Personen- und Diagnosedaten ist. Datenschutz und auch Datensicherheit haben höchste Priorität. Wir haben dabei auch Schutzmaßnahmen eingeführt, dass sich Mitarbeiter aus den Systemen heraus nicht über Diagnosen anderer Mitarbeiter informieren können.

Data Science Blog: Was für Analysen betreiben die Fachbereiche beispielsweise? Werden auch bereits unstrukturierte Daten systematisch analysiert?

Schattner: Wir unterstützen mit unseren statistischen Analysen die Forschung. Ein Beispiel aus der Gesundheitsökonomie ist die Ritalin-Forschung. Ritalin ist ein Medikament, das gegen die Aufmerksamkeitsstörung ADHS eingesetzt wird und die Konzentration betroffener Patienten steigert. Wir können basierend auf unseren Daten streng anonymisierte Analysen betreiben,  ob in bestimmten Regionen mit ansonsten vergleichbaren Gesundheitsstrukturen unterschiedliche Häufigkeiten und Dosen auftreten. Finden wir sogenannte Hotspots, können kausale Zusammenhänge gesucht werden. Ursachen könnten beispielsweise Hypes unter lokalen Ärztegruppen sein oder schwierige soziale Verhältnisse unter Familienverbänden.

Ferner vergleichen wir Leistungserbringer und analysieren unterschiedliche Kostenverhältnisse unter Ärztestrukturen und Krankenhäusern.

Auch unstrukturierte Daten fließen in Form von Texten in manche unserer Analysen ein. Alle Dokumente zu Schadensfällen werden von unserer hausinternen Post eingescannt. Die Textinformationen aus den Schadensmeldungen speist unser Data Warehouse in BLOBs relationaler Datenbanken, auf die dann wieder der Fachbereich parsend zugreift.

Darüber hinaus stehen für uns Daten über unsere Leistungen und die Kundenzufriedenheit im Vordergrund, denn dadurch können wir uns als Unternehmen kontinuierlich verbessern.

Data Science Blog: Data Scientist gilt als Sexiest Job of the 21st Century. Welchen Rat würden Sie jungen Leuten geben, die Data Scientist bzw. Business Analyst werden möchten? Welche Kenntnisse setzen Sie voraus?

Schattner: Stellen wir uns einen Schieberegler vor, den wir nur in die eine oder andere verschieben könnten, sich dabei ganz links das Wissen über das Business stehen würde und ganz rechts sich das IT-Wissen befindet. Ich würde den Regler auf 80% auf die Business-Seite schieben. Es sollte natürlich auch  Wissen über SQL, ETL und Programmierung vorhanden sein, aber alleinige IT- bzw. Tool-Experten helfen uns leider wenig. In der Versicherungsbranche ist vor allem ein Wissen über das Geschäft von Bedeutung. Heutzutage ermöglichen interaktive Tools recht einfach die Erstellung von Datenbankabfragen sowie eine multidimensionale und visuelle Datenanalyse.

Das verdeutlichen auch die zwei Architekturen: Zum einen haben wir die Datenarchitektur, die die Datenflüsse von den Datenquellen ausgehend beschreibt, und zum anderen haben wir eine Informationsarchitektur, die die Daten über Geschäftslogiken in Business Objects fasst, so werden aus Daten Informationen.

Folgende Metapher verwende ich hierzu auch gerne in meinen Vorträgen: Ein Tischler beherrscht sein Handwerk Möbel zu bauen, ein CNC-Fräser fertigt Maschinenwerkzeug.

Der Tischler merkt schnell, dass er mit einer elektrischen Säge schneller und genauer vorankommt, als mit einer Handsäge. Der Drehmaschinenarbeiter verfügt zwar über perfekt arbeitende und computergesteuerte Gerätschaften, ist jedoch nicht in der Lage,  gute Holzmöbel zu bauen, weil er es niemals gelernt hat.

Genauso muss der Business Experte zwar erstmal lernen, bestimmte Tools zu bedienen, aber dafür hat er stets ein genaues Ziel im Kopf, was er damit erreichen will. Die Bedienbarkeit der Tools am Markt lässt sich heute leichter erlernen als früher.

Gute Data Scientists schauen, welche Nutzen aus Daten erzeugt werden könnten und welche Daten zur Verfügung stehen oder erfasst werden können, um bestimmte Resultate erzielen zu können.

Branchenwissen allein reicht jedoch auch nicht unbedingt aus, beispielsweise ist es beim Customer Analytics wichtig, branchenspezifische Vertriebsstrategien im Kopf zu haben und auch aus der Praxis zu kennen, denn nur so lassen sich die Informationen in praxisnahe Strategien umwandeln.

Data Science Blog: Wird die Nachfrage nach Data Science weiter steigen oder ist der Trend bald vorbei?

Schattner: Ich denke, dass dieser Hype noch nicht ganz erreicht ist. Irgendwann wird er aber erreicht sein und dann schlägt die Realität zu. Beispielsweise wird gerade viel über Predictive Analytics gesprochen, dabei betreiben einige Fachbereiche bereits seit mindestens einem Jahrhundert Vorhersagen. Im Controlling, aus dem ich komme, waren bereits recht komplexe Prognosen in Excel üblich, nur hätten wir das nicht Predictive Analytics oder Data Science genannt. Natürlich werden die Prognosen nun dank leistungsfähigerer Technologien immer besser und genauer, nur ist es nichts substanziell Neues. Der Trend verstärkt aber die Bemühungen im Bereich Business Intelligence und lockert auch Budgets für neue Analyseverfahren.


 

Die Redaktion sucht Interview-Partner aus Wirtschaft und Wissenschaft!

Sie sind Professor einer Hochschule, CEO, CIO oder Chief Data Scientist? Dann laden wir Sie herzlichst dazu ein, mit uns in Kontakt zu treten. Als erster deutscher Data Science Blog möchten wir die Bedeutung von Big Data und Data Science für die mitteleuropäische Wirtschaft an die Gesellschaft herantragen. Wenn Sie etwas zum Thema zu sagen haben, dann schreiben Sie uns eine Mail an redaktion@data-science-blog.com.

Kontrolle und Steuerung von Spark Applikationen über REST

Apache Spark erfreut sich zunehmender Beliebtheit in der Data Science Szene da es in Geschwindigkeit und Funktionalität eine immense Verbesserung bzw. Erweiterung des reinen Hadoop MapReduce Programmiermodells ist. Jedoch bleibt Spark ebenso wie Hadoop eine Technologie für Experten. Es erfordert zumindest Kenntnisse von Unix-Skripten und muss über die Command-Line gesteuert werden. Die vorhandenen Weboberflächen bieten nur sehr rudimentäre Einblicke in den Status von Spark Applikationen:

spark basic ui

Der Spark JobServer ist ein Open-Source Projekt, das eine REST-Schnittstelle (Representational State Transfer) für Spark anbietet. (In diesem YouTube Video wird anschaulich erläutert, was ein REST API ist und wozu es verwendet werden kann.) Vereinfacht gesagt, ermöglicht es der JobServer, Spark über diese REST-Schnittstelle als Webservice zu nutzen. Es ist möglich, über den JobServer Spark Kontexte und Applikationen (Jobs) zu managen und Kontexte über verschiedene Aufrufe der REST-Schnittstelle hinweg wiederzuverwenden. Jar Files mit Job Implementierungen können vorab über die gleiche Schnittstelle installiert werden, so dass es z.B. möglich ist, auch sehr feingranulare Jobs über die Schnittstelle zu steuern (vollständige Liste der Features).

Der Spark JobServer ist bereits bei verschiedenen Organisationen (u.a. Netflix, Zed Worldwide, KNIME, Azavea und Maana) im Einsatz. Diese Nutzer des JobServers verwenden ihn meist versteckt „unter der Haube“, um so ihre jeweiligen Werkzeuge Big-Data tauglich zu machen. So nutzt KNIME ab dem nächsten Release (Oktober 2015) den JobServer. Anwendern können dann Spark Jobs über eine grafische Oberfläche bequem von ihrem lokalen Rechner aus starten, monitoren und stoppen. In der folgenden Abbildung sehen Sie, wie Trainingsdaten auf den Server hochgeladen werden, um daraus verschiedene Machine Learning Modelle zu erstellen. Diese Modelle können dann auf Testdaten angewandt werden, die z.B. aus einer HIVE-Tabelle nach Spark importiert werden:

spark knime hive jobs

Jeder der dargestellten Knoten mit der Überschrift „Spark ***“, wie z.B. „Spark Decision Tree“, ist ein Spark Job im Sinne des JobServers. Weitere Beispiele für Spark Jobs sind verschiedene Vorverarbeitungsaufgaben wie das Sampling einer Tabelle oder ein Join über mehrere Tabellen.

Spark kann über den JobServer im Standalone-, Mesos- oder im Yarn-Client-Modus angesteuert werden. Eine sehr hilfreiche Erweiterung der eigentlichen Spark-Funktionalität bietet der JobServer über die sogenannten „Named RDDs“ an. Ein Resilient Distributed Dataset (RDD) ist im Prinzip ein Datensatz bzw. eine Tabelle in Spark. „Named RDDs“ erlauben die Weiterverwendung von RDDs über einzelne Jobs hinweg. So kann man Jobs modularer aufbauen und leichter Zwischenergebnisse inspizieren.

Ich kann aus eigener Erfahrung sagen, dass der JobServer die geeignete Middleware zwischen einer benutzerfreundlichen Oberfläche und Spark ist. Die Open-Source Community ist hier sehr aktiv und der JobServer lässt sich bei Bedarf gut erweitern.