Höhere Mathematik als Grundvoraussetzung für Data Scientists

Data Scientist ist der „sexiest Job“ auf der Welt. Data Science ist die neu erfundene Wissenschaft, die viele unserer Probleme lösen und uns die Zukunft angenehmer gestalten wird. Aber was genau ist Data Science? Was ist ein Datascientist und was macht er? Welche Ausbildung benötigt man, um ein Data Scientist zu sein? Muss er tiefe Kenntnisse der höheren Mathematik besitzen oder reicht das reine Methodenwissen aus? Diese Fragestellungen möchte ich in diesem Beitrag diskutieren.

Was versteht man also unter dem Begriff „Data Science“?

Dieses Wissensgebiet beschäftigt sich mit der Extraktion von Wissen aus Daten. Der Begriff selbst existiert bereits seit über 50 Jahren. Peter Naur verwendete ihn 1960 als Ersatz für den Begriff „Informatik“. 1997 schlug C.F. Jeff Wu in einem Vortrag anlässlich seiner Ernennung zum H. C. Carver Professor of Statistics vor, den Begriff „Statistiker“ in den Begriff „Datenwissenschafter“ umzubenennen. Ich persönlich hege aber Zweifel, dass Datenwissenschafter nur Statistiker sind.

Betrachtet man die Lehrpläne der Studiengänge für Data Science, so bestehen diese aus folgenden Fächern:

  • Mathematische Grundlagen (auch Teile der höheren Mathematik)
  • Stochastik
  • Statistik
  • Grundlegendes Wissen aus der Informatik (besonders auf dem Gebiet der Datenbanken und Big Data Technologien)
  • Signalverarbeitung

Sicherlich ist die obige Aufzählung gar nicht vollständig, da ich meine, dass auch Methoden der mathematischen Optimierung in diese Lehrpläne aufgenommen werden müssen.

Data Science beschäftigt sich also mit der Extraktion von Wissen aus Daten und leitet Empfehlungen daraus ab. Unmittelbar daraus ergibt sich daher auch die Aufgabenbeschreibung für den Data Scientist.

Der Aufgabenbereich eines Data Scientist.

Aus der Beschreibung des Tätigkeitsbereiches von Data Science ergibt sich nun unmittelbar die Aufgabenbeschreibung für den Data Scientist. Er muss aus Daten Wissen extrahieren und Handlungsempfehlungen ableiten. Daraus erkennt man sofort, dass seine Aufgabenstellung umfassender als die eines Statistikers ist. Ungeachtet einer Diskussion, ob der Aufgabenbereich von einer einzigen Person überhaupt zu bewerkstelligen ist, unterteilt er sich also in folgende Teilbereiche.

  • Datenextraktion, -zusammenführung und – aggregation
  • Datenanalyse
  • Hypothesenfindung (zusammen mit den entsprechenden Fachbereichen)
  • Hypothesentests
  • Erstellung von Prognosemodellen
  • Mathematischen Optimierungsrechnungen

Er unterstützt damit sehr viele Fachbereiche eines Unternehmens, benötigt aber auch bei der Durchführung seiner Aufgabengebiete Unterstützung von den Fachbereichen. Zudem bedürfen die letzten drei Punkte der obigen Liste auch ein tiefes Verständnis der angewendeten Algorithmen aus mathematischer Sicht. Es reicht sicherlich nicht aus, zu wissen, welche Methode für die Erzielung einer korrekten Beantwortung einer Fragestellung zu verwenden ist, vielmehr muss er auch wissen, ob die Voraussetzungen zur Anwendung der spezifischen Methode gegeben ist. So z.B. verwenden sehr viele Methoden und Verfahren der Statistik die – in der Praxis nicht immer gegebene – Voraussetzung, dass Daten normalverteilt sind. Da die erzielten Ergebnisse meist numerischer Natur sind bzw. auf numerischen Input basieren, sollte auch zudem Kenntnisse der numerischen Mathematik aufweisen. Zusammenfassend gesagt, ist also ein tiefes Wissen der Algorithmen notwendig, diese basieren auf Mathematik und deshalb lässt sich die Mathematik auch nicht aus dem Anforderungsprofil eines Data Scientist wegdiskutieren.

Warum diese Diskussion?

Ich erlebe immer wieder, dass mit den Argumentationen aufgefahren wird, es wäre nicht notwendig, dass ein Data Scientist eine fundierte Ausbildung auf dem Gebiet Mathematik (im Sinne von „höherer“ Mathematik) benötigt. Sogar bei einer Veranstaltung der Firma IBM musste ich hören, dass Online-Course – wie z. B. Coursera – ausreichen würden, der Rest, also das fehlende Wissen, würde dann durch ausreichend Praxis und Schulungen dieser Firma ohnehin vermittelt bzw. erarbeitet werden. Dass dem nicht so sein kann, ist augenscheinlich, wenn man sich das Vorlesungsverzeichnis z. B. des Studiums Technische Mathematik ansieht. Wann hat man schon die notwendige Zeit, sich mit den Themen Algebra, Analysis, Topologie, Funktionentheorie, Wahrscheinlichkeitsrechnung, Statistik, usw. intensiver auseinanderzusetzen, das Verständnis dieser Teildisziplinen durch das Studium und Lösen von mathematischen Problemen aufzubauen, wenn nicht während eines entsprechenden Studiums? Ich bin der Meinung, dass das im Selbststudium ohne Anleitung und Kontrolle und die dazugehörigen fachlichen Diskussionen mit den Lehrenden und Studienkollegen kaum möglich ist.

Resümee

Aus den oben angeführten Gründen heraus, plädiere ich für eine fundierte Basisausbildung, die dem Studium eines Mathematikers schon sehr nahekommt. Reines oberflächliches Anschneiden der Themen, wird nicht zum gewünschten Erfolg bzw. zur notwendigen Qualität führen. Den Allrounder wird es ohnehin nicht geben, d.h. die Spezialisierungen werden auch – so wie bei Mathematikern – bei den Data Scientists erhalten bleiben. Über eine rege Diskussion zu diesem Thema würde ich mich natürlich sehr freuen.

Überwachtes vs unüberwachtes maschinelles Lernen

Dies ist Artikel 1 von 4 aus der Artikelserie – Was ist eigentlich Machine Learning?

Der Unterschied zwischen überwachten und unüberwachtem Lernen ist für Einsteiger in das Gebiet des maschinellen Lernens recht verwirrend. Ich halte die Bezeichnung “überwacht” und “unüberwacht” auch gar nicht für besonders gut, denn eigentlich wird jeder Algorithmus (zumindest anfangs) vom Menschen überwacht. Es sollte besser in trainierte und untrainierte Verfahren unterschieden werden, die nämlich völlig unterschiedliche Zwecke bedienen sollen:

Während nämlich überwachte maschinelle Lernverfahren über eine Trainingsphase regelrecht auf ein (!) Problem abgerichtet werden und dann produktiv als Assistenzsystem (bis hin zum Automated Decision Making) funktionieren sollen, sind demgegenüber unüberwachte maschinelle Lernverfahren eine Methodik, um unübersichtlich viele Zeilen und Spalten von folglich sehr großen Datenbeständen für den Menschen leichter interpretierbar machen zu können (was nicht immer funktioniert).

Trainiere dir deinen Algorithmus mit überwachtem maschinellen Lernen

Wenn ein Modell anhand von mit dem Ergebnis (z. B. Klassifikationsgruppe) gekennzeichneter Trainingsdaten erlernt werden soll, handelt es sich um überwachtes Lernen. Die richtige Antwort muss während der Trainingsphase also vorliegen und der Algorithmus muss die Lücke zwischen dem Input (Eingabewerte) und dem Output (das vorgeschriebene Ergebnis) füllen.

Die Überwachung bezieht sich dabei nur auf die Trainingsdaten! Im produktiven Lauf wird grundsätzlich nicht überwacht (und das Lernen könnte sich auf neue Daten in eine ganz andere Richtung entwickeln, als dies mit den Trainingsdaten der Fall war). Die Trainingsdaten

Eine besondere Form des überwachten Lernens ist die des bestärkenden Lernens. Bestärkendes Lernen kommt stets dann zum Einsatz, wenn ein Endergebnis noch gar nicht bestimmbar ist, jedoch der Trend hin zum Erfolg oder Misserfolg erkennbar wird (beispielsweise im Spielverlauf – AlphaGo von Google Deepmind soll bestärkend trainiert worden sein). In der Trainingsphase werden beim bestärkenden Lernen die korrekten Ergebnisse also nicht zur Verfügung gestellt, jedoch wird jedes Ergebnis bewertet, ob dieses (wahrscheinlich) in die richtige oder falsche Richtung geht (Annäherungslernen).

Zu den überwachten Lernverfahren zählen alle Verfahren zur Regression oder Klassifikation, beispielsweise mit Algorithmen wir k-nearest-Neighbour, Random Forest, künstliche neuronale Netze, Support Vector Machines oder auch Verfahren der Dimensionsreduktion wie die lineare Diskriminanzanalyse.

Mit unüberwachtem Lernen verborgene Strukturen identifizieren

Beim unüberwachten Lernen haben wir es mit nicht mit gekennzeichneten Daten zu tun, die möglichen Antworten/Ergebnisse sind uns gänzlich unbekannt. Folglich können wir den Algorithmus nicht trainieren, indem wir ihm die Ergebnisse, auf die er kommen soll, im Rahmen einer Trainingsphase vorgeben (überwachtes Lernen), sondern wir nutzen Algorithmen, die die Struktur der Daten erkunden und für uns Menschen sinnvolle Informationen aus Ihnen bilden (oder auch nicht – denn häufig bleibt es beim Versuch, denn der Erfolg ist nicht garantiert!).Unüberwachte Verfahren des maschinellen Lernens dienen dem Data Mining, also der Erkennung von Inhalten in Daten anhand von sichtbar werdenden Strukturen. Die Verfahren müssen nicht unbedingt mit Datenvisualisierung arbeiten, oft ist das aber der Fall, denn erst die visuellen Strukturen ermöglichen unseren menschlichen Gehirnen die Daten in einen Kontext zu bringen. Mir sind zwei Kategorien des unüberwachten Lernens bekannt, zum einem das Clustering, welches im Grunde ein unüberwachtes Klassifikationsverfahren darstellt, und zum anderen die Dimensionsreduktion PCA (Hauptkomponentenanalyse). Es gibt allerdings noch andere Verfahren, die mir weniger vertraut sind, beispielsweise unüberwacht lernende künstliche neuronale Netze, die Rauschen lernen, um Daten von eben diesem Rauschen zu befreien.