This article was adapted from a podcast. Listening/viewing options, as well as a full transcript, available here.
Last Friday, I answered questions from podcast listeners on the “futureproof-ness” of a data science career. Today, I’m handling questions on how to learn machine learning, particularly if you’re starting from scratch.
More specifically, Chad Coon reached out to me in a tweet on Twitter to ask me: “What is the best free learning path for those starting to learn machine learning?”
All right, this is kind of a spammy and super-biased way to start off–which isn’t something I set out to do here on purpose I swear–but when you ask about learning paths in machine learning I can’t resist mentioning that you can create a free account on SuperDataScience.com and check out the four specific learning paths we have there. Roughly ranked from novice to expert in machine learning, they are:
The Data Analyst or Business Intelligence Analyst Track
The Data Scientist Track
The AI Engineer Track
Data Science Manager Track.
You can check out everything there for free and then there’s a small monthly subscription fee to get unlimited access to all of the hundreds and hundreds of hours of content in the SuperDataScience.com platform.
If you’re looking for a single, standalone course to get started, the Machine Learning A-Z course, again by SuperDataScience, is 44 hours long and available via Udemy for typically a couple dozen US dollars or less (note that Udemy pricing is highly variable day-to-day) but assuming you get a discount day it’s a steal at a few cents per hour of video. Again, as host of the SuperDataScience podcast I obviously have a lot of bias on the SuperDataScience courses.
Another option–and one that I’m finally in no way biased about–is that if you’d like to interactively execute example code directly within a platform, I think DataQuest is pretty darn cool. They have a free tier to get started and then charge about $50/month for their Premium tier, which gives you access to everything.
In a Tweet responding to Chad’s original Twitter question on the best free learning paths in ML, the software engineer Matej Kovac kindly recommended my own ML Foundations course, which introduces the foundational subjects -- linear algebra, calculus, probability, statistics, and computer science -- that you’d typically learn in grad school before moving on to machine learning itself. I do personally think it’s the best place to start if you have the time to invest in these foundations but, again, I would be a big proponent of my own course, wouldn’t I?
Anyway, I’ve finished filming more than a quarter of my ML Foundations content and the first eighth is online now with more going up every week. I anticipate it will all be publicly available by the summer.
The content is available for free on YouTube, but in partnership with SuperDataScience, it’s also available as a Udemy course, which includes fully-worked solutions to every exercise and a certificate of completion; and eventually -- after I have all the content recorded and uploaded -- I’ll focus on adding interactive quizzes and handy study sheets to the Udemy course as well.
Once you have a firm grip on all the prerequisite linear algebra, calculus, and probability theory, a classic book to completely master the advanced theory of machine learning is a book called Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville. It’s 100% free at deeplearningbook.org.
Finally, on my personal website, at jonkrohn.com/resources, I maintain tons of free, categorized resources -- data sets, blog posts, videos, books, and so on -- for getting started in machine learning all the way through to being an expert in particular machine learning areas like financial time-series analysis or generally staying at the cutting-edge of all the academic research.
Feel free to tag me in a LinkedIn post or in a tweet @JonKrohnLearns to share your favorite machine learning resource! I’d love to be enlightened, and if I think it’s appropriate I’ll add it to the resources page of my website or talk about it on a forthcoming episode.
That was a long answer to one question! Let’s wrap this up with a related question from Jousef Murad, a brilliant German engineer and host of the Engineered-Mind podcast where I was recently a guest. Jousef asked me in a tweet: “What is one of the hardest concepts for you to understand in ML?”
There are a lot of things that are tricky. While it’s trivially easy for me to execute support vector machine methods with high-level Python code, say in scikit-learn, I’ve forgotten the details of how the underlying kernel trick works to enable support vector machines to work under the covers.
And I also have been very slow to understand how many deep reinforcement learning concepts work in theory. For example–again through hands-on experience–I appreciate how well the Deep Q-Learning algorithm works for complex, sequential tasks like playing video games, but I cannot picture the underlying Q-learning table updates in my mind yet... which definitely annoys me.
There’s always, always, always more to learn in machine learning, and that is part of why I find this field so bloody exciting!
And that’s it for this week! On next week’s FiveMinuteFriday, building on what I discussed today–getting started in machine learning–I’ll be back to discuss how to be a leader in the field of machine learning.
If you’d like to ask me your own data science or machine learning questions or anything at all, feel free to tag me in a post on LinkedIn or on Twitter where my handle is @JonKrohnLearns, and I’ll aim to answer them via social media or perhaps on an upcoming SuperDataScience episode! See ya there soon.