CS229: Machine Learning

Winter 2025


Instructors


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 (PT) at Gates B1 Auditorium
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).

Course Staff

To help with project advice, each member of course staff's ML expertise is also listed below.

Course Manager
Head Course Assistant
Aman Patel
Aman Patel
Computational Biology, General ML
Course Assistants
Shiny Weng
Shiny Weng
Statistical Learning, Trustworthiness, Computer Vision
Zipeng Fu
Zipeng Fu
Robot Learning, Reinforcement Learning
Jacob Frausto
Jacob Frausto
Computer Vision, Reinforcement Learning, LLM agents
Minsik Oh
Minsik Oh
NLP, LLM Post-training, Representation Learning
Thomas Chen
Thomas Chen
ML theory
Simran Nayak
Simran Nayak
Statistical Learning, General ML
Amy Guan
Amy Guan
Statistical Learning
Priya Khandelwal
Priya Khandelwal
Computer Vision, GNNs, ML Systems, LLMs
John So
John So
Robot Learning, RL, CV
Sai Saketika Chekuri
Sai Saketika Chekuri
General ML, Computer Vision, RL
Medhanie Irgau
Medhanie Irgau
Generative Models, Privacy, PEFT
Zhen Wu
Zhen Wu
Character Animation, Robotics
Zikui Wang
Zikui Wang
Computer Vision, LLMs
Jubayer Ibn Hamid
Jubayer Ibn Hamid
Reinforcement learning, Robot learning
Arya B.
Arya B.
NLPs, GNNs, Systems, Robotics, CV

Course Schedule (January – March 2025)

Note: This schedule is tentative and subject to change.

Date Session Topic Details
Jan 6, 2025 Lecture 1 Introduction: What is Machine Learning, History of ML/AI Problem Set 0 Released
Jan 8, 2025 Lecture 2 Linear Regression, Training, Gradient Descent, Normal Equations Problem Set 1 Released
Jan 10, 2025 TA Lecture 1 Linear Algebra Review  
Jan 13, 2025 Lecture 3 Regularization, Ridge Regression, Validation Sets  
Jan 15, 2025 Lecture 4 Linear classifiers, Logistic Regression, Learning from Weighted Data Problem Set 0 Due (11:59pm PT)
Jan 17, 2025 TA Lecture 2 Probability Review  
Jan 20, 2025 Lecture 5 MLK - HOLIDAY, NO LECTURE  
Jan 22, 2025 Lecture 6 Neural Networks: Introduction, Basic Architecture (MLP) Problem Set 2 Released
Problem Set 1 Due (11:59pm PT)
Jan 24, 2025 TA Lecture 3 Python/Numpy Final Project Proposal Due (11:59pm PT)
Jan 27, 2025 Lecture 7 Neural Networks: Multi-Class Loss, Backpropagation  
Jan 29, 2025 Lecture 8 Neural Networks: Optimization, Advanced Architecture  
Jan 31, 2025 TA Lecture 4 Pytorch  
Feb 3, 2025 Lecture 9 Neural Networks: Transformers and Language Models  
Feb 5, 2025 Lecture 10 Neural Networks: Convolutional Networks (CNNs) and Pre-trained Models Problem Set 3 Released
Problem Set 2 Due (11:59pm PT)
Feb 7, 2025 TA Lecture 5 Midterm Review
Feb 10, 2025 Lecture 11 Decision Trees  
Feb 12, 2025 Lecture 12 Boosting, Adaboost  
Feb 13, 2025 MIDTERM MIDTERM Exam Location TBA (6-9pm PT)
No TA Lecture
Feb 17, 2025 Lecture 13 President's Day - HOLIDAY, NO LECTURE  
Feb 19, 2025 Lecture 14 Advance Machine Learing Problem Set 4 Released
Problem Set 3 Due (11:59pm PT)
Feb 21, 2025 TA Lecture 6 Optimization Final Project Milestone Due (11:59pm PT)
Feb 24, 2025 Lecture 15 PCA & Autoencoders  
Feb 26, 2025 Lecture 16 Unsupervised learning, KMeans, & GMM  
Feb 28, 2025 TA Lecture 7 Evaluation Metrics  
Mar 3, 2025 Lecture 17 Reinforcement learning  
Mar 5, 2025 Lecture 18 Reinforcement Learning Problem Set 4 Due March 7 (11:59pm PT)
Mar 10, 2025 Lecture 19 Fairness & Algorithmic Bias  
Mar 12, 2025 Lecture 20 Ethics lecture  
Mar 14, 2025 Final Project Report   Final Project Report
Due (11:59pm PT)
Mar 19, 2025 Final Project Poster Session   3:30 pm - 6:30 pm PT