Wie Álvaro Lemos ein Praktikum im Bereich maschinelles Lernen in einem Data-Science-Team bekam
Geschichten darüber, wie Studenten und Entwickler mit dem angewandten maschinellen Lernen beginnen, sind eine Inspiration.
In diesem Beitrag erfahren Sie mehr über die Geschichte von Álvaro Lemos und seinen Übergang vom Studenten zu einem Praktikum im Bereich maschinelles Lernen. Einschließlich:
- Wie das Interesse an genetischen Algorithmen zur Entdeckung neuronaler Netze und des breiteren Bereichs des maschinellen Lernens führte.
- Wie auf Tutorials basierende Blogbeiträge und Bücher dazu beigetragen haben, einen Test für ein Praktikum im Bereich maschinelles Lernen in einem Data-Science-Team zu bestehen
Fangen wir an.
- Update Februar/2017: Korrekturen bezüglich Álvaros Praktikum.
F. Können Sie uns etwas über sich erzählen?
Ich komme aus Salvador, Bahia (Brasilien), lebe aber derzeit in Belo Horizonte, Minas Gerais (ebenfalls in Brasilien).
Ich studiere Elektrotechnik an der Bundesuniversität von Minas Gerais und beschäftige mich seit Beginn meines Grundstudiums in irgendeiner Weise mit der Softwareentwicklung.
In meiner ersten Woche als Studienanfänger schloss ich mich einer Forschungsgruppe namens LabCOM an, um einem Kollegen bei seinem Masterprojekt zu helfen. Er wollte ein selbstverwaltetes Verkehrstechniksystem aufbauen, in dem der Netzwerkbetrieb und die Wartung effizient und ohne menschliches Eingreifen durchgeführt werden. Es wurde auf einem Netzwerksimulator aufgebaut und ich wurde beauftragt, ein Modul zur Messung einiger Netzwerkparameter zu liefern.
Danach beschäftigte ich mich weiterhin mit Dingen im Zusammenhang mit der Softwareentwicklung, wie der Wartung eines Linux-Servers an meiner Universität, absolvierte eine Reihe von Webentwicklungskursen auf Websites wie Code School, Codecademy und Coursera und vor einem Jahr bekam ich meinen ersten Praktikumsjob ein großes Softwareunternehmen.
Es war eine erstaunliche Erfahrung, weil ich mit hochmodernen Technologien und sehr erfahrenen Entwicklern arbeiten konnte, von denen ich viele gute Praktiken und Verfahren gelernt habe.
Als ich dort ein Jahr absolvieren wollte, erhielt ich ein Angebot, bei einem anderen Unternehmen in einem gerade gebildeten Data-Science-Team zu arbeiten, also beschloss ich, das anzunehmen.
F. Wie sind Sie zum ersten Mal auf maschinelles Lernen aufmerksam geworden?
Gute Frage…
Ich habe zum ersten Mal davon bei einem Treffen der von mir erwähnten Forschungsgruppe gehört.
Um es kurz zu machen: Wir verwendeten einen genetischen Algorithmus, um einige Ergebnisse zu erhalten, und obwohl sie einigermaßen gut waren, dauerte die Verarbeitung länger, als wir es uns leisten konnten.
Um dieses Problem zu lösen, schlug ein Kollege vor, ein neuronales Netzwerk mit diesen Ergebnissen zu trainieren, denn sobald wir ein trainiertes Modell hätten, würde es sehr schnell Ergebnisse ausgeben.
Ich gehörte zu den Personen, die mit der Implementierung dieser Lösung beauftragt waren, wusste aber nichts darüber und habe danach gegoogelt.
Als mir klar wurde, dass ein Algorithmus die erwartete Ausgabe liefern kann, ohne explizit dafür programmiert zu werden, und dass er dies durch die Nachahmung des menschlichen Gehirns tut, dachte ich: „Wooooow, das ist Magie!“
F. Welche Bücher und Kurse haben Sie ausprobiert?
Als ich beschloss, maschinelles Lernen zu erlernen, war mein erstes Ziel, die Johns Hopkins Data Science-Spezialisierung auf Coursera zu beginnen.
Nachdem ich zwei (von zehn!) Kursen abgeschlossen hatte, ließ ich es sein. Zu diesem Zeitpunkt musste ich dieses Wissen nicht wirklich anwenden, ich wollte einfach nur maschinelles Lernen erlernen und ich hatte das Gefühl, dass es ziemlich überwältigend war, zehn Kurse zu besuchen, nur um dieses Wissen zu erwerben. Ich wurde durch andere Dinge abgelenkt und vergaß es.
Ein Jahr später beschloss ich, meiner Suche nach „Lernen durch maschinelles Lernen“ eine zweite Chance zu geben. Ich habe mich für den berühmten maschinellen Lernkurs von Andrew Ng auf Coursera angemeldet. Es war nur ein Gang (statt zehn!), also dachte ich, es wäre in Ordnung. Sein Unterricht hat mir sehr gut gefallen, er weiß, wie man komplexe Dinge auf einfache Weise erklärt.
Ich machte dort ziemlich schnelle Fortschritte, aber nachdem ich 60 % erreicht hatte, begann mein erstes Praktikum und ich begann, meine Freizeit zu nutzen, um die Technologien zu erlernen, die ich dort verwendete. Dann begann mein Unterricht an meiner Universität und ja, ich bin nie wieder zu Coursera zurückgekehrt, um diesen Kurs noch einmal zu beenden.
Im nächsten Semester besuchte ich an meiner Universität einen Kurs zum Thema „Künstliche Neuronale Netze“. Es war eine gute Erfahrung und erinnerte mich an Andrew Ngs Ansatz, aber ich verließ den Kurs mit dem gleichen Gefühl, dass ich immer noch nicht genug über maschinelles Lernen wusste oder dass ich nicht sagen durfte, dass ich es weiß.
Niemand hat es mir gesagt, aber ich begann zu denken, dass man, um zu sagen, dass man maschinelles Lernen anwenden kann, einen Masterstudiengang absolvieren muss, weil ich viele Studenten gesehen habe, die das gemacht haben.
Oh, ich habe auch versucht, aus Artikeln (Forschungsarbeiten) zu lernen. Bitte, tun Sie das nicht. Das ist mit Abstand der schlechteste Ansatz, den ich je versucht habe.
Vielleicht war ich naiv, aber einige Lehrer ermutigen einen, auf diese Weise zu lernen. Ich denke, dass es gut ist, Techniken und/oder Algorithmen zu finden, die das tun, was Sie wollen, aber nachdem Sie eine kurze Liste erstellt haben, verlassen Sie sie und fangen Sie an, nach YouTube-Videos, Blogbeiträgen und Büchern zu googeln.
F. Wie hat Ihnen ML Mastery auf Ihrer Reise geholfen?
Es hat mir sehr geholfen.
In meinem vorherigen Job ging es mir gut, als ich von einer Praktikumsmöglichkeit im Bereich maschinelles Lernen hörte. Es war bei einem Unternehmen, von dem ich bereits Gutes gehört hatte, also beschloss ich, es auszuprobieren.
Sie gaben mir drei Herausforderungen zum maschinellen Lernen, die ich innerhalb einer Woche bewältigen sollte, aber da ich arbeitete und lernte, hatte ich nur ein Wochenende dafür.
- Bei der ersten Aufgabe mussten wir ein logistisches Regressionsmodell trainieren, um eine Zielvariable aus einem Datensatz mit vier Merkmalen vorherzusagen. Ich sollte eine explorative Datenanalyse durchführen, die relevantesten Merkmale ordnen, den Fehler abschätzen und anhand eines Testdatensatzes eine Vorhersage treffen. Hier konnte ich mein bereits vorhandenes Wissen nutzen, musste mich lediglich mit der Scikit Learn API vertraut machen.
- Der zweite war ziemlich ähnlich, aber der Datensatz war stark unausgewogen und ich hatte keine Ahnung, wie ich damit umgehen sollte, also fing ich an zu googeln und fand Ihren Blog. Es hat mir wirklich geholfen, weil ich herausgefunden habe, dass ich anstelle der Standardgenauigkeit andere Metriken verwenden, Kreuzvalidierungen und geschichtete Kreuzvalidierungen durchführen, den Datensatz unter- und überabtasten, Algorithmen vergleichen usw. Mit all diesen neuen Informationen habe ich ein Python-Modul erstellt würde das automatisch für mich tun und die Modelle anhand ihres F1-Scores bewerten.
- Der dritte war der anspruchsvollste. Ich sollte die relevantesten Merkmale in einem Klassifizierungsdatensatz mit 128 Merkmalen finden. Auch deine Blogbeiträge haben mir dabei geholfen.
Ich konnte ihnen nicht einfach die Ergebnisse schicken, sondern musste auch einen detaillierten Bericht schreiben. Daher waren Ihre Blog-Beiträge von grundlegender Bedeutung, da sie dazu beigetragen haben, meine Wissenslücke sehr schnell zu schließen.
Jetzt, in meinem neuen Job, helfen mir Ihre Bücher sehr, unser Manager hat das Super Bundle für uns gekauft 😀
F. Herzlichen Glückwunsch zum neuen Job! Erzählen Sie uns davon?
Danke schön!
Das Unternehmen heißt Radix und ich bin gerade dem Data Science-Team beigetreten.
Als ich dort ankam, war mein erstes Projekt bereits fertig, aber es war sehr interessant. Dabei handelt es sich um ein System namens Oil
Jetzt nutzen wir datengesteuerte Ansätze in anderen Projekten, um zu besseren Lösungen zu gelangen.
Konkret zielt das Projekt, an dem ich gerade arbeite, darauf ab, die Grundursache für die Ablagerung von Verschmutzungen auf Wärmetauschern zu finden.
F. Wie können Leser mit Ihnen in Kontakt treten?
- GitHub: https://github.com/alvarolemos
- LinkedIn: https://www.linkedin.com/in/alvarolemos