Geschriebene Artikel über Big Data Analytics

Entropie – Und andere Maße für Unreinheit in Daten

Dieser Artikel ist Teil 1 von 4 der Artikelserie Maschinelles Lernen mit Entscheidungsbaumverfahren.

Hierarchische Klassifikationsmodelle, zu denen das Entscheidungsbaumverfahren (Decision Tree) zählt, zerlegen eine Datenmenge iterativ oder rekursiv mit dem Ziel, die Zielwerte (Klassen) im Rahmen des Lernens (Trainingsphase des überwachten Lernens) möglichst gut zu bereiningen, also eindeutige Klassenzuordnungen für bestimmte Eigenschaften in den Features zu erhalten. Die Zerlegung der Daten erfolgt über einen Informationsgewinn, der für die Klassifikation mit einem Maß der Unreinheit berechnet wird (im nächsten Artikel der Serie werden wir die Entropie berechnen!) Read more

What makes a good Data Scientist? Answered by leading Data Officers!

What makes a good Data Scientist? A question I got asked recently a lot by data science newbies as well as long-established CIOs and my answer ist probably not what you think:
In my opinion is a good Data Scientist somebody with, at least, a good knowledge of computer programming, statistics and the ability of understanding the customer´s business. Above all stands a strong interest in finding value in distributed data sources.

Debatable? Maybe. That’s why I forwarded this question to five other leading Data Scientists and Chief Data Officers in Germany, let’s have a look on their answers to this question and create your own idea of what a good Data Scientist might be:


Dr. Andreas Braun – Head of Global Data & Analytics @ Allianz SE

A data scientist connects thorough analytical and methodological understanding  with a technical hands-on/ engineering mentality.
Data scientists bridge between analytics, tech, and business. “New methods”, such as machine learning, AI, deep learning etc. are crucial and are continuously challenged and improved. (14 February 2017)


Dr. Helmut Linde – Head of Data Science @ SAP SE

The ideal data scientist is a thought leader who creates value from analytics, starting from a vision for improved business processes and an algorithmic concept, down to the technical realization in productive software. (09 February 2017)


Klaas Bollhoefer – Chief Data Scientist @ The unbelievable Machine Company

For me a data scientist thinks ahead, thinks about and thinks in-between. He/she is a motivated, open-minded, enthusiastic and unconventional problem solver and tinkerer. Being a team player and a lone wolf are two sides of the same coin and he/she definitely hates unicorns and nerd shirts. (27 March 2017)

 


Wolfgang Hauner – Chief Data Officer @ Munich Re

A data scientist is, from their very nature, interested in data and its underlying relationship and has the cognitive, methodical and technical skills to find these relationships, even in unstructured data. The essential prerequisites to achieve this are curiosity, a logical mind-set and a passion for learning, as well as an affinity for team interaction in the work place. (08 February 2017)

 


Dr. Florian Neukart – Principal Data Scientist @ Volkswagen Group of America

In my opinion, the most important trait seems to be driven by an irresistible urge to understand fundamental relations and things, whereby I summarize both an atom and a complex machine among “things”. People with this trait are usually persistent, can solve a new problem even with little practical experience, and strive for the necessary training or appropriate quantitative knowledge autodidactically. (08 February 2017)

Background idea:
That I am writing about atoms and complex machines has to do with the fact that I have been able to analyze the most varied data through my second job at the university, and that I am given a chance to making significant contributions to both machine learning and physics, is primarily rooted in curiosity. Mathematics, physics, neuroscience, computer science, etc. are the fundamentals that someone will acquire if she wants to understand. In the beginning, there is only curiosity… I hope this is not too out of the way, but I’ve done a lot of job interviews and worked with lots of smart people, and it has turned out that quantitative knowledge alone is not enough. If someone is not burning for understanding, she may be able to program a Convolutional Network from the ground but will not come up with new ideas.

 


Consider Anonymization – Process Mining Rule 3 of 4

This is article no. 3 of the four-part article series Privacy, Security and Ethics in Process Mining.

Read this article in German:
Datenschutz, Sicherheit und Ethik beim Process Mining – Regel 3 von 4

If you have sensitive information in your data set, instead of removing it you can also consider the use of anonymization. When you anonymize a set of values, then the actual values (for example, the employee names “Mary Jones”, “Fred Smith”, etc.) will be replaced by another value (for example, “Resource 1”, “Resource 2”, etc.).

If the same original value appears multiple times in the data set, then it will be replaced with the same replacement value (“Mary Jones” will always be replaced by “Resource 1”). This way, anonymization allows you to obfuscate the original data but it preserves the patterns in the data set for your analysis. For example, you will still be able to analyze the workload distribution across all employees without seeing the actual names.

Some process mining tools (Disco and ProM) include anonymization functionality. This means that you can import your data into the process mining tool and select which data fields should be anonymized. For example, you can choose to anonymize just the Case IDs, the resource name, attribute values, or the timestamps. Then you export the anonymized data set and you can distribute it among your team for further analysis.

Do:

  • Determine which data fields are sensitive and need to be anonymized (see also the list of common process mining attributes and how they are impacted if anonymized).
  • Keep in mind that despite the anonymization certain information may still be identifiable. For example, there may be just one patient having a very rare disease, or the birthday information of your customer combined with their place of birth may narrow down the set of possible people so much that the data is not anonymous anymore.

Don’t:

  • Anonymize the data before you have cleaned your data, because after the anonymization the data cleaning may not be possible anymore. For example, imagine that slightly different customer category names are used in different regions but they actually mean the same. You would like to merge these different names in a data cleaning step. However, after you have anonymized the names as “Category 1”, “Category 2”, etc. the data cleaning cannot be done anymore.
  • Anonymize fields that do not need to be anonymized. While anonymization can help to preserve patterns in your data, you can easily lose relevant information. For example, if you anonymize the Case ID in your incident management process, then you cannot look up the ticket number of the incident in the service desk system anymore. By establishing a collaborative culture around your process mining initiative (see guideline No. 4) and by working in a responsible, goal-oriented way, you can often work openly with the original data that you have within your team.

Interview mit Prof. Dr. Kai Uwe Barthel über Data Science mit Deep Learning

Interview mit Prof. Dr. Barthel, Chief Visionary Officer der Pixolution GmbH in Berlin, über Funktion, Einsatz und Einstieg in künstliche neuronale Netze.

Prof. Kai Barthel ist Gründer und CVO der Pixolution GmbH, ein Unternehmen, das Deep Learning dazu einsetzt, Bilder über ihre Pixelinhalte automatisiert verstehen zu können. Darüber hinaus ist Prof. Barthel in der Forschung und Lehre für Medieninformatik und Visual Computing an der Hochschule für Technik und Wirtschaft in Berlin tätig.

Data Science Blog: Welcher Weg hat Sie zu einem führenden Experten für Deep Learning und zur Gründung der Pixolution GmbH geführt?

Im Prinzip bin ich über mein Interesse an elektronischen Musikinstrumenten auf den Weg zur Analyse von Bits und Bytes gekommen. Als Schüler war ich von den neuen Möglichkeiten der Klangerzeugung fasziniert. 1980, zwei Jahre vor meinem Abitur, baute ich einen eigenen Synthesizer, ohne wirklich zu verstehen, was ich dort eigentlich tat.

Daraufhin studierte ich Elektrotechnik mit Fokus auf Signalverarbeitung, blieb nach dem Diplom diesem Themenbereich treu und arbeitete als wissenschaftlicher Mitarbeiter an der TU Berlin, wo ich zum Thema Bildkompression promovierte.

In diesem Kontext bin ich auf MPEG-7 gestoßen und fand das Konzept sehr spannend.  MPEG-7 war im Gegensatz zu MPEG-1, 2 und 4 kein Kompressionsstandard für Video- oder Audiodaten, sondern die Idee bestand darin, Metadaten von Mediendateien zu erzeugen. Ich befasste mich mit der automatisierten Beschreibung von Bildern, ohne manuelle Verschlagwortung, allein auf Basis der Pixelwerte. Spätestens das war für mich der erste Schritt in Richtung maschinelles Lernen.

Unser erster Erfolg war das Programm ImageSorter, das wir im Jahr 2006 als Freeware veröffentlichten. Hiermit konnte man hunderte von Bildern visuell sortiert darstellen und somit gesuchte Bilder schneller finden. Wir bekamen rasch unerwartete Anfragen aus der Industrie, wie etwa von CEWE mit der Aufgabe, Bilder für Fotobücher automatisch zu sortieren. Aus diesem Bedarf heraus haben wir dann die Pixolution GmbH gegründet. Auch Mauritius Images, eine der ältesten Bildagenturen Deutschlands, hatte unseren Algorithmus eingesetzt, mit dem die Ergebnisse einer Bildsuche inhaltsbasiert sortiert präsentiert wurden und somit die Nutzer in die Lage versetzten, mehrere hundert Bilder gleichzeitig zu erfassen.

Data Science Blog: Im Gegensatz zu anderen Anbietern künstlicher Intelligenz, befassen Sie sich nicht nur mit der einfachen Klassifikation von Bildern, sondern Sie verwenden Deep Learning, um dem Computer ein generelles Verständnis von Bildern zu verleihen.

Deep Learning ist ein Mittel zum Zweck, womit sich viele Aufgaben lösen lassen. Heute analysieren wir Bilder automatisiert über künstliche neuronale Netze, da diese in den letzten Jahren enorm an Reife hinzugewonnen haben. Hiermit lassen sich neben der Klassifikation „was ist der Inhalt eines Bildes?“ eine Reihe weiterer Aufgaben lösen. Hierzu gehört neben der automatischen Verschlagwortung unbekannter Bilder, das Finden ähnlicher Bilder, die Detektion von Duplikaten im Datenbestand, aber auch die Beantwortung sehr spezifischer Fragestellungen, wie etwa nach der Qualität, der Stimmung oder dem Stil eines Bildes. Einige Beispiele sind auf unserer Webseite http://www.visual-computing.com  zu finden. Natürlich lässt sich Deep-Learning auch auf andere Datentypen anwenden. Das kennen wir alle von Sprachassistenten wie Siri oder Email-Spamfiltern etc.

Unser Hauptprodukt bei Pixolution ist ein Plugin für Solr, womit wir ein klassisches Dokumentensuchsystem in die Lage versetzen, auch Bilder (z.B. von Agentur- oder Produktdatenbanken) gleichzeitig nach konventionellen Metadaten und visuellen/inhaltlichen Kriterien durchsuchbar zu machen. Dafür müssen die Bilder von der Maschine „verstanden“ werden.

Data Science Blog: Was bedeutet Deep Learning denn eigentlich im Kontrast zu Machine Learning? Wo beginnt Deep Learning und – als obligatorische Frage – ist Deep Learning ein überzogenes Buzzword?

Machine Learning ist im Prinzip der Oberbegriff aller Verfahren, bei denen Computer zu einer bestimmten Fragestellung selber den Algorithmus zur Lösung generieren können. Heute wird der Begriff „Machine Learning“ sicherlich etwas verschwenderisch verwendet. Zum Teil werden oft schon einfachere Verfahren wie beispielsweise Decision Trees oder K-means-Clustering als Machine Learning „verkauft“. Das eigentliche Machine Learning verwendet unterschiedliche Arten künstlicher neuronaler Netze. Einfache Aufgaben lassen sich mit kleinen neuronalen Netzen mit zwei bis vier Schichten lösen, dies reicht beispielsweise für die Erkennung von handschriftlichen Ziffern.

Deep Learning verwendet neuronale Netze mit deutlich mehr Schichten (bis hin zu Hunderten). Erst mit diesen vielen Schichten, die insgesamt Tausende bis Millionen von Netzwerkgewichten (zu lernende Parameter) haben, werden Lösungen für wirklich komplexe Aufgaben möglich.

Deep Learning ist ein Unterbereich von Machine Learning. Für mich ist Deep Learning kein Buzzword, denn die Lösungsmöglichkeiten von komplexen Aufgaben sind tiefgreifend. Es hat sich in den letzten Jahren einiges getan, so dass wirklich hochkomplizierte Aufgaben lösbar geworden sind.

Data Science Blog: Deep Learning gilt allerdings auch als Blackbox. Für den Menschen nachvollziehbare Entscheidungen von der Maschine sind somit nicht mehr möglich. Wie nachteilig wirkt sich das auf den Einsatz aus?

Die einzelnen Bestandteile eines künstlichen neuronalen Netzes sind recht simpel. Aus diesen elementaren Teilen werden neue Lösungsmodelle zusammengesetzt. Die Summe dieser Bestandteile und deren Interaktion wird jedoch schnell sehr hoch, so dass die Netze tatsächlich nicht mehr detailliert nachvollziehbar sind. Es stimmt also, dass künstliche neuronale Netze ab einer gewissen Größe zur Blackbox werden. Und es gibt auch Beispiele, mit denen solche Netze in die Irre geführt werden können. Nichtsdestotrotz liefern diese Netze die besten Ergebnisse, so dass dieser Nachteil in Kauf genommen wird – denn was wären die Alternativen?  Gerade im Bereich der Analyse und der Visualisierung der Funktionsweise von neuronalen Netzen gibt es viele Forschungsansätze, die das Verständnis mittelfristig deutlich verbessern werden. In vielen Bereichen sind die Klassifikationsergebnisse, die mit ausreichend vielen Beispielen trainiert wurden, besser als menschliche Experten. Hinzu kommt, dass menschliche Experten oft auch nicht genau begründen können, warum Sie zu einer bestimmten Eischätzung kommen, letztlich gleichen sie eine konkrete Fragestellung mit ihren umfangreichen Erfahrungen ab, was eine recht ähnliche Herangehensweise ist.

Data Science Blog: Welche Anwendungsszenarien für künstliche neuronale Netze gibt es?

Eine häufig verwendete Definition dessen, was Deep Learning an Aufgaben bewältigen kann, lautet: Es sind die Aufgaben, die ein Mensch in einer Sekunde lösen kann, ohne darüber nachdenken zu müssen. Wir können ein Netz darauf trainieren und es auf eine Aufgabe sozusagen „abrichten“. Im Unternehmen können künstliche neuronale Netze z. B. auffällige Verhaltensweisen von Maschinen identifizieren. Für mich geht es im Wesentlichen darum, der Maschine beizubringen, Bilder zu verstehen.

Das Verständnis von akustischen Signalen und Bildern ist schon lange ein Ziel der Informatik, es wird jedoch erst seit kurzem in zufriedenstellendem Ausmaß erreicht. Mit künstlichen neuronalen Netzen können Bilder vom Computer analysiert und Aussagen über ihre Inhalte gemacht werden. In den ersten Terminator-Filmen mit Arnold Schwarzenegger war es noch Science Fiction, dass die Welt aus Kamerabildern heraus analysiert und verstanden wurde. Inzwischen ist dies möglich. Was sicherlich noch eine Weile dauern wird, sind die Lösungen von Aufgaben, die eine zeitliche Planung oder ein strategisches Vorgehen benötigen.

Data Science Blog: Für welche Anwendungen in der Industrie ist Deep Learning schon gegenwärtig nutzbar?

Als Beispiel sei hier die industrielle Bildverarbeitung genannt. Bis vor kurzem war dies eine Sequenz von fein abgestimmten Schritten, wobei mit genau vordefinierten Bedingungen, wie etwa dem Bildhintergrund und einer bestimmten Beleuchtung, gearbeitet wurde. Dann wurde von einem Bildverarbeitungsexperten eine Kaskade von speziellen Bildverarbeitungsalgorithmen aufgesetzt, die das spezifische Problem lösten. Dies Prinzip hat meist sehr gut funktioniert, aber diese Ansätze ließen sich nicht gut generalisieren und mussten für jedes neue Problem wieder neu angepasst werden.

Beim Deep Learning ist die Situation eine ganz andere. Hier geht es darum, genügend Beispiele an Bildern und den dazugehörigen Ergebnissen zu haben. Das System lernt dann alleine, wie aus den Bildern bzw. Pixeln mit welchen Operationen die gewünschten Ergebnisse vorhergesagt werden können.

Für jeden, dem das noch zu abstrakt ist: Auch sehr spezifische Aufgaben aus der Industrie können mit neuronalen Netzen bewältigt werden. In der Fertigung und Montage können z.B. Nachfüllbehälter für Schrauben mit Kameras ausgestattet werden. Die Algorithmen erkennen dann über die Kamerabilder nicht nur zuverlässig, ob sich noch genügend viele Schrauben im Behälter befinden, sondern z. B. auch, um welche Schrauben es sich genau handelt.

Letztendlich spielt Deep Learning gerade in vielen Industrieanwendungen eine Rolle, so auch in der Spracherkennung oder dem Konzept des autonomen Fahrens. Das Hauptproblem beim Deep Learning ist nicht so sehr die Frage nach dem optimalen Netzwerk, sondern es besteht eher darin, genügend gute Beispiele zu haben, anhand derer die Netzwerke dann trainiert werden können.

Data Science Blog: Welche Entwicklungen der vergangenen Jahre ermöglichten die enormen Erfolge in Sachen Deep Learning?

Deep Learning wird in der Regel nicht mit CPUs, der zentralen Recheneinheit eines Computers, durchgeführt, sondern über GPUs, also speziell für Grafikberechnung ausgelegte Prozessoren – übrigens auch dann, wenn keine Bilder sondern andere Daten analysiert werden sollen. GPUs sind spezialisiert auf die Berechnung von Fließkommazahlen und können Matrizenmultiplikationen parallelisieren und somit etliche Male schneller als die CPU durchführen. Die heutige Hardware ermöglicht die notwendige Rechenleistung für künstliche neuronale Netze bereitzustellen.

Zum anderen benötigen Deep Learning Algorithmen sehr große Mengen an Trainingsdaten. Um ein neuronales Netz auf Bilder zu trainieren, um beispielsweise Katzen von Hunden zu unterscheiden, braucht es tausende Bilder mit Katzen und Hunden aus unterschiedlichen Perspektiven, Farben und Formen. Wir profitieren davon, dass sich diverse Menschen die Mühe gemacht haben, Millionen von Beispielbildern exakt zu beschriften und der Wissenschaft für das Training zur Verfügung zu stellen.

Data Science Blog: Was hat sich denn seitens der Algorithmen getan? Es heißt, dass die Backpropagation als Lernmethodik der große Clou bei neuronalen Netzen sei?

Backpropagation ist ein Lernverfahren für neuronale Netze, mit dem sich Aufgaben lösen lassen, bei denen die, zu den Eingangsdaten gehörigen/gewünschten Ergebnisse bekannt sind (supervised learning). Nach jedem Durchlauf der Daten durch das Netzwerk (Forward-Pass) gibt es einen Fehler im Endergebnis. Das Backpropagation-Verfahren arbeitet auf Basis der Gradientenabstiegsmethode und passt sukzessive die Netzwerkgewichte so an, dass der Fehler kleiner wird.

Eigentlich ist das Backpropagation-Verfahren ist schon recht lange bekannt. Neben der Beschleunigung der Computer und der Verfügbarkeit geeigneter Trainingsdaten, gab es jedoch erst in den letzten Jahren die notwendigen algorithmischen Fortschritte, mit denen es möglich wurde, auch extrem großen Netzwerke erfolgreich zu trainieren. Hier sind die Convolutional Netzwerke zu nennen, die insbesondere das Verstehen von Bildern (aber auch andere hochkomplexe Problemstellungen) erst möglich machten. Convolutional Netzwerke verwenden nicht für jeden Pixel ein individuelles Gewicht. Vielmehr wird ein Satz von zu erlernenden Filtern mit verhältnismäßig wenig Parametern/Gewichten verwendet. Jede Filterung erzeugt ein neues Bild, Pooling-Verfahren reduzieren die Auflösung dieser neu erzeugten Bilder, indem nur besonders aktive Neuronen beibehalten werden. Durch diese beiden Maßnahmen lässt sich die Zahl der Netzwerkgewichte gegenüber vollvernetzten Netzwerken deutlich reduzieren und ein erfolgreiches Netzwerktraining auch mit begrenzten Mengen an Beispieldaten erzielen.

Data Science Blog: Wie kann man sich denn vorstellen, wie so ein künstliches neuronales Netz funktioniert?

Die Grundidee ist an die biologischen Arbeitsweise im Gehirn angelehnt. Schichten von Neuronen erkennen bestimmte Muster. Auf den ersten Schichten sind dies zunächst einfache Strukturen wie Ecken, Kanten oder Farbübergänge. Die Neuronen führen also eine Funktion/Filterung aus, die jeden Eingabewert mit einer bestimmten Gewichtung multipliziert und diese Teilergebnisse aufsummiert. Eine nicht-lineare Funktion erzeugt hieraus einen Aktivierungswert, den Output, der angibt, ob ein entsprechendes Muster vorliegt. Dieser Output ist dann wiederum der Input für die nächste Netzwerkschicht ist. In den nächsten Schichten werden die einfachen Strukturen dann zu komplizierteren Mustern zusammengesetzt. Viele Linien aus unterschiedlichen Teilmustern ergeben beispielsweise Gitter, zwei senkrechte Linien ein Kreuz, usw. Letztlich lernen die Netzwerke aus allen möglichen Konstellationen der Eingangsdaten diejenigen Kombinationen, die in realen Daten/Bildern auftreten. Auf den letzten Schichten werden dann komplexere Muster erkannt, etwa mehrere Kreise und Konturlinien, die in einer bestimmten Anordnung beispielsweise ein menschliches Gesicht darstellen. Soll das künstliche neuronale Netz dieses Muster erkennen können, rechnen wir über die Backpropagation die Gewichtungen aus, die anhand der Beispielbilder – manche zeigen ein menschliches Gesicht, andere nicht – den kleinstmöglichen Klassifizierungsfehler erzeugen. Es wird beim Trainieren eines neuronalen Netzes also eine Funktion ermittelt, die den Input (die Bilddaten) auf den entsprechend Output (die korrekte Kategorie des Bildes) abbildet.

Data Science Blog: Was würden Sie Data Scientists raten, die in Deep Learning einsteigen möchten? Wie bewältigt man den Einstieg?

Ich würde nicht direkt ins Deep Learning einsteigen, sondern sicher erstmal versuchen, mich mit allgemeinen Methoden des maschinellen Lernens vertraut zu machen. Hierzu gehören Techniken wie das Clustering oder lineare/logistische Regression. Ich denke, dass jeder, der in diesen Bereich einsteigen will, wirklich einmal selber ein einfachstes Netzwerk (z.B. XOR und darüber hinaus) per Hand programmiert haben sollte. Hierfür können Tools wie MATLAB oder Octave verwendet werden. Erst im Anschluss, wenn man grundlegenden Kenntnisse erlangt hat, können Frameworks wie z.B. TensorFlow verwendet werden, was den Vorteil hat, dass einem die Bestimmung der mathematischen Ableitungen der Netzwerkstrukturen abgenommen wird. Dann lassen sich auch bestehende Lösungen besser nachvollziehen bzw. anpassen, um das Rad für den produktiven Lauf nicht noch einmal neuerfinden zu müssen, sondern die gewünschten Implementierungen ohne Umwege direkt angehen zu können.

Der Blick für das Wesentliche: Die Merkmalsselektion

In vielen Wissensbasen werden Datensätze durch sehr große Merkmalsräume beschrieben. Während der Generierung einer Wissensbasis wird versucht jedes mögliche Merkmal zu erfassen, um einen Datensatz möglichst genau zu beschreiben. Dabei muss aber nicht jedes Merkmal einen nachhaltigen Wert für das Predictive Modelling darstellen. Ein Klassifikator arbeitet mit reduziertem Merkmalsraum nicht nur schneller, sondern in der Regel auch weitaus effizienter. Oftmals erweist sich ein automatischer Ansatz der Merkmalsselektion besser, als ein manueller, da durchaus Zusammenhänge existieren können, die wir selbst so nicht identifizieren können.

Die Theorie: Merkmalsselektion

Automatische Merkmalsselektionsverfahren unterscheiden 3 verschiedene Arten: Filter, Wrapper und Embedded Methods. Einen guten Überblick über Filter- und Wrapper-Verfahren bieten Kumari et al. in ihrer Arbeit “Filter versus wrapper feature subset selection in large dimensionality micro array: A review” (Download als PDF).

Der Filter-Ansatz bewertet die Merkmale unabhängig des Klassifikators. Dabei werden univariate und multivariate Methoden unterschieden. Univariate Methoden bewerten die Merkmale separat, während der multivariate Ansatz mehrere Merkmale kombiniert. Für jedes Merkmal bzw. jedes Merkmalspaar wird ein statistischer Wert berechnet, der die Eignung der Merkmale für die Klassifikation angibt. Mithilfe eines Schwellwertes werden dann geeignete Merkmale herausgefiltert. Der Filter-Ansatz bietet eine schnelle und, aufgrund der geringen Komplexität, leicht skalierbare Lösung für die Merkmalsselektion. Der Nachteil von Filter-Selektoren besteht in der Missachtung der Abhängigkeiten zwischen den Merkmalen. So werden redundante Merkmale ähnlich bewertet und verzerren später die Erfolgsrate des Klassifikators. Bekannte Beispiele für Filter-Selektoren sind unter anderem die Euklidische Distanz und der Chi-2-Test.

Der Wrapper-Ansatz verbindet die Merkmalsbewertung mit einem Klassifikator. Innerhalb des Merkmalsraumes werden verschiedene Teilmengen von Merkmalen generiert und mithilfe eines trainierten Klassifikators getestet. Um alle möglichen Teilmengen des Merkmalsraumes zu identifizieren, wird der Klassifikator mit einem Suchalgorithmus kombiniert. Da der Merkmalsraum mit Zunahme der Anzahl der Merkmale exponentiell steigt, werden heuristische Suchmethoden für die Suche nach optimalen Teilmengen genutzt. Im Gegensatz zu den Filtern können hier redundante Merkmale abgefangen werden. Die Nutzung eines Klassifikators zur Bewertung der Teilmengen ist zugleich Vor- und Nachteil. Da die generierte Teilmenge auf einen speziellen Klassifikator zugeschnitten wird, ist nicht gewährleistet, dass die Menge auch für andere Klassifikatoren optimal ist. Somit ist dieser Ansatz zumeist abhängig vom gewählten Klassifikator. Zudem benötigt der Wrapper-Ansatz eine viel höhere Rechenzeit. Wrapper-Selektoren werden beispielsweise durch Genetische Algorithmen und Sequentielle Forward/Backward-Selektoren vertreten.

Embedded-Ansätze stellen eine Sonderform der Wrapper-Methode da. Allerdings werden Merkmalssuche und Klassifikatoren-Training nicht getrennt. Die Suche der optimalen Teilmenge ist hier im Modelltraining eingebettet. Dadurch liefern Embedded-Ansätze die gleichen Vorteile wie die Wrapper-Methoden, während die Rechenzeit dabei erheblich gesenkt werden kann. Der reduzierte Merkmalsraum ist aber auch hier vom jeweiligen Klassifikator abhängig. Klassifikatoren, die den Embedded-Ansatz ermöglichen sind beispielsweise der Random-Forest oder die Support-Vector-Maschine.

Entwicklungsgrundlage

Analog zum letzten Tutorial wird hier Python(x,y) und die Datenbasis „Human Activity Recognition Using Smartphones“ genutzt. Die Datenbasis beruht auf erfassten Sensordaten eines Smartphones während speziellen menschlichen Aktivitäten: Laufen, Treppen hinaufsteigen, Treppen herabsteigen, Sitzen, Stehen und Liegen. Auf den Aufzeichnungen von Gyroskop und Accelerometer wurden mehrere Merkmale erhoben. Die Datenmenge, alle zugehörigen Daten und die Beschreibung der Daten sind frei verfügbar.

(https://archive.ics.uci.edu/ml/datasets/Human+Activity+Recognition+Using+Smartphones)

Alle Daten liegen im Textformat vor. Für ein effizienteres Arbeiten mit der Datenbasis wurden diese im Vorfeld in das csv-Dateiformat überführt.

Python-Bibliotheken

Alle für das Data Mining relevanten Bibliotheken sind in Python(x,y) bereits enthalten. Für die Umsetzung werden folgende Bibliotheken genutzt:

Die Bibliotheken NumPy und Pandas unterstützen die Arbeit mit verschiedenen Datenstrukturen und scikit-learn umfasst alle Funktionen des maschinellen Lernens.

Daten vorbereiten

Vor der Anwendung der einzelnen Verfahren werden die Daten vorbereitet. Das Data Frame wird eingelesen, die Klassen in numerische Labels überführt und das Datenfeld in Merkmale (X) und Klassenspalte (y) separiert. Weiterhin wird die informationslose Spalte subject entfernt.

1. Verfahren: RFECV

Der RFECV (Recursive Feature Elimination with Cross Validation) ist ein Vertreter des Wrapper-Ansatzes. In diesem Beispiel wird die Merkmalsselektion mit einem Support Vector Klassifikator kombiniert. Der RFECV berechnet ein Ranking über die einzelnen Merkmale. Dabei bestimmt der Selektor selbst die optimale Menge der Merkmale. Alle Merkmale mit Platz 1 im Ranking bilden den optimalen Merkmalsraum.

2. Verfahren: Random Forest-Klassifikator

Der Random-Forest-Klassifikator gehört zu den Modellen, die einen Embedded-Ansatz ermöglichen. Während des Klassifikatoren-Trainings wird jedem Merkmal ein Wert zugeordnet. Je höher der Wert, desto bedeutsamer das Merkmal. Allerdings ist hier eine manuelle Filterung notwendig, da anders als beim RFECV kein internes Optimum ermittelt wird. Mithilfe eines geeigneten Schwellwertes können die zu wählenden Merkmale bestimmt werden. In diesem Beispiel werden alle Merkmale selektiert, die eine Wichtung größer dem Mittelwert erhalten.

3. Verfahren: Select K Best

Das Select K Best-Verfahren gehört den Filter-Ansätzen an. Daher kommt hier anders als bei den anderen beiden Verfahren kein Klassifikator zum Einsatz. Auch in diesem Verfahren wird für jedes Merkmal ein Wert berechnet, der die Wichtigkeit des Merkmals beziffert. Für die Berechnung der Werte können verschiedene Methoden verwendet werden. In diesem Beispiel wird eine Varianzanalyse genutzt (Parameter f_classif). Auch hier wird mithilfe eines manuellen Schwellwertes der reduzierte Merkmalsraum bestimmt.

Ergebnisse

Für die Bewertung der einzelnen Selektionsverfahren werden die einzelnen Verfahren in den Data-Mining-Prozess (siehe vorheriges Tutorial: Einstieg in das maschinelle Lernen mit Python(x,y)) integriert. Die nachfolgende Tabelle veranschaulicht die Ergebnisse der Klassifikation der einzelnen Verfahren.

 

Selektionsverfahren

Anzahl der Merkmale

Erfolgsrate Klassifikation

Ohne

561

93,96%

RFECV

314

94,03%

Random Forest

118

90,43%

Select K Best

186

92,30%

 

Durch den RFECV konnte das Ergebnis der Klassifikation leicht verbessert werden. Die anderen Selektionsverfahren, die auch deutlich weniger Merkmale nutzen, verschlechtern das Ergebnis sogar. Dies liegt vor allem an der manuellen Regulierung des Schwellwertes.

Responsible Handling of Data – Process Mining Rule 2 of 4

This is article no. 2 of the four-part article series Privacy, Security and Ethics in Process Mining.

Read this article in German:
Datenschutz, Sicherheit und Ethik beim Process Mining – Regel 2 von 4

Like in any other data analysis technique, you must be careful with the data once you have obtained it. In many projects, nobody thinks about the data handling until it is brought up by the security department. Be that person who thinks about the appropriate level of protection and has a clear plan already prior to the collection of the data.

Do:

  • Have external parties sign a Non Disclosure Agreement (NDA) to ensure the confidentiality of the data. This holds, for example, for consultants you have hired to perform the process mining analysis for you, or for researchers who are participating in your project. Contact your legal department for this. They will have standard NDAs that you can use.
  • Make sure that the hard drive of your laptop, external hard drives, and USB sticks that you use to transfer the data and your analysis results are encrypted.

Don’t:

  • Give the data set to your co-workers before you have checked what is actually in the data. For example, it could be that the data set contains more information than you requested, or that it contains sensitive data that you did not think about. For example, the names of doctors and nurses might be mentioned in a free-text medical notes attribute. Make sure you remove or anonymize (see guideline No. 3) all sensitive data before you pass it on.
  • Upload your data to a cloud-based process mining tool without checking that your organization allows you to upload this kind of data. Instead, use a desktop-based process mining tool (like Disco [3] or ProM [4]) to analyze your data locally or get the cloud-based process mining vendor to set-up an on-premise version of their software within your organization. This is also true for cloud-based storage services like Dropbox: Don’t just store data or analysis results in the cloud even if it is convenient.

Five Illusions about Big Data you can’t help but believe in

Big Data is a smorgasbord of data. Even the marketing world has acknowledged the gravity of Big Data. But alas! Instead of having such a resplendent data power by our side, we are no closer to construct smart marketing decisions than before, when the concept was not well known.

So, something is definitely not right, right? Not all information derived from this industry is precise and to address this issue, I have highlighted five common misconceptions about Big Data. Know it, work on it and gain from it.

 

Misconception 1: Human touch surpasses automation

Entrepreneurs are the ones who pull their weight. The human effort they offer yields potential success for the firm, only if it is backed by meaningful data.
“One of the most common misconceptions is that people believe they will always outperform computers in their decision-making process. That may have been the case in the past, but with the complexity of today’s markets and the advancement of technology, this assumption no longer holds true,” says Victor Rosenman, CEO of Feedvisor, the pioneer of Algo-Commerce. He added, “All business owners are constantly required to make critical decisions, and the most effective decisions are not based on gut feelings, but on facts and data.”

Misconception 2: Data leads to more costs

Money makes a business. It is also the other way round. Using artificial intelligence, small business-owners benefit the most. AI saves time and money both, thus helps in raising the revenues. You need to understand that big data wouldn’t be enjoying the current hot seat status, if it was that expensive to implement. They are low on cost now, even getting lower. Moreover, besides being inexpensive, big data also aid in curbing other costs that the company would have to bear otherwise.

Misconception 3: Data takes the lead in big changes

“The view of cognitive systems as brains that automatically solve any problem is a popular misconception.” – IBM’s Brandon Buckner recently said. Integrated tools are mostly implemented to do stuffs like gauge human expertise and enhance human intelligence. By this, he meant that technologies actually support your business instead of taking the lead. With data, business-owners enjoy better decision-making capabilities, which is propitious for future business endeavours.

Misconception 4: Little data is too little to make any impact

Though big data arrests the glowing eyes, little data seizes the mind.  Little data is a small set of data. We know that people always look for a bulk of information, but at times, quality is not what they seek. Sometimes, little data can do the job, which bulk data fail to do. The information in little data is more restrained, clean and unprecedented.

Misconception 5: Big data for big businesses

No more, you need to shell out ludicrous amounts of money to acquire big data technologies. Non- Fortune 500 companies are also introducing big data in their systems. And the best part is that it is no more confined to a single sector, it is omnipresent in almost every industry.

In 2011 McKinsey Global Institute report called “Big data: The next frontier for innovation, competition, and productivity” revealed: “The use of big data will become a key basis of competition and growth for individual firms.” Now it is 2017, so just think how big Big Data must have grown in size and scope over the past 6 years.

Künstliche Intelligenz und Data Science in der Automobilindustrie

Data Science und maschinelles Lernen sind die wesentlichen Technologien für die automatisch lernenden und optimierenden Prozesse und Produkte in der Automobilindustrie der Zukunft. In diesem Beitrag werde die zugrundeliegenden Begriffe Data Science (bzw. Data Analytics) und maschinelles Lernen sowie deren Zusammenhang definiert. Darüber hinaus wird der Begriff Optimizing Analytics definiert und die Rolle der automatischen Optimierung als Schlüsseltechnologie in Kombination mit Data Analytics dargelegt. Der Stand der Nutzung dieser Technologien in der Automobilindustrie wird anhand der wesentlichen Teilprozesse in der automobilen Wertschöpfungskette (Entwicklung, Einkauf, Logistik, Produktion, Marketing, Sales und Aftersales, Connected Customer) an exemplarischen Beispielen erläutert. Dass die Industrie heute erst am Anfang der Nutzungsmöglichkeiten steht, wird anhand von visionären Anwendungsbeispielen verdeutlicht, die die revolutionären Möglichkeiten dieser Technologien darstellen. Der Beitrag zeigt auf, wie die Automobilindustrie umfassend, vom Produkt und dessen Entstehungsprozess bis zum Kunden und dessen Verbindung zum Produkt, durch diese Technologie effizienter und kundenorientierter wird.

english-flagRead this article in English:
“Artificial Intelligence and Data Science in the Automotive Industry”

Read more

Clarify Goal of the Analysis – Process Mining Rule 1 of 4

This is article no. 1 of the four-part article series Privacy, Security and Ethics in Process Mining.

Read this article in German:
Datenschutz, Sicherheit und Ethik beim Process Mining – Regel 1 von 4

Clarify Goal of the Analysis

The good news is that in most situations Process Mining does not need to evaluate personal information, because it usually focuses on the internal organizational processes rather than, for example, on customer profiles. Furthermore, you are investigating the overall process patterns. For example, a process miner is typically looking for ways to organize the process in a smarter way to avoid unnecessary idle times rather than trying to make people work faster.

However, as soon as you would like to better understand the performance of a particular process, you often need to know more about other case attributes that could explain variations in process behaviours or performance. And people might become worried about where this will lead them.

Therefore, already at the very beginning of the process mining project, you should think about the goal of the analysis. Be clear about how the results will be used. Think about what problem are you trying to solve and what data you need to solve this problem.

Do:

  • Check whether there are legal restrictions regarding the data. For example, in Germany employee-related data cannot be used and typically simply would not be extracted in the first place. If your project relates to analyzing customer data, make sure you understand the restrictions and consider anonymization options (see guideline No. 3).
  • Consider establishing an ethical charter that states the goal of the project, including what will and what will not be done based on the analysis. For example, you can clearly state that the goal is not to evaluate the performance of the employees. Communicate to the people who are responsible for extracting the data what these goals are and ask for their assistance to prepare the data accordingly.

Don’t:

  • Start out with a fuzzy idea and simply extract all the data you can get. Instead, think about what problem are you trying to solve? And what data do you actually need to solve this problem? Your project should focus on business goals that can get the support of the process managers you work with (see guideline No. 4).
  • Make your first project too big. Instead, focus on one process with a clear goal. If you make the scope of your project too big, people might block it or work against you while they do not yet even understand what process mining can do.

R als Tool im Process Mining

Die Open Source Sprache R ermöglicht eine Vielzahl von Analysemöglichkeiten, die von einer einfachen beschreibenden Darstellung eines Prozesses bis zur umfassenden statistischen Analyse reicht. Dabei können Daten aus einem Manufacturing Execution System, kurz MES, als Basis der Prozessanalyse herangezogen werden. R ist ein Open Source Programm, welches sich für die Lösung von statischen Aufgaben im Bereich der Prozessoptimierung sehr gut eignet, erfordert jedoch auf Grund des Bedienungskonzepts als Scriptsprache, grundlegende Kenntnisse der Programmierung. Aber auch eine interaktive Bedienung lässt sich mit einer Einbindung der Statistikfunktionen in ein Dashboard erreichen. Damit können entsprechend den Anforderungen, automatisierte Analysen ohne Programmierkenntnisse realisiert werden.

Der Prozess als Spagetti Diagramm

Um einen Überblick zu erhalten, wird der Prozess in einem „process value flowchart“, ähnlich einem Spagetti‐ Diagramm dargestellt und je nach Anforderung mit Angaben zu den Key Performance Indicators ergänzt. Im konkreten Fall werden die absolute Anzahl und der relative Anteil der bearbeiteten Teile angegeben. Werden Teile wie nachfolgend dargestellt, aufgrund von festgestellten Mängel bei der Qualitätskontrolle automatisiert ausgeschleust, können darüber Kennzahlen für den Ausschuss ermittelt werden.

Der Prozess in Tabellen und Diagrammen

Im folgenden Chart sind grundlegende Angaben zu den ausgeführten Prozessschritten, sowie deren Varianten dargestellt. Die Statistikansicht bietet eine Übersicht zu den Fällen, den sogenannte „Cases“, sowie zur Dauer und Taktzeit der einzelnen Aktivitäten. Dabei handelt es sich um eine Fertigungsline mit hohem Automatisierungsgrad, bei der jeder Fertigungsschritt im MES dokumentiert wird. Die Tabelle enthält statistische Angaben zur Zykluszeit, sowie der Prozessdauer zu den einzelnen Aktivitäten. In diesem Fall waren keine Timestamps für das Ende der Aktivität vorhanden, somit konnte die Prozessdauer nicht berechnet werden.

Die Anwendung von Six Sigma Tools

R verfügt über eine umfangreiche Sammlung von Bibliotheken zur Datendarstellung, sowie der Prozessanalyse. Darin sind auch Tools aus Six Sigma enthalten, die für die weitere Analyse der Prozesse eingesetzt werden können. In den folgenden Darstellungen wird die Möglichkeit aufgezeigt, zwei Produktionszeiträume, welche über eine einfache Datumseingabe im Dashboard abgegrenzt werden, gegenüber zu stellen. Dabei handelt es sich um die Ausbringung der Fertigung in Stundenwerten, die für jeden Prozessschritt errechnet wird. Das xbar und r Chart findet im Bereich der Qualitätssicherung häufig Anwendung zur ersten Beurteilung des Prozessoutputs.

Zwei weitere Six Sigma typische Kennzahlen zur Beurteilung der Prozessfähigkeit sind der Cp und Cpk Wert und deren Ermittlung ein Bestandteil der R Bibliotheken ist. Bei der Berechnung wird von einer Normalverteilung der Daten ausgegangen, wobei das Ergebnis aus der Überprüfung dieser Annahme im Chart durch Zahlen, als auch grafisch dargestellt wird.

Von Interesse ist auch die Antwort auf die Frage, welchem Trend folgt der Prozess? Bereits aus der Darstellung der beiden Produktionszeiträume im Box‐Whiskers‐Plot könnte man anhand der Mediane auf einen Trend zu einer Verschlechterung der Ausbringung schließen, den der Interquartilsabstand nicht widerspiegelt. Eine weitere Absicherung einer Aussage über den Trend, kann über einen statistischen Vergleichs der Mittelwerte erfolgen.

Der Modellvergleich

Besteht die Anforderung einer direkten Gegenüberstellung des geplanten, mit dem vorgefundenen, sogenannten „Discovered Model“, ist aufgrund der Komplexität beim Modellvergleich, dieser in R mit hohem Programmieraufwand verbunden. Besser geeignet sind dafür spezielle Process Miningtools. Diese ermöglichen den direkten Vergleich und unterstützen bei der Analyse der Ursachen zu den dargestellten Abweichungen. Bei Produktionsprozessen handelt es sich meist um sogenannte „Milestone Events“, die bei jedem Fertigungsschritt durch das MES dokumentiert werden und eine einfache Modellierung des Target Process ermöglichen. Weiterführende Analysen der Prozessdaten in R sind durch einen direkten Zugriff über ein API realisierbar oder es wurde vollständig integriert. Damit eröffnen sich wiederum die umfangreichen Möglichkeiten bei der statistischen Prozessanalyse, sowie der Einsatz von Six Sigma Tools aus dem Qualitätsmanagement. Die Analyse kann durch eine, den Kundenanforderungen entsprechende Darstellung in einem Dashboard vereinfacht werden, ermöglicht somit eine zeitnahe, weitgehend automatisierte Prozessanalyse auf Basis der Produktionsdaten.

Resümee

Process Mining in R ermöglicht zeitnahe Ergebnisse, die bis zur automatisierten Analyse in Echtzeit reicht. Der Einsatz beschleunigt erheblich das Process Controlling und hilft den Ressourceneinsatz bei der Datenerhebung, sowie deren Analyse zu reduzieren. Es kann als stand‐alone Lösung zur Untersuchung des „Discovered Process“ oder als Erweiterung für nachfolgende statistische Analysen eingesetzt werden. Als stand‐alone Lösung eignet es sich für Prozesse mit geringer Komplexität, wie in der automatisierten Fertigung. Besteht eine hohe Diversifikation oder sollen standortübergreifende Prozessanalysen durchgeführt werden, übersteigt der Ressourcenaufwand rasch die Kosten für den Einsatz einer Enterprise Software, von denen mittlerweile einige angeboten werden.