What Stanford’s Artificial Intelligence Professional Program is like
If you’re thinking about Stanford’s AI Professional Certificate program, I hope you might find this article helpful.
This meme pretty much sums up my reaction after opening the first problem set.
Why? Well, you see, sh*t’s hard.
For those who don’t know, CS229i is a machine learning class at Stanford. It is part of Stanford’s Artificial Intelligence Professional Program.
In the first problem set, we were asked to derive the mean and variance of the exponential family’s probability density function (PDF). We were also asked to compute the Hessian matrix of the loss function derived from exponential family distribution.
Last time I touched multivariable calculus and linear algebra was during freshman year of college. Needless to say, I forgot a lot of math.
Thus, unless advanced math is engrained in your memory and you’re a strong programmer, CS229i is going to be hard. But that’s okay, because you are not alone!
With help from course mates and course facilitators, I managed to pull through the first 3 problem sets with minimal injury.
What CS229i is like
Material
The course material is from Stanford’s Autumn 2018 CS229 class. You can actually find the full playlist on YouTube. As part of the course, you get access to an online portal where the YouTube videos are broken down into shorter and easier-to-follow segments.
Let me just say, with this class, you’re not paying for the content. The content is online for free. What you are paying for is an in-depth understanding into the math and implementation behind the learning algorithms covered in class. You get this in-depth exposure via graded problem sets.
Problem sets
There are 5 problem sets in total, each worth 40 points. In order to pass the class, you need to get 140 out of 200 possible points.
The class is self-paced, i.e. you can watch the lecture videos at your own pace. However, each problem set has a due date, acting as a guidance for the pacing of the class.
As I’ve mentioned, the problem sets are no joke. I’ve probably spent an average of 15 hours on each of the first two problem sets. This is partly because I forgot a lot of math, and had to go down a rabbit-hole on the net (namely wikipedia and medium.com).
Class structure
There are over 100 people, from ~30 countries, taking the class together. From brief intros, it seems we the students are from all walks of life. We have machine learning engineers, data scientists, software engineers, doctors, scientists, etc.
Each student is assigned a course facilitator. The course facilitators are kind of like TAs. They hold office hours twice a week to help students with questions.
All of us (students and facilitators) are in a Slack workspace, and Slack is where most communication happens. What I like about Slack is the ability to shamelessly ask questions, at any hour of the day. Somebody is going to respond in the next few hours. I’ve indeed gotten a lot of help from other students and course facilitators via Slack.
My thoughts so far
I’ve really enjoyed the class so far. Any old fool (ok, not fool) can import scikit-learn and train a logistic regression. However, I really enjoy the process of implementing learning algorithms myself. Getting a second exposure to advanced calculus and linear algebra was also a breath of fresh air. I needed to wake up those brain cells.
I’m surprised by the amount of effort I needed to put into the class. I’ve taken classes through other programs, and they weren’t nearly as challenging. On average, I’d say I put in about 20 hours a week to the class, and none of these 20 hours were on “busywork.”
Looking forward
I’m super excited to finish the course. Looking forward, our next problem set includes implementing both the forward- and back-propagation of a neural network (with and without regularization). I have no idea how to do that yet, but I’m sure the learning journey is going to be fascinating!
Stay tuned for another review of CS229i upon my completion of the course :)
Any questions? Feel free to ask in the comments below!