[RX] Introduction to Machine Learning — Udacity
TLDR :)
- Vous êtes curieux du Machine Learning et avez un peu de temps ? Foncez !
- Vous en avez marre des Moocs trop faciles qui ne font que survoler les notions ? Foncez !
- Vous n’en pouvez plus des mini-tutos et des vidéos qui n’aboutissent pas ? Foncez !
- Foncez !
Encore un mooc ?
Udacity est une plateforme incontournable de formation en ligne. Elle propose des moocs de grande qualité depuis plusieurs années. Si certains moocs sont gratuits, Udacity propose des “Nanodegree programs”. Ces derniers ne sont pas si abordables que cela. Ils durent en général au moins 3 mois, et coûte 400$ par mois. Oui, vous avez bien lu. La qualité a un prix.
Les sujets proposés sont surtout technologiques : web, product owner, statistique… mais surtout Intelligence Artificielle et Data Science.

Udacity a été une des premières plateformes à proposer une formation sur le Deep Learning. Je m’en rappelle bien. A l’époque, j’avais demandé à Pôle Emploi s’il pouvait la financer dans le cadre de ma reconversion. Inutile de vous préciser la réponse de Pôle Emploi. C’était il y a déjà plusieurs années… Et puis, le Covid-19 a réussi là où Pôle Emploi a échoué.
Mi-mars, au début du confinement, je reçois un email indiquant : “Get a free month during COVID-19 confinment”. Je ne me suis pas fait prier pour activer mon Mooc gratuit. Au programme : Introduction to Machine Learning with TensorFlow.
Cela faisait un moment que je voulais tester TensorFlow. Voilà, l’occasion se présente sur un plateau.
Un peu comme j’avais pu le faire il y a quelques temps, je vais vous résumer synthétiquement le déroulé du Mooc.

A qui s’adresse ce Mooc ?
Il n’est pas nécessaire d’avoir un gros bagage en Data Science. Bien au contraire, ce Mooc constitue une bonne entrée en matière. Par contre, il est préférable que vous ayez des bases en programmation, si possible en Python. Si jamais ce n’est pas la cas, le Mooc est vraiment bien fait puisqu’il propose des ressources additionnelles pour y remédier. Et ils ne se moquent vraiment pas de vous, car ces ressources complémentaires qui servent de mise à nouveau ou d’approfondissement sont de véritables mini-mooc dans le mooc.
J’ai mené mon enquête 🧐, et en fait ce sont carrément des leçons d’autres Mooc. En même temps, avec la quantité de contenu qu’ils détiennent, ils ont bien raison de croiser cela pour le plus grand bonheur de leurs étudiants.

Lancement du Mooc
Les premières leçons permettent de dégrossir le sujet et de présenter la trame du Mooc. Puis une partie est consacrée à la configuration de l’espace de travail (Python et Jupyter). C’est très progressif et c’est agréable de se sentir autant guidé.
Après ce chapitre d’introduction (comptez plusieurs heures quand même ^^), nous rentrons dans le vif du sujet.
Il y a 3 grands chapitres :
- Supervised Learning,
- Deep Learning,
- Unsupervised Learning.
Chaque chapitre est composée d’une dizaine de leçons.
Chaque leçon aborde un sujet particulier (une vingtaine de sessions : vidéo, quiz et notebooks).
Chaque leçon nécessite entre 1h et 1h30.
A la fin de chaque chapitre, un “vrai” projet est proposé.
Je résume :
— 3 chapitres
— 10 leçons (/chapitre)
— entre 20 et 30 vidéos, quiz et notebooks (/leçon)
— 1 projet “réel” (/chapitre)
Je vais exposer les grandes notions abordées dans chacun des chapitres.
J’ai vraiment été bluffé par la qualité des projets. Ils sont vraiment qualitatifs. J’en parlerai plus en profondeur dans un prochain article.

Chapitre 1 — Supervised Learning
Si vous avez déjà manipulé scikit learn et que vous maîtrisez les notions de Machine Learning, vous n’allez faire qu’une bouchée de cette partie. En ce qui me concerne, c’est la deuxième partie que j’attendais avec impatience.
Programme :
- Linear Regression
- Perceptron Algorithm
- Decision Trees
- Naives Bayes
- Support Vector Machines
- Ensembles Methods
- Model Evaluation Metrics
- Training and Tuning
- Project: Finding Donors Project
Chapitre 2 — Deep Learning
La deuxième partie explique les bases théoriques du Deep Learning et nous fait prendre en main TensorFlow 2, mais surtout Keras. On est bien loin de la verbosité de TensorFlow 1. C’est tellement plus simple. On enchaîne les notebooks comme une promenade hors période de confinement.
Programme :
- Introduction to Neural Networks
- Implementing Gradient Descent
- Training Neural Networks
- Deep Learning with TensorFlow
- Project: Image Classifier Project
Chaptre 3 — Unsupervised Learning
La dernière partie se concentre sur le Unsupervised Learning en revenant à Scikit-Learn. J’avais quelques notions, mais j’en ai découvert des nouvelles. Les notesbooks m’ont permis de mettre en application ces connaissances. C’est très ludique.
Programme :
- Clustering
- Hierarchical and Density Based Clustering
- Gaussian Mixture Models and Cluser Validation
- Dimensionality Reducation and PCA
- Random Projection and ICA
- Project: Identify Customer Segments
Pédagogie
Le contenu est extrêmement digeste et la progression est faite de manière très pédagogique : vidéos, quiz, vidéo, notebook, vidéo, et enfin le projet qui reprend toutes les notions vues dans le chapitre.
Les vidéos sont de très bonne qualité. Comme la partie techno, on sent qu’elles sont mises à jour régulièrement (TensorFlow 2 !). D’autre part, elles ne vous assoment pas avec une montagne de détails. Autant que possible, des analogies sont illustrées avec des animations. Si vous souhaitez connaître la mécanique mathématique, vous allez être déçus. Mais c’était dans le titre du mooc “Introduction”.
Accompagnement professionnel
Une partie à laquelle je ne m’attendais pas concerne l’accompagnement professionnel. J’ai en fait un paquet des moocs, sur différentes plateformes, de durée plus ou moins longue, de qualité variable.
Je comprends mieux leur positionnement tarifaire grâce à cette partie. Tout au long du Mooc, des parties dites “professionnelles” sont proposées :
- mettre en avant ses compétences sur Github (avec au passage une introduction à Git)
- comment mettre à jour son profil LinkedIn avec ses nouvelles compétences
- slack des Alumni (= uniquement si le mooc est validé). Il ne suffit pas de s’inscrire au mooc pour avoir accès à ce réseau.
- si pendant le mooc, vous avez besoin d’aide d’autres membres, il y a le chat interne
- rédiger son CV et une lettre de motivation
- entretien d’accompagnement 1:1 avec un professionnel du secteur
Clairment, Udacity veut que leur Mooc s’enchaîne avec une sortie positive : embauche, promotion, reconversion …
Je pense que si vous commencez un de leurs moocs et que vous vous donnez les moyens, vous êtes assurés de trouver un job (junior, certes, mais un c’est un premier pas) dans ce secteur. Et avec cette perspective, les 400$ sont un excellent investissement !
De plus, tous ceux qui se cherchent et qui hésitent à se reconvertir savent à quel point il est difficile de faire le premier pas et d’aller au bout : au bout d’un mooc, au bout d’une formation relativement longue …
L’avantage de ce genre de mooc est d’être guidé, accompagné et stimulé tout au long. Il y a même un outil pour planifier ses séances. Cela permet à Udacity de vous envoyer des notifications (emails ou sms) afin de vous motiver avec une citation ou une petite phrase sympa.
C’est bien le premier mooc qui met les moyens pour que leurs étudiants aient toutes les chances de réussir.
Vous l’aurez compris, je suis très agréablement surpris par cet aspect là (et je ne vous ai pas encore parlé des projets !).
Projets “réels”
Je vais en dire quelques mots quand même. Dans la plupart des Moocs que j’ai pu rencontrer, nous sommes évalués avec un QCM (qui peut nécessiter d’écrire un peu de code). Et cela ne va pas plus loin. On sent le mode automatique. En même temps, sur des moocs à moins de 50€ voire gratuits, il fallait s’y attendre.

Udacity ne se moque toujours pas de vous. Vous avez un notebook et vous devez répondre aux questions, compléter des fonctions de code… Dans une démarche de Data Science, ce n’est pas binaire. Tout au long du projet, il y a des questions comme : selon vous, quel algorithme est le plus approprié pour ce cas ? Expliquez en termes simples pour le client et continuez le projet avec cet algorithme.
Il y a des analyses et des choix à faire. Du fait que ce n’est pas binaire (correct ou faux), il s’en dégage une sorte de résponsabilité : j’ai fait tel choix, je vais aller au bout et l’expliquer aussi précisément que possible. Le projet devient plus personnel. Ce n’est pas un QCM qu’on va recommencer plusieurs fois pour avoir la bonne réponse (avec un bon piffomètre, on finit toujours par s’en sortir).
Mais ce n’est pas tout ! La meilleure partie est maintenant. Vous soumettez votre projet. Ils vous assurent un retour en 48h.
Je me suis dit, c’est cool. Je vais savoir si ça passe ou si certains passages ne sont pas clairs.
Quelle ne fût pas ma surprise quand j’ai eu ma “Review” indiquée comme “Failed”. Ce n’est pas le “Failed” qui m’a surpris, mais la qualité de la revue. A chaque étape est présent un commentaire. Parfois, il est très court : “très bien, excellent”.

Parfois, il est plus détaillé : “une méthode plus simple est de faire […]. Parfois, ce sont plusieurs paragraphes : oui, bonne approche. Pour aller plus loin […], consulter tel article pour comprendre […].”
Ouah ! Une vraie personne a corrigé ma copie. Chapeau.
Pour le premier projet, je m’étais trompé dans le calcul d’un coefficient. J’ai mis un 2 en trop.
Je l’ai corrigé, resoumis et c’était validé dans la foulée. Ouf !
Pour résumer, les projets, en plus de s’inspirer d’un cas quasi-réel, permettent de mettre en application tout un panel de compétences. Comme je le précisais, ces compétences ne sont pas seulement technologiques, mais aussi d’analyse et de compte-rendu. Et vous êtes assurés d’avoir des retours personnalisés de votre travail.
Je ne l’ai pas précisé, mais si vous êtes bloqués, vous pouvez échanger avec un mentor. Voilà.
Récap
Les +
- Tout se passe en ligne avec des Notebookes en ligne sur Udacity (et autant de configuration et de téléchargements en moins à faire sur sa machine)
- Projets de fin de chapitre très concrets et des retours VIP
- Tensorflow 2 et Keras : le mooc est à jour !
- Notions bien expliquées pour comprendre le fonctionnement général et démarrer
- Accompagnement professionnel : Linkedin, GIthub
Les —
Ce Mooc n’est pas fait pour vous si :
- vous cherchez à comprendre ce qui sous-passe sous le capot, d’un point de vue algorithmique et mathématique
- vous êtes manager/décideur et que vous ne codez pas
- vous ne parlez pas anglais (faut-il vraiment le préciser ?)
- il coûte son prix, et à moins d’attendre un autre confinement, il faudra faire chauffer la CB pour y avoir accès

Conclusion
Si vous voulez vous initier et vous lancer dans le grand bain du Machine Learning, ce mooc est idéal. Il reprend les fondamentaux, vous accompagne sur tous les concepts et outils à maîtriser. Impossible de se sentir abandonné avec ce Mooc. Pas à pas, le contenu nous fait progresser. Les projets à l’issue de chaque chapitre sont de véritables projets. Ils vous aideront à valider vos connaissances et à vous mettre dans une posture de Data Scientist.
Petit plus de ce mooc par rapport à tous les autres. Ce mooc insiste vraiment sur les compétences professionnelles. Ce n’est pas un amalgat de connaissances et de tutos. Tout au long du mooc, vous êtes accompagnés pour savoir mettre en valeur vos nouvelles connaissances et vous êtes incités à échanger avec d’autres étudiants, à poster sur Github, mettre à jour votre LinkedIn… Cela fait aussi partie de la reconversion professionnelle.
Alors qu’est-ce que vous attendez ?
ps : vous avez des questions sur ce mooc ? Sur la reconversion professionnelle ? Sur le Machine Learning ? N’hésitez pas à me contacter sur les réseaux ou à pro@maximepawlak.fr
Maxime.
Bonus
Deux bonus.
Le premier est une vidéo qui vous présente l’interface Udacity.
Le second est la liste des leçons “extra” qui permettent de se mettre à jour sur les pré-requis :
- Python for Data Analysis
- SQL for Data Analysis
- Command Line Essentials
- Git & Github
- Python for Data Visualization
- Statistics for Data Analysis
- Linear Algebra