CPSC 532D: Statistical Learning Theory – Fall 2026 (26W1)
Instructor: Danica Sutherland (she): dsuth@cs.ubc.ca
but use Piazza, ICICS X563.
ICICS X563.
TA: Yao Kuang (he).
Lecture info: Tuesdays/Thursdays, 14:00 - 15:30, Henry Angus 235.
Office hours: TBA.
Piazza (or
more-direct link); Gradescope (or more-direct link).
Previously offered in 25W1, 24W1, 23W1, 22W1, and
(with the name 532S) 21W2; this instance will be broadly similar.
This is a course on the mathematical foundations of machine learning. When should we expect ML algorithms to work
(or not work), and what kinds of assumptions do we need to make to rigorously prove this?
Schedule
Italicized entries are tentative.
The lecture notes are self-contained,
but the supplements column also refers to the following books (all available as free pdfs) for more details /
other perspectives:
- SSBD (2014) is the easiest
to understand but sometimes over-simplified (sometimes in ways that make it incorrect);
- MRT (second edition in 2018) can be written in a more
opaque way and also contains some notable errors, but is at about the level of detail we mostly use;
- Bach (2025) is maybe similar to MRT, in my
opinion easier to follow but has a somewhat different focus (more stats-y than CS-y);
- Zhang (2023) is usually at a more advanced,
and often more abstract, level than we mostly cover.
Lecture notes are available both as one big textbook-style PDF and as converted HTML;
the conversion has a few artifacts,
but still might be easier to read on a phone/etc.
There are also individual chapter PDFs linked below.
Although the notes are mostly complete,
I'll edit things as we go,
so don't just download the "textbook" version at the start of term and stick to that.
Generally, I'll only do minor edits to a topic after the corresponding class (fixing errors / clarifying things),
and I'll let you know in class and/or on Piazza if any of those changes were important.
Appendices in the notes with some background information (also in the big version):
Singular Value Decompositions,
function spaces,
convexity.
| Date |
Topic |
Supplemental Reading |
| Tu | Sep 8 | No class: Imagine UBC |
| Th | Sep 10 | Course intro, ERM | SSBD 1-2; MRT 2; Bach 2 |
| Th | Sep 10 | Assignment 1 posted (pdf, tex) — loss functions, ERM |
| Tu | Sep 15 | Uniform convergence: finite classes | SSBD 2-4; MRT 2; Bach 4.4 |
| Th | Sep 17 | Concentration inequalities | SSBD B; MRT D; Bach 1.2 Zhang 2; Wainwright 2 |
| M | Sep 21 | Assignment 1 due at 11:59pm |
| M | Sep 21 | Add/drop deadline |
| Tu | Sep 22 | Covering numbers | Bach 4.4.4; SSBD 27 Zhang 3.4/4/5 |
| Th | Sep 24 | Finish covering | |
| Th | Sep 24 | Assignment 2 posted (pdf, tex) — uniform convergence, concentration, covering |
| Tu | Sep 29 | Rademacher complexity | MRT 3.1; SSBD 26 Bach 4.5; Zhang 6 |
| Th | Oct 1 | Finish Rademacher | |
| Tu | Oct 6 | VC dimension | SSBD 6; MRT 3.2-3.3 |
| Th | Oct 8 | Finish VC; start PAC learning, no free lunch | SSBD 5; MRT 3.4 Bach 4.6/12; Zhang 12 |
| F | Oct 9 | Assignment 2 due at 11:59pm |
| Tu | Oct 13 | Finish PAC/no free lunch/the “fundamental theorem” | |
| Th | Oct 15 | Realizable online learning | SSBD 21 |
| Tu | Oct 20 | Approximation error: structural risk minimization, min description length | SSBD 7; MRT 4 |
| Th | Oct 22 | More approximation error | |
| Tu | Oct 27 | Universal approximators | Telgarsky 2; SSBD 20 Bach 9.3; SC 4.6 |
| Th | Oct 29 | Optimization: gradient descent | SSBD 14 + papers/books in notes |
| F | Oct 30 | Assignment 3 due |
| F | Oct 30 | Withdrawal deadline |
| Tu | Nov 3 | Nonconvex optimization, start is ERM enough? | |
| Th | Nov 5 | Finish ERM insufficiency Start implicit regularization and margins | Bach 11.1; MRT 5; SSBD 15, 26 |
| Tu | Nov 10 | No class: midterm break |
| Th | Nov 12 | More margins | |
| Tu | Nov 17 | Finish margins | |
| Th | Nov 19 | Neural tangent kernel / kernels in general | Bach 7, MRT 6, SSBD 16 Bach 11.3, Telgarsky 4 |
| F | Nov 20 | Assignment 4 due |
| Tu | Nov 24 | More kernels | |
| Th | Nov 26 | Finish kernels | |
| | | Paper-reading assignment: self-scheduled appointments available on dates TBA |
| Tu | Dec 1 | Stability | SSBD 12; MRT 14 |
| Th | Dec 3 | Bonus: more online learning, PAC-Bayes | SSBD 21 / FHMM (COLT 23) Alquier (FTML 24) |
| ? | Dec ?? | Final exam sometime during Dec 11–22 |
Logistics
The course meets in person in Henry Angus 235, with
possible rare exceptions (e.g. if I get sick but can still teach, I'll move it online).
Grading scheme: 70% assignments, 30% final.
- There will be four or five assignments involving proving and exploring various things related to the
course material through the term. These should be written in LaTeX and handed in on Gradescope; expect
each one to take a significant amount of time. These will mostly be proofs / similar math and conceptual
questions; there may occasionally be some light programming involved, or maybe not. Nothing major on the
programming side, just exploring some concepts / running some experiments to see how it interacts with
the math.
- There will be one or two assignments that involve reading a paper, reacting to it, poking at its
assumptions slightly further, and answering questions about it orally; details to come.
- The final will be a traditional handwritten, in-person exam.
Registration info
There may be a waiting list for this course. My strong expectation and hope, based on every previous time I
have taught it, is that everyone who wants to take the course will get into it; typically enough people
drop, and if not we can expand the section size somewhat. If you're interested in the course, come to class
even if you haven't officially been admitted into it yet.
Auditors are welcome, assuming there's space in the room. Please formally audit the course unless there's a
reason you can't; talk to me if so.
Undergraduates are also welcome if they feel they meet the informal prerequisites;
several undergraduates have taken, enjoyed, and done well in previous offerings of this course. There is a
form to fill out; see instructions here. Typically, this
process is entirely straightforward (but takes some time) if you've done at least 75% of the 300- and
400-level credits required for your degree, have an average of at least 76% in them, and have taken at most
one previous graduate course for credit. If you don't fall in those situations, talk to me.
Prerequisites
There are no formal prerequisites.
TL;DR: if you've done well in CPSC 340/540 or 440/550, didn't struggle with the probability stuff
there, and are also pretty comfortable with proofs, you'll be fine. If not, keep reading.
I will roughly assume the following; if you're missing one of them, you can probably get by, but if you're
missing multiple, talk to me about it.
- Basic "mathematical maturity": familiarity with reading and writing proofs, recognizing a valid proof,
etc. Math 220/226 is good, as is having taken a proofs-based math course at non-UBC places (typically
analysis / abstract algebra / some linear algebra courses, but this will vary); CPSC 121, maybe
third-year or up theoretical CS / stat courses, etc are all probably also fine. You should probably know
roughly the content covered in, say, PLP: an introduction to mathematical
proof or the Book of Proof.
- Ideally, a basic understanding of machine learning, as in CPSC 340, CPEN 355, or probably CPSC
330/related courses. If you don't have this, you should still be able to get by, but might have to do a
little more reading on your own.
- Probability: basic comfort with manipulating probability statements, etc. Anyone having done well in
CPSC 420, 436R/536N, 440/550, 532W, most graduate Stat classes, many graduate CS theory classes, etc
should be fine. Ideally, Math 302/318/418 or Stat 302. Also probably should be fine: Stat 241/251, Econ
325/327.
- Linear algebra: ideally Math 310, but Math 152/221/223 are fine; anyone who's done well in CPSC 340/540
or 440/550 should probably be fine. We don't need anything special here, I'm just going to write matrix
expressions and assume you know what's going on. Later in the course we will use a little bit of
abstract vector spaces / Hilbert spaces, but we'll cover that if you haven't seen it before.
- Multivariate calculus: maybe Math 200/217/226/253/263; anyone who's done well in CPSC 340/540 or 440/550
should be fine. Nothing special here either, I'm just not going to explain what a gradient is.
- Analysis of algorithms: CPSC 221 (basic algorithms + data structures) should be fine to get by, though
421 (NP-completeness, etc) would be the best case. Any statisticians or mathematicians who haven't taken
this, you should be fine.
- Basic mathematical programming ability in any language: being able to plot functions, etc.
- Ideally, familiarity with programming in a machine learning / statistical context, e.g. being
comfortable with numpy and PyTorch/TensorFlow/etc. This is not required, but there may be
some options may be easier / more fruitful / more fun if you're comfortable with it.
- In the absolute best case, real and functional analysis (eg Math 320, 321, 420, 421). This is
very much not required, and most people who've succeeded in the course haven't taken this, but we
use a few tools from these fields. I'll explain what we need from them as we see them.
If you have any specific questions about your background, please ask.
Resources
If you need to refresh your linear algebra or other areas of math:
- Mathematics for Machine Learning (Marc
Deisenroth, Aldo Faisal, Cheng Soon Ong; 2020) – a nice overview of basics.
- Linear Algebra Done Right (Sheldon Axler, fourth edition 2024)
– a great introduction towards the abstract sides of linear algebra; the book I used for self-study as a
teenager.
In addition to the books above, some other points of view you might like:
Measure-theoretic probability is not required for this course, but there are instances and related
areas where it could be helpful:
- A Measure Theory
Tutorial (Measure Theory for Dummies) (Maya Gupta) – 5 pages, just the basics
- Measure Theory, 2010
(Greg Hjorth) – 110 pages but comes recommended as both thorough and readable
- A Probability Path (Sidney
Resnick) – frequently recommended textbook aimed at non-mathematicians to learn it in detail, but it's a
full-semester textbook scale of detail; available if you log in via UBC
- There are also lots of other places, of course; e.g. the probability textbooks by Billingsley, Klenke,
and Williams are (I think) classics.
Some similar courses:
Policies
Academic integrity
The vast majority of you are grad students. The point of grad school classes is to learn things; grades
are not the point. For PhD students, they're almost totally irrelevant to your life; for master's
students, they barely matter if at all. Cheating, or skirting the boundaries of cheating, does not
assist with your learning, but it does potentially set you down a slippery slope towards research
miscoduct, which undermines the whole enterprise of science. So, don't cheat; talk to me about what
you're struggling with that's making you feel like you need to cheat, and we can figure something out. (Or
just take the lower grade.)
You can read more about general UBC policies: Academic
Honesty, Academic
Misconduct, and Disciplinary
Measures. You should also read the Student
Declaration and Responsibility to which you've already implicitly agreed.
For the purposes of this class specifically:
- Do not use generative AI tools (ChatGPT/etc) to answer assignment questions.
- It is okay to use these tools for pure content-neutral help with LaTeX formatting, or
Grammarly-type tools for grammar/etc. It is not okay to use them in any content-dependent
way that has to do with your actual proof/etc. If you're not sure, ask.
- I do absolutely now use these tools as part of my process for proving things in research. You might too.
But I don't think you'll learn anything from the assignments if you just have an LLM do them for you,
and knowing how to do these proofs is very much still an important part of working with them.
- Do not ask friends or look online for old solution files. If you somehow happen across one, don't
read it, and let me know right away how you came by it.
- Do not share any assignment solution files, whether the ones we release or your own writeups.
Sharing includes giving them to friends, uploading them to public websites, etc.
- If you think you did something especially cool/nonstandard and want to show it off, it's
definitely okay to do that with people currently in the class or who have taken it already. If
you want to use it as a part of something else, talk to me first!
- Do not otherwise specifically seek out answers to the assignment questions; there will be a few
that are available in solution manuals, textbooks, papers, etc if you go looking, so don't specifically
go looking.
- You can look at general reference materials, e.g. the materials linked on the course site or
just looking up topics we're covering. If you happen across a problem solution when you're doing that,
that's okay; just don't copy it, write the solution yourself, and say what happened
including a link/reference to the specific source. You won't lose points for doing this, but try not to
have it happen!
- You can discuss general ideas, strategies, techniques etc. of the assignments with peers.
- If you do, write up the solution alone without notes and ensuring you fully understand
it.
- If you do, put a little note in your solution about who you talked to and to what extent.
(You won't lose points for this, please tell me!)
- Do not sit down and write out the exact solution together unless you're an official
assignment partner (which is not allowed on assignment 1).
- When you have an explicit assignment partner:
- It's fine to either sit down and solve things together, or to do things separately and then
merge answers.
- Do not say “you do problem 1, I'll do problem 2.” By putting your name on an
assignment, you are pledging that you fully understand and contributed at least in part to
everything you hand in.
- If you end up doing part of the assignment together and part separately, then hand in separate
solution files and put a note on each question where it's relevant like “I did this
problem with Alice.”
- For the exam, standard closed-book exam rules apply:
- I'll tell you what notes you can bring to the exam.
- No referring to any other materials, looking over someone's shoulder, “going to the
washroom” and instead running to a friend's computer to google something, etc.
- If you're not sure what's allowed and what's not, ask!
Penalties for academic dishonesty can be quite severe (including failing the course or being expelled from
the program), and I can say from experience that the process is very unpleasant for everyone
involved. Please just don't; talk to me instead, and we can work something out.
Positive Space
This course, including class / Piazza / office hours / etc, is a positive space both in the specific sense
linked there and also in that I truly hope everyone can feel safe and supported in the class. If anyone is
making you feel uncomfortable in any way, please let me know immediately. If I'm the one causing the issue
or you would otherwise rather speak to someone other than me, please immediately talk to your departmental
advisor or a CS department head (currently Margo Seltzer and Joanna McGrenere; email head@cs.ubc.ca.)