Diese Website verwendet Cookies, um Ihnen ein besseres Nutzungserlebnis bieten zu können. OK
8 Min Lesezeit 11 mal geteilt 18 Kommentare

Fünf Fähigkeiten, die Du als Machine Learning Engineer brauchst

Interesse an Machine Learning? Du bist nicht allein. Täglich interessieren sich mehr Menschen für das Gebiet. Auch Udacity-Gründer Sebastian Thrun entschied sich als Student für den Fachbereich Machine Learning. Die Vision von einem intelligenten Computer, der außerdem etwas dazulernen können sollte, war für ihn faszinierend und inspirierend zugleich.

Auf welchen Speicher achtest Du beim Smartphone-Kauf?

Wähle Arbeitsspeicher oder Festspeicher.

VS
  • 4714
    Stimmen
    Ooops! Etwas ist schiefgelaufen. Aktualisieren sollte helfen.
    Arbeitsspeicher
  • 4708
    Stimmen
    Ooops! Etwas ist schiefgelaufen. Aktualisieren sollte helfen.
    Festspeicher

Melde dich über diesen Link für eine kostenlose Kurswoche Machine Learning Engineer bei Udacity an, und erhalte als Leser von AndroidPIT zusätzlich 15 Prozent auf die Kursgebühr.

Das Vordringen von Machine Learning in unser kollektives Bewusstsein war für uns historisch, als AlphaGo vier Spiele von fünf gegen den weltbesten Go-Spieler gewann. Und es war hysterisch, als Machine-Learning-Algorithmen Tweets identifizierten, die unter Alkoholeinfluss verschickt wurden. Unabhängig davon, wie Du Machine Learning entdeckt hast, eins ist klar: Machine Learning ist in unserer Realität angekommen.

Allerdings ist es eine Sache, sich für Machine Learning zu interessieren. Etwas völlig anderes ist es, tatsächlich in diesem Bereich zu arbeiten. Dieser Artikel soll Dir eine Idee vom Mindset und von den spezifischen Fähigkeiten vermitteln, die Du besitzen musst, um als Machine Learning Engineer arbeiten zu können.

Du musst nicht unbedingt einen Hintergrund in Forschung oder Wissenschaft haben.

Zwei Punkte sind wichtig, falls Du eine Karriere als Machine Learning Engineer in Betracht ziehst. Erstens, es handelt sich dabei nicht um eine rein wissenschaftliche Aufgabe. Du musst also nicht unbedingt einen Hintergrund in Forschung oder Wissenschaft haben. Zweitens reicht es nicht aus, nur über Erfahrungen in Software Engineering oder in Data Science zu verfügen. Idealerweise besitzt Du Erfahrungen in beiden Bereichen.

Data Analyst im Vergleich zu Machine Learning Engineer

Man sollte sich auch über den Unterschied zwischen einem Data Analyst und einem Machine Learning Engineer im Klaren sein. Der entscheidende Unterschied besteht im letztendlichen Ziel.

Als Data Analyst analysierst Du Daten, um eine Geschichte zu erzählen und prozessfähige Einsichten zu produzieren. Der Schwerpunkt liegt auf der Dissemination – Tabellen, Modelle, Darstellungen. Die Analyse wird von Menschen durchgeführt und anderen Menschen präsentiert, die daraufhin basierend auf der Präsentation wirtschaftliche Entscheidungen treffen. Dieser Punkt ist ganz besonders entscheidend: die Zielgruppe für den Output besteht aus Menschen.

Als Machine Learning Engineer hingegen handelt es sich bei dem letztendlichen Output um operativ arbeitende Software. Es geht also nicht um Analysen oder Darstellungen, die eventuell auf dem Weg dahin erstellt wurden. Und die Zielgruppe für diesen Output besteht meist aus anderen Softwarekomponenten, die unter minimaler menschlicher Aufsicht automatisch laufen. Die intelligente Software sollte immer noch prozessfähig sein, jedoch werden im Machine-Learning-Modell die Entscheidungen von der Software getroffen und diese beeinflusst, wie sich ein Produkt oder ein Service verhält. Aus diesem Grund sind die Software-Engineering-Kompetenzen so wichtig für eine Karriere im Bereich Machine Learning.

Das Ökosystem verstehen

Bevor ich näher auf spezifische Skills eingehe, sollte ich ein weiteres Kriterium ansprechen: Ein Machine Learning Engineer muss das gesamte Ökosystem oder Umfeld verstehen, für das er entwickelt.

Angenommen, Du arbeitest für eine Lebensmittelkette und das Unternehmen möchte basierend auf Faktoren wie beispielsweise Kaufhistorie der Kunden gezielt Coupons ausgeben, die die Käufer tatsächlich nutzen. Bei einem Data-Analysis-Modell kann man die Kaufdaten sammeln, anhand dieser Daten die Analyse vornehmen, um Trends festzustellen, und dann Strategien vorschlagen. Der Machine Learning Ansatz besteht im Schreiben eines automatischen Coupon-Erstellungssystems. Aber was ist beim Schreiben eines solchen Systems und für dessen Funktionieren notwendig? Du musst das gesamte Ökosystem verstehen – vom Inventar über Katalog, Preise, Bestellungen, Rechnungserstellung, Point-of-Sale Software und CRM-Software.

Letztendlich geht es bei diesem Prozess weniger um Wissen über Machine-Learning-Algorithmen oder wann und wie sie anzuwenden sind, sondern mehr um das Verständnis der systemischen Zusammenhänge und darum, funktionierende Software zu schreiben, die sich erfolgreich integriert und verknüpft. Denn, wie bereits erwähnt, besteht das Ergebnis von Machine Learning ja in operativ arbeitender Software.

Übersicht über die Kompetenzen, die für einen Machine Learning Engineer entscheidend sind

1. Grundlagen auf den Gebieten Informatik und Programmieren

Zu den Informatik-Grundlagen, die für Machine Learning Engineers wichtig sind, zählen Datenstrukturen wie Stacks, Queues, mehrdimensionale Arrays, Bäume, Graphen, Algorithmen (Suchen, Sortieren, Optimierung, dynamisches Programmieren), Berechenbarkeit und Komplexität (P-NP-Probleme, NP-vollständige Probleme, Landau-Symbole, Approximationsalgorithmen) und Computerarchitektur (Speicher, Cache, Bandbreite, Deadlocks, verteilte Verarbeitung).

Du musst in der Lage sein, diese Grundlagen beim Programmieren anzuwenden, zu implementieren, anzupassen oder Dich gegebenenfalls mit ihnen auseinandersetzen. Deine Skills kannst Du bestens durch praktische Problemstellungen, Programmierwettbewerbe und Hackathons verfeinern.

2. Wahrscheinlichkeit und Statistik

Eine förmliche Charakterisierung von Wahrscheinlichkeit (bedingte Wahrscheinlichkeit, Bayes’sche Regel, Wahrscheinlichkeit, Unabhängigkeit) und davon abgeleitete Techniken (Bayes’sches Netz, Markow-Entscheidungsprozess, Hidden Markov Model) bilden den Kern vieler Machine-Learning-Algorithmen – diese sind ein Mittel für den Umgang mit Ungewissheit in der realen Welt. Damit eng verwandt ist das Gebiet der Statistik, das verschiedene Maße wie den Mittelwert, den Median, die Varianz, Verteilungen (gleichmäßige Verteilung, Normalverteilung, Binominalverteilung, Poisson-Verteilung) und Analysemethoden (Varianzanalyse, Hypothesentest) bereithält, die für das Erstellen und Überprüfen von Modellen aus beobachteten Daten notwendig sind. Viele Machine-Learning-Algorithmen sind im wesentlichen Erweiterungen statistischer Modellierungsverfahren.

3. Datenmodellierung und Evaluation

Datenmodellierung wird definiert als Prozess des Einschätzens der zugrundeliegenden Struktur eines vorgegebenen Datensatzes mit dem Ziel, nützliche Muster (Korrelationen, Cluster, Eigenvektoren) oder Merkmale von zuvor unbemerkten Vorgängen (Klassifikation, Regression, Anomalie-Erkennung) zu finden. Ein wesentlicher Bestandteil dieses Einschätzungsprozesses ist das kontinuierliche Bewerten, wie gut ein gegebenes Modell ist.

Iterative Lernalgorithmen machen sich häufig direkt resultierende Fehler zur Optimierung des Modells zunutze.

Abhängig von der jeweiligen Aufgabe musst Du dich für eine geeignete Genauigkeits-/Ungenauigkeitsmethode entscheiden. Zum Beispiel Logarithmus- und Verlustfunktionen zur Klassifikation und Quadratsummenfehler zur Regression sowie für eine Evaluationsstrategie (Aufteilung in Training/Testing, sequentielle oder randomisierte Kreuzvalidierung). Iterative Lernalgorithmen machen sich häufig direkt resultierende Fehler zur Optimierung des Modells zunutze, wie zum Beispiel bei der Backpropagation für neuronale Netzwerke, weshalb das Verständnis dieser Maßnahmen so ungemein wichtig ist, sogar für die einfache Anwendung von Standardalgorithmen.

4. Anwendung von Machine Learning Algorithmen und Bibliotheken

Standardimplementierungen von Machine-Learning-Algorithmen sind durch Bibliotheken/Pakete/APIs weithin verfügbar. Um sie jedoch effektiv anwenden zu können, muss sowohl ein geeignetes Modell (Entscheidungsbaum, Nearest Neighbor, neuronales Netz, Support Vector Machine, Ensemble mehrerer Modelle), als auch ein passendes Lernverfahren für die Daten (lineare Regression, Gradientenverfahren, genetische Algorithmen, Bagging, Boosting und andere modellspezifische Methoden) ausgewählt werden. Darüber hinaus ist ein gutes Verständnis davon, wie Hyperparameter das Lernen beeinflussen, erforderlich.

Man muss sich zudem mit den relativen Vorteilen und Nachteilen der verschiedenen Ansätze auskennen sowie sich der vielen Problemfälle bewusst sein, durch die man ins Stolpern geraten kann, wie zum Beispiel Verzerrung und Varianz, Overfitting und Underfitting, fehlende Daten und Datenverlust. Herausforderungen auf den Gebieten Data Science und Machine Learning, wie beispielsweise auf Kaggle, sind eine hervorragende Möglichkeit, um sich mit verschiedenen Arten von Problemen und ihren Nuancen auseinanderzusetzen.

5. Softwareentwicklung und Systemdesign

Letztendlich ist der typische Output oder das Arbeitsergebnis eines Machine Learning Engineers Software. Häufig ist es eine kleine Komponente, die sich in ein größeres Ökosystem von Produkten und Dienstleistungen einfügt. Du musst wissen, wie diese verschiedenen Teile zusammenarbeiten, mit ihnen kommunizieren, indem du Bibliotheksaufrufe, REST APIs, Datenbankabfragen benutzt und entsprechende Schnittstellen für Deine Komponente bilden, auf die sich andere stützen. Ein sorgfältiges Systemdesign ist zur Vermeidung von Engpässen erforderlich, aber auch, damit sich Deine Algorithmen gut an steigende Datenmengen anpassen lassen. Bewährte Verfahren aus dem Bereich Softwareentwicklung (Anforderungsanalysen, Systemdesign, Modularität, Versionsverwaltung, Tests, Dokumentationen) sind für Produktivität, Kollaboration, Qualität und Wartung von unschätzbarem Wert.

Berufliche Tätigkeiten im Bereich Machine Learning

Jobs, die mit Machine Learning zu tun haben, nehmen rasant zu, da heutzutage die Unternehmen versuchen, die neu entstehenden Technologien optimal zu nutzen. Die Grafik stellt die relative Bedeutung von Kernkompetenzen für diese allgemeinen Tätigkeitsarten im Vergleich zu einer typischen Funktion als Data Analyst dar.

MachineLearning
Die relative Bedeutung von Kernkompetenzen für verschiedene Machine Learning Jobtätigkeiten / © Udacity

Die Zukunft von Machine Learning

Die scheinbar unbeschränkte Einsetzbarkeit ist vermutlich das Faszinierendste am Machine Learning. Es gibt bereits so viele Bereiche, die von Machine Learning beeinflusst sind, darunter Bildung, Finanzwesen, Informatik und mehr. Es gibt demnach quasi keinen Bereich, auf den sich Machine Learning nicht anwenden lässt. In einigen Fällen werden Machine-Learning-Techniken tatsächlich dringend gebraucht. Das Gesundheitswesen ist dafür ein naheliegendes Beispiel.

Machine Learning Techniken werden bereits auf wichtigen Gebieten innerhalb des Gesundheitsversorgungsbereichs angewendet und beeinflussen alles, angefangen von Anstrengungen zur Reduzierung von Veränderungen in der Pflege bis hin zur Analyse medizinischer Scans. David Sontag, Assistant Professor am Courant Institute of Mathematical Sciences an der New York University und dem Center for Data Science der NYU, hielt vor kurzem einen Vortrag über Machine Learning und das Gesundheitssystem. Darin erörterte er, "wie Machine Learning das Potential besitzt, das Gesundheitswesen durch die gesamte Branche hinweg zu verändern, angefangen von elektronischen Patientenakten der nächsten Generation bis hin zur Risikostratifikation von Krankenversicherungsansprüchen auf Populationsebene."

Die Welt verändert sich unweigerlich auf rasante und dramatische Art, und der Bedarf an Machine Learning Engineers wird weiterhin exponentiell steigen. Die Welt steht vor komplexen Herausforderungen, somit bedarf es komplexer Systeme, um diese zu bewältigen. Machine Learning Engineers erstellen diese Systeme. Wenn Du denkst, dass das Deine Zukunft sein könnte, dann gibt es keinen besseren Zeitpunkt als jetzt, um Dir die Kenntnisse anzueignen und die richtige Geisteshaltung zu entwickeln, die Du für den Erfolg brauchst.


Dem Autor Arpan Chakraborty macht es Spaß, Computing-Lösungen für alltägliche Probleme zu finden. Er interessiert sich für die Interaktion zwischen Mensch und Computer, Robotik und Kognitionswissenschaft. Er machte seinen PhD mit Schwerpunkt auf biologisch inspirierter Computer Vision an der North Carolina State University. Bei Udacity entwickelt er Inhalte für Kurse in Künstlicher Intelligenz und Machine Learning.

11 mal geteilt

Top-Kommentare der Community

  •   33
    Karl Mayer 25.06.2016

    Der Autor ist Mitarbeiter eines Unternehmens, dass kostenpflichtige Kurse zum Thema anbietet, die im Artikel angepriesen und verlinkt werden.
    Das nenn ich Werbung.

  • Carsten Braun 25.06.2016

    Dieser Artikel ist Werbung, sagt zu mindesten mein "Machine learning-Algorithmus", welcher identifiziert ob euer Artikel Werbung ist oder eben nicht.

18 Kommentare

Neuen Kommentar schreiben:

  • wie das thema einfach mal nicht viel mir Android zu tun hat, ausser dem namen vielleicht :p

    Irgendwann kommt "Interessiert dich der Beruf als Koch, dann komm zu uns! Wir von McDonald's bieten einzigartige Arbeitsplätze."


  • Ich muss dem Kommentar von Karl Mayer durchaus zustimmen.
    Ich finde das es auf persönlicher Wahrnehmung beruht... mit der Wahrnehmung steht unser User Karl Mayer nicht allein, wie man allgemein im Kommentarbereich ja sieht.
    Das soll und ist kein meckern sondern soll nur verdeutlichen, das wir Leser bisher den Eindruck haben, das es sich zumindest um leicht versteckte Werbung handelt... was ja auch nicht schlimm ist.
    AP soll ja auch gerne Werbethreads/Artikel erstellen (lassen), denn der Werbebereich hält sich ja in Grenzen.
    Zudem finde ich den Artikel schon interessant denn von dem Bereich habe ich noch nie gehört.
    Man muss immer beide Seiten betrachten, die, der User und die, des AP-Teams, das richtige Mischverhältnis bringt das richtige Mittel zur Beurteilung eines Artikels.


  • Dieser Artikel ist Werbung, sagt zu mindesten mein "Machine learning-Algorithmus", welcher identifiziert ob euer Artikel Werbung ist oder eben nicht.


  • Ich finde den Artikel durchaus sehr informativ und gelungen. Die Hinweise auf Udacity sind auch einigermaßen diskret.
    Ich hätte es allerdings für besser gefunden, gleich einen Werbeartikel daraus zu machen, und dafür ein paar Informationen über die Udacity-Kurse zu liefern.
    Was ist ein "Nano-Degree-Abschluß" tatsächlich wert, wie umfangreich sind die Kurse und mit welchen Kosten muss man rechnen? Sind die Kurse auf deutsch? Welche Prüfungen sind vorgesehen?


  • Nanu, noch keiner der "Seid ihr jetzt AI-pit?" gepostet hat? xD


  • Also ich weiss nicht was ihr für Probleme habt, immer hin gibt es auf eine kostenlose Woche nochmals 15% Rabatt.
    Bekommt man den Rabatt ausbezahlt oder ist die Woche dann nicht nur kostenlos sondern auch umsonst?
    (Wer meine Ironie findet darf sie behalten.)


  • "Auch Udacity-Gründer Sebastian Thrun entschied sich als Student für den Fachbereich Machine Learning."
    Das hat Sebastian sicher nicht getan. Ich habe ihn damals noch an der Universität als Assistent erlebt, und da gab es kein "Machine Learning". Was es aber gab, waren KI, Neuro-Informatik und Robotik. Und in letzterem Fachbereich war Sebastian aktiv.


  • 1.) es fehlt der Hinweis dass es ein Werbeartikel ist

    2.) Wäre AP die letzte Seite wo ich mir ernsthafte Ratschläge holen würde geschweige denn Tips fürs Leben^^

    Dazu hat das Niveau hier zu stark abgenommen, sry :(

    Bleibt lieber bei euren schlecht recherchierten Artikeln, da sind wenigstens die Kommentare lustig, der Grund warum wardchrinlich noch einige da sind nachdem es hier bergab ging

Diese Website verwendet Cookies, um Ihnen ein besseres Nutzungserlebnis bieten zu können. Mehr dazu

Alles klar!