Back to index
Other14 weeks, around 12 hours per week·Free, lecture notes and past exams are public

Berkeley CS 189/289A: Introduction to Machine Learning

4.3

The notes are the reason to come here. They are unusually complete, unusually careful, and they explain the derivations that most courses wave through. Everything else about self-studying this course is harder than it should be.

What We Liked

  • The lecture notes are among the best written machine learning teaching materials available for free
  • Derivations are done properly rather than gestured at, which is rarer than it should be
  • Strong coverage of the classical methods that modern courses skip past too quickly
  • Past exams are public and are a genuinely useful way to test whether you understood anything

What Could Be Better

  • Assumes linear algebra, multivariable calculus and probability at a level most self-learners overestimate
  • Homework assignments are not reliably available to outsiders, which removes half the learning
  • Almost nothing on deep learning beyond the basics, by design
  • No video lectures on a consistent public schedule, so you are reading rather than watching

Detailed review

There is a difference between a course that teaches you to use machine learning and a course that teaches you why machine learning works, and CS 189 is firmly the second kind. It is the course Berkeley undergraduates take when they want the mathematics rather than the recipes, and the materials that leak out to the public reflect that priority completely. The lecture notes deserve most of the attention. They are written with a level of care that is genuinely uncommon, walking through derivations step by step rather than presenting a result and moving on.

When you get to the derivation of the normal equations, or the connection between regularisation and a prior, or why the kernel trick works rather than merely what it does, the notes actually do the work. I have read a lot of machine learning teaching material and very little of it explains things this patiently. If you have ever sat through a lecture where an equation appeared on a slide with the word obviously attached to it, these notes are the antidote. The content is classical and that is a deliberate choice worth defending.

You get linear and logistic regression done properly, support vector machines with the full margin argument, decision trees and ensembles, principal component analysis, clustering, and the statistical learning theory that explains why any of it generalises. Deep learning appears but it is not the point. In a landscape where every course races toward transformers, spending a semester on the methods that came before is not nostalgia, it is the foundation that makes the newer material comprehensible rather than magical. Someone who understands the bias variance tradeoff properly reasons about neural networks better than someone who has only ever trained neural networks.

The exams are worth mentioning because they are public and they are hard in a useful way. Past exams from a real course are the closest a self-studier gets to honest feedback, and working through them will show you the difference between having read something and having understood it. That gap is uncomfortable and it is exactly the thing self-study normally hides from you. Now the problems, and they are real.

The prerequisites are steep and they are not negotiable. You need linear algebra to the point where eigendecompositions and matrix calculus feel routine, multivariable calculus, and probability including the multivariate normal. Every course description says something like this and most people ignore it. Here you cannot, because the notes assume that fluency on every page.

Someone arriving from a Python bootcamp will not get through the first month, and the failure will feel like the material being impossible rather than the prerequisites being missing. The bigger practical issue is that this is a real university course rather than a product designed for outsiders. Homework assignments come and go from the public site, autograders are not available to you, and the coding work that turns the mathematics into understanding is often out of reach. You can read every note and still not have implemented very much.

That is a serious limitation for a subject where implementation is where the understanding actually lands, and it is the main reason this sits at four point three rather than higher. Video coverage is inconsistent too. Different semesters have different recording arrangements and what is publicly available shifts around. If you are someone who learns from lectures rather than from text, this course will feel like a book with no teacher attached, because in practical terms that is what it is.

My honest recommendation is to treat CS 189 as a mathematics reference rather than a course. Work through another course for structure and hands on practice, and come here whenever you want a derivation explained properly. Used that way it is close to indispensable. Used as your only resource it will leave you with a head full of theory and very little you have actually built, which is not a state anyone should aim for.

[ final ]

The verdict.

Take this for the notes and the mathematical grounding. Do not take it expecting a self-contained online course experience, because it was never built to be one.