Programmeur cherchant à percer dans le domaine de l'apprentissage automatique


19

Je suis développeur de logiciels (principalement .NET et Python environ 5 ans d'expérience). Que puis-je faire pour m'aider à trouver un emploi dans le domaine de l'apprentissage automatique ou vraiment tout ce qui me permettra de me lancer dans ce domaine? Le diplôme d'études supérieures est-il une exigence difficile?


2
Cette question ressemble à une question wiki communautaire.
Andrew

Réponses:


16

Chaque fois que j'ai parlé à quelqu'un d'apprendre plus d'apprentissage automatique, ils me pointent toujours vers les éléments de l'apprentissage statistique par Hastie et Tibshirani . Ce livre a la chance d'être disponible en ligne gratuitement (une copie papier a un certain attrait, mais n'est pas obligatoire) et c'est une très bonne introduction au sujet. Je n'y ai pas encore tout lu, mais j'en ai lu beaucoup et cela m'a vraiment aidé à mieux comprendre les choses.

Une autre ressource sur laquelle j'ai travaillé est le cours Stanford Machine Learning , qui est également en ligne et gratuit. Andrew Ng fait un excellent travail pour vous guider à travers les choses. Je le trouve particulièrement utile, car mon expérience dans la mise en œuvre d'algorithmes est faible (je suis un programmeur autodidacte) et il vous montre comment implémenter les choses dans Octave (étant donné que R a déjà une grande partie de cela implémenté dans des packages). J'ai également trouvé ces notes sur les statistiques de reddit il y a quelques mois, donc je les ai parcourues, puis j'ai regardé la vidéo et réfléchi avec mes propres notes.

Mon expérience est dans les statistiques et j'ai eu une certaine exposition aux concepts d'apprentissage automatique (un bon copain est vraiment dedans), mais j'ai toujours eu l'impression de manquer sur le front de l'apprentissage automatique, donc j'ai essayé de tout apprendre un peu plus par moi-même. Heureusement, il existe une tonne d'excellentes ressources.

En ce qui concerne l'obtention d'un emploi dans l'industrie ou les exigences des études supérieures, je ne suis pas en mesure de conseiller (il s'avère que je n'ai jamais embauché personne), mais j'ai remarqué que le monde des affaires semble vraiment aimer les gens qui peuvent faire des choses et sont un peu moins concernés par les morceaux de papier qui disent que vous pouvez faire quelque chose.

Si j'étais vous, je passerais une partie de mon temps libre à avoir confiance en mes connaissances en apprentissage automatique, puis à mettre en œuvre les choses selon les opportunités. Certes, votre poste ne vous donnera peut-être pas cette possibilité, mais si vous pouvez mettre en œuvre quelque chose qui ajoute de la valeur à votre entreprise (tout en maintenant vos autres obligations), je ne peux pas imaginer que quiconque soit contrarié par vous. La bonne chose ici est que si vous vous retrouvez à faire un peu d'apprentissage automatique dans ce travail, lorsque vous sortez à la recherche d'un nouvel emploi, vous pouvez parler de l'expérience que vous avez déjà, ce qui aiderait les gens à dépasser le manque de degré.

Il y a beaucoup de ressources et c'est incroyablement intéressant, je vous souhaite bonne chance!

Autre idée: vous pouvez créer un blog sur votre processus d'apprentissage Machine Learning et peut-être documenter quelques projets sur lesquels vous travaillez pendant votre temps libre. Je l'ai fait avec un projet de programmation et cela vous permet de parler d'un projet sur lequel vous travaillez pendant votre temps libre (semble bon pour l'employeur) et vous pouvez également les diriger vers le blog (évidemment gardez-le professionnel) à propos de votre travail . Jusqu'à présent, j'ai envoyé pas mal de gens sur mon petit blog de programmation stupide (j'ai été un peu paresseux en postant récemment, mais je l'ai tenu à jour lorsque je postulais à des emplois) et tous ceux à qui j'ai parlé ont été impressionnés il.


(+1) d'excellents conseils, en particulier en ce qui concerne la classe ML, les connaissances réelles / le travail> et le blog.
steffen

Un blog professionnel sonne comme une bonne idée!
Rishi Dua

"le monde des affaires semble vraiment aimer les gens qui peuvent faire des choses" - oui, et cela s'applique même avec des morceaux de papier :) Dans tous les cas, faites quelque chose que vous pouvez leur montrer.
P.Windridge

Les éléments de l'apprentissage statistique, bien que complets, sont difficiles pour ceux qui n'ont pas de diplôme d'études supérieures en statistique. Je recommanderais plutôt An Introductions to Statistical Learning with (Applications in R), par les mêmes auteurs. C'est beaucoup plus simple.
Abhishek Divekar

3

En plus de tous les autres bons conseils que je vous suggère de vous salir les mains en participant à des concours en ligne, voir Sites pour les concours de modélisation prédictive

En ce qui concerne les livres, etc., vous devriez jeter un œil à:

En ce qui concerne les diplômes, je suis d'accord avec @asjohnson qu'un certificat importe moins, au moins je peux le confirmer pour la zone dans laquelle je travaille (Data Mining / ML sur le web). Cela pourrait être différent pour des domaines plus "académiques" comme la bioinformatique. Être capable de démontrer que l'on est a) enthousiaste et b) a fait un travail réel ("intelligent et faire avancer les choses") en présentant un petit portefeuille (par exemple des concours en ligne ...) devrait être plus efficace à mon humble avis.


(+1) Pour les compétitions en ligne. Je pense que si vous avez fait quelque chose de kaggle ou de l'une des autres compétitions et que vous avez gardé une trace de votre code et de votre processus (je pense au blog) à un endroit où les employeurs potentiels pourraient le vérifier. Cela montrerait beaucoup d'initiatives et à bien des égards est plus facile que de réfléchir à votre propre question d'intérêt. Choisissez simplement l'un des concours qui vous intéresse, puis vous avez les données là-bas et un endroit pour soumettre et comparer les réponses.
asjohnson

2

Lisez le Machine Learning de Tom Mitchell. C'est un bon livre qui devrait vous aider à démarrer dans le domaine de l'apprentissage automatique.

Une chose à savoir: veuillez noter que le même algorithme peut parfois fonctionner mieux ou moins bien selon le scénario et les paramètres fournis et le hasard. Ne vous laissez pas entraîner par l'optimisation des paramètres de vos données d'entraînement - c'est une mauvaise application du machine learning.

Il existe de nombreuses techniques adaptées à des applications particulières (mais pas toutes) et il existe de nombreuses théories que vous pouvez lire pour mieux comprendre l'apprentissage automatique. Pour être bon en apprentissage automatique, vous devez vous assurer de savoir ce que vous faites, sinon vous ne pouvez pas être sûr que vos résultats se généraliseront bien.

Bonne chance.


0

Il existe un grand nombre de bons livres sur l'apprentissage automatique, dont plusieurs dans la série O'Reilly qui utilisent Python. Travailler sur un ou plusieurs d'entre eux pourrait être un bon point de départ.

Je suggérerais également d'acquérir une certaine connaissance des statistiques - à travers un cours ou deux, ou l'autoformation, n'a pas vraiment d'importance. La raison en est qu'il existe des livres d'apprentissage automatique qui se concentrent sur les algorithmes et la mécanique, mais ignorent la question fondamentale de la probabilité que ce que votre algorithme vous dit est simplement dû au hasard. Et, c'est essentiel à savoir.

Bonne chance et amusez-vous, c'est un grand domaine.


0

Très belle question. Une chose à réaliser dès le départ est que l'apprentissage automatique est à la fois un art et une science et implique de nettoyer méticuleusement les données, de les visualiser et éventuellement de construire des modèles qui conviennent à l'entreprise en question, tout en la gardant simultanément évolutive et maniable. Pour ce qui est des compétences, il est plus important qu'autre chose de se concentrer sur la probabilité et d'utiliser des méthodes simples. méthodes avant de passer à des méthodes complexes. Je préfère la combinaison R & Perl, car vous connaissez le python qui devrait être assez bon. Lorsque vous travaillez sur un vrai travail, vous devrez invariablement extraire vos propres données, donc la connaissance de SQL (ou de tout autre no-sql pris en charge par votre entreprise) est indispensable.

Rien ne vaut l'expérience dans le domaine du ML, donc s'engager dans des sites comme stackexchange, kaggle est également un excellent moyen d'être exposé à ce domaine. Bonne chance.


0

Je sais que c'est un peu une vieille question, mais étant donné que j'ai vu beaucoup de programmeurs ne savent toujours pas comment commencer.

J'ai donc créé le référentiel "Un plan quotidien complet pour étudier pour devenir ingénieur en machine learning" .

Ceci est mon plan d'étude de plusieurs mois pour passer d'un développeur mobile (autodidacte, pas de diplôme CS) à un ingénieur en apprentissage automatique.

Mon objectif principal était de trouver une approche de l'étude de l'apprentissage automatique qui soit principalement pratique et résume la plupart des mathématiques pour les débutants. Cette approche n'est pas conventionnelle car c'est l'approche descendante et axée sur les résultats conçue pour les ingénieurs logiciels.

S'il vous plaît, n'hésitez pas à apporter toute contribution qui, selon vous, l'améliorera.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.