Best Path for Developers to Get into Machine Learning (ML4Devs Newsletter, Issue 4)
Satish Chandra Gupta
Data/ML Practitioner ? Advisor/Consultant for data & AI strategy, data infra, machine learning, and LLMs/GPT ? Ex- Amazon, Microsoft Research
The most frequent question I get from developers is: what is the best way to get into Machine Learning?
A few years back, my response was:
Though that response was honest and sincere, I realized soon that it was taken as a motherhood statement. So as a more concrete reply, I narrated my path in an article:?An Engineer’s Trek into Machine Learning, and I shared the link whenever someone asked.
I genuinely thought I have simplified it with that article but it was still not simple enough. The reason is fearful analysis paralysis:
So, let me first say that I do NOT know what is the BEST way. but I know a reasonably good way. And starting on a reasonable good path is much better than looking for the best path.
If you are a developer, and you prefer learning by doing, here is a path that optimizes for speed in acquiring functioning knowledge. It first does a breadth-first scan of ML techniques and applies those to problems, and then explore deeper based on the problem at hand.
Step 1: Start with Kaggle micro-courses
Each of the Kaggle micro-course takes 3-5 hours. Start with these 5:
Move to Step 2, but return and do these 3 as you gain more experience:
Return to these when you feel the need to learn neural networks:
Step 2: Participate in Kaggle Competitions
Nope, I am not talking about those $$$ competitions. Checkout:
If you prefer a more structured approach, you can try:
领英推荐
By now you will have a good overview of techniques and some taste of applying them.
Step 3: Do an ML crash course or Bootcamp
The last two steps were designed to quickly get you up and running. Now is the time to scratch a bit more. Try?Google’s ML crash course, or any other course for practitioners (e.g.?Udemy DS/ML Bootcamp).
My advice: don’t do it passively. Apply it to a problem that you have at work or play. Maybe even try out $$$ Kaggle competitions.
Step 4: Andrew Ng's ML Course
Many people use?Andrew Ng’s ML course?as the starting point. It has math but not too much. I highly recommend it. It will give you a peek into what is happening behind the Scikit Learn APIs that you have been using so often. The course uses Matlab, but some people have implemented the?ML course assignments in Python?too.
Step 5: Neural Networks
Neural Networks are used for processing images, natural languages, and speech audios. After Kaggle DL and Vision micro-courses mentioned in Step1, you can try?TensorFlow?or?PyTorch?tutorials.
Then What?
These 5 steps will give you a pretty good practitioner’s know-how to work on various ML problems. And that is what I recommend: now apply what you have learned.
There might come a time when you will feel that you don’t know enough. But by then you would know the field and yourself well enough to figure out your next step. Maybe dive into math with?An Introduction to Statistical Learning, or advance courses at?DeepLearning.ai, or?NLP course from HuggingFace.
Finally, on Jupyter Notebooks
While you do these courses and practice, you will be using Notebooks. But as software developers, you will also see the challenges in productionizing the notebooks. This is a continuing debate:
My opinion: tools are designed for a purpose, and we should develop judgement for picking the best tool for the task at hand. I neither love nor hate notebooks, I just use them when convenient.
I hope you enjoyed this issue. Do let me know what path you took from developers to data science.
ML4Devs is a biweekly newsletter for software developers. The aim is to curate resources for practitioners to design, develop, deploy, and maintain ML applications at scale to drive measurable positive business impact. Each issue discusses a topic from a developer’s viewpoint.
Enjoyed this? Originally published in?ML4Devs.com. Don't miss the next issue. Join 1.2K+ subscribers and?get it in your email:
Cloud SME/Architect Booz Allen Hamilton
2 年How do I learn ML although I have not programmed for a longtime
InsureTech and HealthTech
2 年Satish Chandra Gupta Very well written!! A crisp guide for a developer to jump into ML