Over the past few months, I’ve spent much of my free time learning with a Codecademy Pro subscription. I was on a self-curated curriculum starting with “Learn Python 3” and ending with “Building Deep Learning Models on TensorFlow”. I felt it was time (and money) well-spent, helping me get up to speed on a lot of concepts and vocabulary on machine learning with deep learning. I enjoyed it a lot and can recommend going through the same path I did, with upsides and caveats documented over the past few blog entries.
But no one path is best for everyone, so I thought it’s worth noting a few alternative approaches. Top of the list is the learning or “Courses” section on Kaggle. They are free of monetary cost and does not require equivalent of a Codecademy Pro subscription. The course materials are Kaggle’s interactive documents that resemble Jupyter notebooks. (Whether Kaggle was inspired by Jupyter or actually cloud-hosted Jupyter I don’t know.) But it provides an interactive learning environment of a different style than Codecademy’s learning environment. In hindsight I can see how this approach might be better. Codecademy course tells us about Jupyter and Kaggle and encourages us to learn them, but going with Kaggle courses means we can start with The Real Deal immediately. Another upside is that I found it much easier to navigate/skip/skim through Kaggle course sections in their notebook format. In comparison I thought it was cumbersome to navigate through Codecademy units whenever I want to go back and review material.
One downside is that these courses assume more background than Codecademy does. For example there’s nothing to teach basic statistics and probability — the student is assumed to know them (or learn them elsewhere.) A final downside for me personally is that there’s very little here on applying deep learning to reinforcement learning. Their “Intro to Game AI and Reinforcement Learning” unit has just a single notebook “Deep Reinforcement Learning” that opens with the disclaimer:
In this notebook, we won’t be able to explore this complex field in detail, but you’ll learn about the big picture and explore code that you can use to train your own agent.
Given that what I find interesting is missing, I don’t think I’ll spend very much time on Kaggle. In principle, there’s value in seeing Kaggle instructors take on the same fundamentals for a more well-rounded foundation. In practice I’m impatient to get closer to my target. Perhaps I’ll return later for a refresher. In the meantime, Kaggle Learn might be a better option than Codecademy Pro for those who (A) already have a stronger background in the area, or (B) who prefer the notebook learning format, or (C) could not justify spending money for Codecademy Pro.
And for those that prefer video lecture format, there’s Google’s Machine Learning Crash Course.