CS229: Machine Learning

Fall 2025


Instructor


Course Description   This course provides a broad introduction to machine learning and statistical pattern recognition. Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs, practical advice); reinforcement learning and adaptive control. The course will also discuss recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.


Course Information

Time and Location
Instructor Lectures: Mon, Wed 1:30 PM - 2:50 PM Hewlett 200
CA Lectures: Please check the Syllabus page or the course's Canvas calendar for the latest information.
Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy to the equivalency of CS106A, CS106B, or CS106X, familiarity with probability theory to the equivalency of CS 109, MATH151, or STATS 116, and familiarity with multivariable calculus and linear algebra to the equivalency of MATH51 or CS205. Please see pset0 on ED.
Quick Links
All links will require a Stanford email to access. Course documents are only shared with Stanford University affiliates.
Contact and Communication
Ed is the primary method of communication for this class. Please do NOT reach out to the instructors (or course staff) directly, otherwise your questions may get lost. Due to a large number of inquiries, we encourage you to first read the Course Logistics and FAQ document for commonly asked questions, and then create a post on Ed to contact the course staff.
This quarter we will be using Ed as the course forum.
  • All official announcements and communication will happen over Ed.
  • Any questions regarding course content and course organization should be posted on Ed. You are strongly encouraged to answer other students' questions when you know the answer.
  • For private matters specific to you (e.g. special accommodations, requesting alternative arrangements etc.), please create a private post on Ed.
  • For longer discussions with TAs, please attend office hours.
  • TA office hours can be found on Canvas. For the course calendar, see also Canvas and the Syllabus and Course Materials page.
  • Before the beginning of the course, please contact the head TA for logistical questions (ideally after consulting the FAQ link).
AIWG Statement
This course is participating in the proctoring pilot overseen by the Academic Integrity Working Group (AIWG). The purpose of this pilot is to determine the efficacy of proctoring and develop effective practices for proctoring in-person exams at Stanford. To find more details on the pilot or the working group, please visit the AIWG’s webpage.
OAE Deadlines Statement
IMPORTANT OAE DEADLINES: If you plan to use your OAE-approved exam accommodations for a specific assessment, students must provide their letter and inform the instructor by:
  • 10 calendar days prior to a midterm or quiz date.
You only need to submit your letter once per quarter. For urgent OAE-related accommodation needs that arise after the deadline, please consult your OAE adviser. If you are not yet registered with OAE, contact the office directly at [email protected]

Course Staff

Course Manager
Head Course Assistant
Course Assistants
Course Advisor

Course Schedule (September – December 2025)

Note: This schedule is tentative and subject to change.

Date Session Topic Details
September 22, 2025 Lecture 1 Introduction Problem Set 0 Released
September 24, 2025 Lecture 2 Supervised learning setup. LMS. Problem Set 1 Released
September 26, 2025 TA Lecture 1 Linear Algebra Review
September 29, 2025 Lecture 3 Weighted Least Squares. Logistic regression. Newton's Method
October 1, 2025 Lecture 4 Dataset split; Exponential family. Generalized Linear Models. Problem Set 0 (Due at 11:59 pm PT - Ungraded)
October 2, 2025 Discussion 1 TBD
October 3, 2025 TA Lecture 2 Probability Review
October 6, 2025 Lecture 5 Bias-variance tradeoff, regularization Final Project Proposal (Due at 11:59 pm PT)
October 8, 2025 Lecture 6 Gaussian discriminant analysis. Naive Bayes, Laplace Smoothing. Problem Set 2 Released
Problem Set 1 (Due at 11:59 pm PT)
October 9, 2025 Discussion 2 TBD
October 10, 2025 TA Lecture 3 Python/Numpy
October 13, 2025 Lecture 7 Kernels. SVM.
October 15, 2025 Lecture 8 K-Means. GMM. Expectation Maximization
October 16, 2025 Discussion 3 TBD
October 17, 2025 TA Lecture 4 Evaluation Metrics
October 20, 2025 Lecture 9 Decision trees
October 22, 2025 Lecture 10 Boosting Problem Set 3 Released
Problem Set 2 (Due at 11:59 pm PT)
October 23, 2025 Discussion 4 Practice Midterm Question Walk-through
October 24, 2025 TA Lecture 5 Midterm Review
October 27, 2025 Lecture 11 Neural Networks 1
October 29, 2025 Lecture 12 Neural Networks 2 (backprop)
October 30, 2025 MIDTERM MIDTERM EXAM Location TBD (6-9 pm PT)
No TA Lecture (Midterm Week)
November 3, 2025 Lecture 13 ML Advice
November 5, 2025 Lecture 14 Basic concepts in RL, value iteration, policy iteration Problem Set 4 Released
Problem Set 3 (Due at 11:59 pm PT)
November 6, 2025 Discussion 5 TBD
November 7, 2025 TA Lecture 6 Deep Learning (Convnets)
November 10, 2025 Lecture 15 Model-based RL, value function approximator
November 12, 2025 Lecture 16 PCA Final Project Milestone (Due at 11:59 pm PT)
November 14, 2025 TA Lecture 7 Transformers
November 17, 2025 Lecture 17 Large language models — learning tasks, language modeling, embeddings, transformers
November 19, 2025 Lecture 18 Large language models — RAG, fine-tuning, prompt optimization, safety Problem Set 4 (Due at 11:59 pm PT)
December 1, 2025 Lecture 19 Fairness, algorithmic bias, explainability, privacy
December 3, 2025 Lecture 20 Fairness, algorithmic bias, explainability, privacy
December 5, 2025 Final Project Report Final Project Report (Due at 11:59 pm PT)
December 10, 2025 Final Project Poster Session Final Project Poster Session (3:30 pm - 6:30 pm PT)