Class Syllabus
Every journey begins with a single step.
What is this?
For the last couple of days, I’ve been getting really into machine learning. Yes, it's all over the news and everyone can’t stop talking about AI. It seems like I should at least learn how this thing works before it becomes our overlord, destroys the economy, or proves to be a complete flop.
I think this technology is fascinating, both in how it works and in the problems it can solve. I’m especially intrigued by the kinds of challenges it will be able to tackle as the field progresses, and I want to be part of that journey. My goal is to learn as much as I can so that I can not only understand it, but also one day contribute meaningfully to the community.
This post is partly a public commitment to that goal. I’m hoping that by documenting my learning in public, I’ll be more consistent in my self-study. I’m trying something new, taking a page out of this create post: Learn In Public. As you can gather from the name, it discusses all the societal and personal benefits that accompany trying to learn and letting people see that you don’t know things.
I was inspired by an interview between Andrej Karpathy and Lex Fridman. In it, they discussed the importance of comparing yourself only to your past self. Comparing yourself to others is a surefire way to kill motivation. In that spirit, this is a place for me to record my own journey so that I can look back at myself in a year and be proud (or disappointed) in my progress.
With the state of the industry and how fast it's moving, I already feel like I’m a hundred years behind, so I want to spend my time efficiently. But I also know how easy it is to waste all of one’s time just planning how to do something rather than actually doing it. So I’ve created a rough study plan detailed below. I’ll adjust it as we go but I think it's more important to just dive in than find the exact right place to start.
The Plan
I’ve got a degree in computer science where I took introductory ML/AI/Math classes in college and I software engineer for a living (yes I made it a verb). So if you’re reading this to crib my syllabus, then just know that it assumes baseline proficiency in those subjects.
The plan is straightforward:
Step one: Binge watch 4blue1brown’s playlists on linear algebra + neural nets as a refresher. Step two: Watch Neural Networks: Zero to Hero
At the time of writing this, I’m mostly done with step 1 and I’ve done one video of step 2. As you can tell I’m not great at accomplishing things in a linear order. If you aren’t familiar with the zero to hero series, it’s a pretty great resource of long-form informative walk-throughs of machine learning concepts with code. The first video was so amazing, I think I have a lot to learn from the next 9.
Just watching videos isn’t enough to learn how to do anything. Kaggle.com is a great resource for data scientists to learn by participating in competitions with premade datasets and leaderboards. My goal is that by next year I will feel like I have at least a chance to compete in one of the cash prize competitions.
So anyway we’ll take it step by step. If you read this far, wow, thank you! If you have feedback, advice, or just comments, please feel free to reach out and say hi.