Interview mit Data Science Experte, Dipanjan Sarkar
von Livia Schmid
Was sind die Vorteile von Constructor Academy's Data Science Bootcamp?
"Da ich eine Leidenschaft dafür habe, Menschen zu helfen, ihre eigene Reise in der Datenwissenschaft zu beginnen, habe ich mit verschiedenen Unternehmen und Universitäten zusammengearbeitet. Dabei habe ich geholfen Kurslehrpläne zu erstellen, die es den Studenten ermöglichen, durch den Erwerb relevanter Fähigkeiten im Bereich der Datenwissenschaft einsteigen zu können. Es gibt mehrere Vorteile, wenn man das immersive Bootcamp für Data Science von Constructor Academy macht. An erster Stelle, was auch mit meinem Motto übereinstimmt, dass du eine kleine Fokusgruppe von 10 bis 20 Teilnehmern hast, die in Live-Sitzungen mit Dozenten interagieren, die ihnen relevante Konzepte aus einer Vielzahl von Bereichen der Datenwissenschaft beibringen, darunter Statistik, Python-Grundlagen, lineare Algebra, Datenbanken, maschinelles Lernen, Deep Learning, Verarbeitung natürlicher Sprache, Computer Vision und sogar Elemente des Machine Learning Engineering. Dazu gehört auch der Einsatz von Modellen und die Erstellung von End-to-End-Anwendungen. Die Dozenten sind allesamt Experten aus der Industrie, wo sie selbst seit mehreren Jahren als Data Scientists oder Data Science Leads tätig sind. Constructor Academy bringt auch Gastdozenten aus verschiedenen Bereichen in der Industrie, die mit den Studenten ihre Erfahrungen aus der realen Welt teilen.
Ein weiterer interessanter Aspekt, den ich wertvoll finde, ist, dass es nicht nur um das Lernen von Konzepten geht, sondern auch um die Anwendung von Konzepten durch die Arbeit an realen Datensätzen und interessanten Anwendungen in der Datenwissenschaft. Ausserdem arbeiten die Studenten an Übungen, um das Gelernte zu festigen, und falls sie einmal nicht weiterkommen, bekommen sie direkte Unterstützung von den Lehrassistenten sowie von den Dozenten selbst. Ich denke, dass dies ein sehr wichtiger Teil des Bootcamps ist, wodurch es sich auch von traditionellen Online-Kursen abhebt. In den klassischen Online-Kursen hat man zwar Aufgaben und einige praktische Coding-Notebooks, aber normalerweise ist es nicht live und es gibt buchstäblich keine Kommunikation zwischen den Dozenten und den Studenten. Die Art des Lernens bei Constructor Academy ist definitiv interaktiver. Ein weiterer interessanter Aspekt dieses Programms ist, dass man am Ende des Programms das Gelernte in einem echten Industrieprojekt (Capstone Projekt) anwenden kann, das in Zusammenarbeit mit Unternehmen aus dem Constructor Academy Netzwerk durchgeführt wird. Das ist sehr wichtig, denn ich denke, viele Online-Kurse enden nur mit einem Zertifikat und das war's. Man arbeitet nicht wirklich mit einem Unternehmen an einem realen Problem. Ein Projekt in deinem Portfolio zu haben, dass du auf der Grundlage eines realen Industrieprojekts durchgeführt hast, ist ein grosser Vorteil. Ein weiterer interessanter Aspekt ist der Zugang zum Schweizer Arbeitsmarkt, der meiner Meinung nach sehr herausfordernd ist, wenn man sich allein durchschlägt. Das breite Netzwerk von Constructor Academy mit Experten aus der Industrie und Unternehmen sowie eine Vielzahl von Veranstaltungen wie Hiring Days und andere interessante Events, Meetups etc. helfen einem auf dem Weg zu seiner neuen Karriere.
Der Lehrplan des Data Science-Programms ist auf dem neuesten Stand der Technik und entwickelt sich ständig weiter, denn wie du weisst, entwickelt sich der gesamte Bereich der künstlichen Intelligenz, des maschinellen Lernens und der Data Science ständig weiter, wobei Technologien ersetzt werden und neue Techniken hinzukommen. Die Studenten lernen das Neueste und Beste in Bezug auf Konzepte, Methoden, Tools, Frameworks und so weiter."
Warum sollte ich Python lernen?
"Python ist eine Programmiersprache, die sowohl Elemente der funktionalen Programmierung als auch objektorientierter Programmiersprachen enthält, was sie zu einer sehr leistungsfähigen Allzweckprogrammiersprache macht, die zur Lösung einer Vielzahl von Problemen in den Bereichen Data Science, Scientific Computing, Datenanalyse, Data Engineering sowie zur Erstellung von End-to-End-Anwendungen und zur Nutzung von Prinzipien des Software-Engineerings verwendet werden kann. Wenn du ernsthaft eine Karriere im Bereich Data Science oder Machine Learning Engineering anstrebst, solltest du auf jeden Fall Python lernen, da es ein aktives Entwickler-Ökosystem gibt, das ständig Updates und Erweiterungen veröffentlicht, sowie ein Open-Source-Ökosystem von Bibliotheken und Frameworks, die sich der Nutzung von Data Science-Fähigkeiten in Python widmen. Dies führt zu Bibliotheken wie NumPy, Pandas, scikit-learn, TensorFlow, PyTorch, ...
Aus diesem Grund konzentrieren wir uns bei Constructor Academy nicht nur auf das Verständnis der Grundlagen der Programmiersprache Python, sondern nutzen auch praktische Beispiele, um zu verstehen und zu implementieren, wie man effizienten Python-Code schreibt und all diese speziellen Bibliotheken rund um das Data Science-Ökosystem beherrscht. Dies ist grundlegend für die Erstellung eigener Anwendungen im Bereich Machine Learning und Data Science."
Wie sollte ich mit Deep Learning beginnen?
"Deep Learning ist ein Teilgebiet des Maschinellen Lernens, das neuronale Netze nutzt, um immer komplexere Probleme in Bereichen wie Computer Vision und Natural Language Processing zu lösen. Beliebte Anwendungen von Deep Learning sind Bildklassifikation, Objekterkennung, Objekt- und Instanzsegmentierung, Bilderzeugung, Videoklassifikation oder -erkennung sowie Probleme im Bereich NLP wie Textklassifikation, Texterzeugung, Chatbots, Information Retrieval, Suchmaschinen und viele mehr. Wenn du dich für den Einstieg in Deep Learning interessierst, solltest du meiner Meinung nach ein solides Verständnis für die Grundlagen des maschinellen Lernens sowie ein Verständnis dafür haben, wie du deine eigenen Modelle erstellst, wie du deine Modelle abstimmst und wie du deine Modelle anhand einer Vielzahl von Bewertungsmetriken evaluieren kannst. Beginne mit den Grundlagen, um zu verstehen, wie neuronale Netze aufgebaut sind, einschliesslich dessen, was ein Neuron ist, was eine versteckte Schicht ist, was nicht-lineare Aktivierungsfunktionen sind, was eine Verlustfunktion ist, wie Gradientenabstieg und Backpropagation funktionieren. Gekoppelt mit den theoretischen Konzepten solltest du auch versuchen, eine Sprache wie Python zusammen mit einer Bibliothek wie TensorFlow oder PyTorch zu erlernen. Versuche, dein eigenes Deep-Learning-Modell zu bauen, beginnend mit einem einfachen dichten oder künstlichen neuronalen Netzwerk. Spiele mit dem Modell, den Schichten, den Aktivierungsfunktionen und tauche dann in komplexere Modelle wie neuronale Netze mit Faltung, neuronale Netze mit Bedarf, LSTMs, GRUs, Sequenz-zu-Sequenz-Modelle und sogar in komplexere Modelle wie generative Modelle und Transformatoren ein. Im nächsten Schritt solltest du auch versuchen, diese Modelle in verschiedenen Anwendungen anzuwenden, wie z. B. Segmentierung, Klassifikationserkennung, Generative Anomalieerkennung und so weiter.
Wir bei Constructor Academy sind der festen Überzeugung, dass Studenten ein solides Verständnis der Prinzipien des maschinellen Lernens erlangen sollten. Mit diesem Wissen können sie in die Grundlagen des Deep Learning eintauchen, einschliesslich der verschiedenen Komponenten eines neuronalen Netzwerks."
Was ist NLP und warum sollte ich es nutzen?
"Natural Language Processing, kurz NLP, ist ein interdisziplinäres Gebiet, das Elemente aus der Informatik, der künstlichen Intelligenz sowie der angewandten Linguistik einbezieht. NLP konzentriert sich auf den Versuch, Maschinen dazu zu bringen, unstrukturierte Textdaten oder Audio-Sprachdaten zu lernen, zu verstehen und zu begreifen, um komplexe Aufgaben zu erfüllen. Wenn du dich von anderen Bewerbern abheben willst, solltest du auf jeden Fall versuchen, Natural Language Processing zu beherrschen, denn in den meisten Unternehmen sind heute mehr als 80% der Daten unstrukturiert und man versucht herauszufinden, wie man diese riesige Datenreserve anzapfen kann, um neben der Nutzung von Datenbanken, relationalen und strukturierten Daten zusätzliche Erkenntnisse zu gewinnen, indem man sich Techniken wie SQL usw. ansieht. Um NLP zu beherrschen, solltest du zunächst versuchen zu verstehen, wie man Textdaten lädt, wie man diese Textdaten verarbeitet und bereinigt und dich dann mit Elementen des Repräsentationslernens befassen, um diese Textdaten in einfach zu konsumierende und verständliche numerische Formate darzustellen, die grundsätzlich von Maschinen verstanden werden können. Sobald du deine Daten in diesem Format verarbeitet hast, kannst du jede Art von nachgeschaltetem maschinellem Lernen oder Deep-Learning-Modellen nutzen, je nach dem Problem, das du zu lösen versuchst. Zu den realen Anwendungen von Natural Language Processing gehören Aspekte wie die Textklassifizierung, mit der man beispielsweise herausfinden kann, ob eine E-Mail Spam ist oder nicht, die Klassifizierung von Nachrichtenartikeln in verschiedene Nachrichtenkategorien, die Gruppierung ähnlicher Dokumente, das Herausfinden wichtiger Entitäten aus Finanz- oder Gesundheitsdokumenten. Ich arbeite mit Constructor Academy zusammen, um einen soliden Lehrplan für Natural Language Processing zu entwickeln, der sich darauf konzentriert, die Grundlagen der Verarbeitung und des Ladens von Textdaten zu verstehen, wie man Textdaten bereinigt und dann in Bereiche des klassischen Natural Language Processing eintaucht. Wir betrachten Aspekte wie die Repräsentation von Textdaten mit klassischen NLP-Methoden wie Wörtern, n-Grammen, TF-IDF und wir behandeln auch Themen wie Klassifikationscluster, Empfehlungssysteme, Suchmaschinen und so weiter. Danach tauchen wir auch in das Deep Learning für Natural Language Processing ein und betrachten Bereiche wie Worteinbettungen, universelle Satzeinbettungen sowie den neuesten Bereich des Deep Transfer Learning für Natural Language Processing durch die Nutzung von Transformatoren, die verwendet werden können, um verschiedene Aufgaben in Natural Language Processing zu lösen, wie Sentiment-Analyse, Fragenbeantwortung, Zusammenfassung, Aufbau von Suchmaschinen usw."
Was definiert einen Data Science Influencer und warum hast du dich entschieden, dich mit Constructor Academy zusammenzuschliessen?
"Ich denke, ein Data Science Influencer zu sein, bedeutet nicht nur, auffällige Inhalte zu teilen oder zu versuchen, mehr Views oder Likes zu bekommen, sondern es geht darum, eine echte Leidenschaft dafür zu haben, sein Wissen mit seiner Community zu teilen und Menschen dabei zu helfen, ihre eigene Reise in Data Science zu beginnen. Ich habe in den letzten Jahren selbst als Data Scientist in verschiedenen Bereichen gearbeitet, wie z.B. Vertrieb und Marketing, Supply Chain, Infrastruktur, Networking Service Management, Herstellung von Halbleitern und ich war sogar an der Produktentwicklung von auf künstlicher Intelligenz basierenden Produkten beteiligt. Es besteht ein grosser Bedarf an talentierten Data Scientists, die sich an die Lösung einer Vielzahl von Problemen anpassen können. Ich bin ein starker Verfechter von Qualität statt Quantität. Hier habe ich eine starke Synergie mit dem talentierten Team bei Constructor Academy gespürt, das definitiv daran glaubt, dass man sich bei der Entwicklung eines soliden Lehrplans und dessen Vermittlung auf die Studenten konzentriert. Mit Menschen zu arbeiten und etwas zu bewirken, um ihnen zu helfen, in die richtige Richtung zu starten und in Zukunft bessere Data Scientists zu werden, inspiriert mich."
Möchtest du mehr über die Constructor Academy und technikbezogene Themen lesen? Dann finde hier weitere spannende Blogbeiträge.