Il y a deux ans, j’ai commencé à apprendre l’apprentissage automatique en ligne par moi-même. J’ai partagé mon parcours sur YouTube et sur mon blog. Je n’avais aucune idée de ce que je faisais. Je n’avais jamais codé auparavant, mais j’ai décidé que je voulais apprendre l’apprentissage automatique.
Lorsque les gens trouvent mon travail, ils me tendent parfois la main et posent des questions. Je n’ai pas toutes les réponses mais je réponds à autant que je peux. La question la plus fréquente que je reçois est « où dois-je commencer ? ». La deuxième question la plus fréquente est » combien de maths dois-je connaître ? «
J’ai répondu à une poignée de ces questions ce matin.
Quelqu’un m’a dit qu’il avait commencé à apprendre Python et qu’il voulait se lancer dans l’apprentissage automatique, mais qu’il ne savait pas quoi faire ensuite.
J’ai appris Python, que dois-je faire ensuite ?
J’ai mis en place quelques étapes dans la réponse et je les copie ici. Vous pouvez les considérer comme un schéma approximatif pour passer de ne pas savoir coder à être un praticien de l’apprentissage automatique.
Mon style d’apprentissage est le code d’abord. Faites fonctionner le code d’abord et apprenez la théorie, les mathématiques, les statistiques et le côté probabiliste des choses quand vous en avez besoin, pas avant.
Rappellez-vous, si vous commencez à apprendre l’apprentissage automatique, cela peut être décourageant. Il y a beaucoup de choses. Prenez votre temps. Mettez cet article en signet pour pouvoir vous y référer au fur et à mesure.
J’ai un parti pris pour l’utilisation de Python car c’est ce que j’ai commencé et que je continue à utiliser. Vous pourriez utiliser autre chose mais ces étapes seront pour Python.
Le courriel disait qu’ils avaient déjà fait du Python. Mais cette étape est pour quelqu’un qui est complètement nouveau aussi. Passez quelques mois à apprendre le code Python en même temps que différents concepts d’apprentissage automatique. Vous aurez besoin des deux.
Pendant l’apprentissage du code Python, entraînez-vous à utiliser des outils de science des données tels que Jupyter et Anaconda. Passez quelques heures à les bricoler, à quoi ils servent et pourquoi vous devriez les utiliser.
Ressources pour l’apprentissage
- Éléments de l’IA – aperçu des principaux concepts d’intelligence artificielle et d’apprentissage automatique.
- Un guide de terrain en 6 étapes pour la construction de projets d’apprentissage automatique – aperçu de nombreuses étapes pratiques que vous pouvez suivre pour commencer à utiliser l’apprentissage automatique sur une variété de problèmes commerciaux différents.
- Python for Everybody sur Coursera – apprenez Python à partir de zéro.
- Apprendre Python par freeCodeCamp – tous les concepts majeurs de Python dans une vidéo.
- Tutoriel Anaconda par Corey Schafer – apprenez Anaconda (ce que vous utiliserez pour configurer votre ordinateur pour la science des données et l’apprentissage automatique) dans une vidéo.
- Tutoriel Jupyter Notebook pour les débutants par Dataquest – soyez opérationnel avec Jupyter Notebooks en un article.
- Tutoriel Jupyter Notebook par Corey Schafer – apprenez à utiliser Jupyter Notebooks en une vidéo.
Apprendre l’analyse de données, la manipulation & la visualisation avec Pandas, NumPy Matplotlib
Une fois que vous avez quelques compétences en Python, vous voudrez apprendre à travailler avec et à manipuler les données.
Pour ce faire, vous devez vous familiariser avec pandas, NumPy et Matplotlib.
pandas vous aidera à travailler avec des dataframes, ce sont des tableaux d’informations comme ceux que vous verriez dans un fichier Excel. Pensez aux lignes et aux colonnes. Ce type de données est appelé données structurées.
NumPy vous aidera à effectuer des opérations numériques sur vos données. L’apprentissage automatique transforme tout ce à quoi vous pouvez penser en chiffres, puis trouve les modèles dans ces chiffres.
Matplotlib vous aidera à faire des graphiques et des visualisations de vos données. Comprendre un tas de chiffres dans un tableau peut être difficile pour les humains. Nous préférons de loin voir un graphique avec une ligne qui le traverse. Faire des visualisations est une grande partie de la communication de vos résultats.
Ressources d’apprentissage
- Applied Data Science with Python on Coursera – commencez à adapter vos compétences Python à la science des données.
- pandas en 10 minutes – un aperçu rapide de la bibliothèque pandas et de certaines de ses fonctions les plus utiles.
- Tutoriel Python Pandas par Codebasics – série YouTube passant en revue toutes les principales fonctionnalités de pandas.
- NumPy Tutorial par freeCodeCamp – apprenez NumPy en une seule vidéo YouTube.
- Matplotlib Tutorial par Sentdex – série YouTube enseignant toutes les fonctionnalités les plus utiles de Matplotlib.
Apprendre l’apprentissage automatique avec scikit-learn
Maintenant que vous avez des compétences pour manipuler et visualiser les données, il est temps de trouver des modèles dans ces données.
scikit-learn est une bibliothèque Python avec de nombreux algorithmes d’apprentissage automatique utiles intégrés prêts à être utilisés.
Elle comporte également de nombreuses autres fonctions utiles pour déterminer dans quelle mesure votre algorithme d’apprentissage a bien appris.
Concentrez-vous sur l’apprentissage des types de problèmes d’apprentissage automatique qui existent, tels que, la classification et la régression, et les types d’algorithmes qui sont les meilleurs pour ceux-ci. Ne pas sur la compréhension de chaque algorithme à partir de zéro encore, apprendre comment les appliquer d’abord.
Ressources pour l’apprentissage
- Apprentissage automatique en Python avec scikit-learn par Data School – playlist YouTube qui enseigne toutes les principales fonctionnalités de scikit-learn.
- A Gentle Introduction to Exploratory Data Analysis par Daniel Bourke- mettre ce que vous avez appris dans les deux étapes ci-dessus ensemble dans un projet. Livré avec un code et une vidéo pour vous aider à participer à votre première compétition Kaggle.
- Le carnet d’analyse de données exploratoires de Daniel Formosso avec scikit-learn – version plus approfondie de la ressource ci-dessus, livré avec un projet de bout en bout utilisant ce qui précède.
Apprendre les réseaux neuronaux d’apprentissage profond
L’apprentissage profond et les réseaux neuronaux fonctionnent mieux sur les données sans beaucoup de structure.
Les cadres de données ont une structure, les images, les vidéos, les fichiers audio et les textes en langage naturel ont une structure mais pas autant.
Tidbit : Dans la plupart des cas, vous voudrez utiliser un ensemble d’arbres de décision (Random Forests ou un algorithme comme XGBoost) pour les données structurées et vous voudrez utiliser l’apprentissage profond ou l’apprentissage par transfert (prendre un réseau neuronal pré-entraîné et l’utiliser sur votre problème) pour les données non structurées.
Vous pourriez commencer une note avec des petites anecdotes comme celle-ci pour vous-même et les collecter au fur et à mesure.
Ressources pour l’apprentissage
- deeplearning.ai par Andrew Ng sur Coursera – apprentissage profond enseigné par l’un des meilleurs dans le domaine.
- cours d’apprentissage profond fast.ai par Jeremy Howard – une approche pratique de l’apprentissage profond enseignée par l’un des meilleurs praticiens de l’industrie.
Extra curriculum & livres
En cours de route, l’idéal serait que vous pratiquiez ce que vous apprenez avec de petits projets de votre cru. Il ne s’agit pas forcément de choses élaborées qui changent le monde, mais de quelque chose dont vous pouvez dire » j’ai fait ça avec X « . Puis partagez votre travail via Github ou un article de blog. Github est utilisé pour présenter votre code, un billet de blog est utilisé pour montrer comment vous pouvez communiquer votre travail. Vous devriez viser à publier un de chaque pour chaque projet.
La meilleure façon de postuler à un emploi est d’avoir déjà fait les choses qu’il exige. Partager votre travail est un excellent moyen de montrer à un futur employeur potentiel ce dont vous êtes capable.
Après vous être familiarisé avec l’utilisation de certains des différents frameworks d’apprentissage automatique et d’apprentissage profond, vous pourriez essayer de cimenter vos connaissances en les construisant à partir de zéro. Vous n’aurez pas toujours à le faire en production ou dans un rôle d’apprentissage automatique, mais savoir comment les choses fonctionnent de l’intérieur vous aidera à construire sur votre propre travail.
Ressources pour l’apprentissage
- Comment démarrer vos propres projets d’apprentissage automatique par Daniel Bourke – démarrer vos propres projets peut être difficile, cet article vous donne quelques pistes.
- L’apprentissage profond fast.ai à partir des fondations par Jeremy Howard – une fois que vous êtes allé de haut en bas, ce cours vous aidera à combler les lacunes de bas en haut.
- Grokking Deep Learning par Andrew Trask – ce livre vous apprendra à construire des réseaux neuronaux à partir de zéro et pourquoi vous devriez savoir comment le faire.
- Ces livres vous aideront à apprendre l’apprentissage automatique par Daniel Bourke – vidéo YouTube passant en revue certains des meilleurs livres sur l’apprentissage automatique.
Combien de temps pour chaque étape ?
Vous pourriez passer 6 mois ou plus sur chacune. Ne vous précipitez pas. L’apprentissage de nouvelles choses prend du temps. La principale compétence que vous construisez en tant que data scientist ou ingénieur en apprentissage automatique est de savoir comment poser de bonnes questions aux données puis d’utiliser vos outils pour essayer de trouver des réponses.
Certains jours, vous aurez l’impression de ne rien apprendre. Et même de revenir en arrière. Ignorez-le. Ne comparez pas vos progrès jour après jour. Comparez vos progrès d’année en année.
Où puis-je apprendre ces compétences ?
J’ai listé quelques ressources ci-dessus, elles sont toutes disponibles en ligne et la plupart d’entre elles sont gratuites, mais il y en a beaucoup plus.
DataCamp est un excellent endroit pour faire la plupart d’entre elles. Sinon, ma base de données de ressources sur l’apprentissage automatique et l’intelligence artificielle contient une bonne archive de matériel d’apprentissage gratuit et payant.
Rappellez-vous, une partie du métier de data scientist ou d’ingénieur en apprentissage automatique consiste à résoudre des problèmes. Considérez que votre première mission consiste à en savoir plus sur chacune des étapes ici et à créer votre propre programme d’études pour vous aider à les apprendre.
Si vous voulez savoir à quoi ressemble un exemple de programme d’études autodirigé pour l’apprentissage automatique, consultez mon master d’IA auto-créé. C’est ce que j’ai utilisé pour passer de zéro codage à être un ingénieur en apprentissage machine en 9 mois. Ce n’est pas parfait mais c’est le mien, c’est pourquoi ça a marché.
Et les statistiques ? Et les mathématiques ? Et les probabilités ?
Vous apprendrez ces choses en cours de route. Commencez d’abord par le code. Faites fonctionner les choses. Essayer d’apprendre toutes les statistiques, toutes les mathématiques, toutes les probabilités avant d’exécuter votre code, c’est comme essayer de faire bouillir l’océan. Cela vous freinera.
Plus aucune des statistiques, des maths et des probabilités ne comptent si votre code ne fonctionne pas. Faites fonctionner quelque chose, puis utilisez vos compétences en matière de recherche pour savoir si c’est correct.
Qu’en est-il des certifications ?
Les certifications sont sympathiques mais vous n’êtes pas après elles. Vous êtes après les compétences.
Ne faites pas l’erreur que j’ai faite et pensez que plus de certifications égalent plus de compétences. Ce n’est pas le cas.