Welcome to CME 250!

CME 250: Introduction to Machine Learning   


  • 05/20: Please fill out the course evaluation survey!
  • 05/12: The mini-project dataset and competition information has been posted and will be discussed in lecture tomorrow. Due June 3. 
  • 05/07: Please verify your HW1 grade on Coursework (especially if you initially submitted HW1 to the "Return" bin). 
  • 05/07: Graded HW2 available for pick-up in "Homework Return CME 250" box in basement of Huang Engineering. 
  • 05/06: For Homework #4 (due May 29th), we will not accept late submissions. The last day of class is May 20th. 
  • 04/29: The required data collection survey for the mini-project must be completed by midnight Friday May 1. Auditors please contribute data to the survey as well. Auditors interested in participating in the competition should email the instructors.
  • 04/24: Graded HW1 available for pickup in "Homework Return CME 250" box in basement of Huang Engineering. 
  • 04/21: Please see Homework page for updated submission guidelines.
  • 04/15: Please fill out mid-course feedback survey!
  • 04/01: Assignment #1 posted - due Friday, April 17th at 5pm.
  • 04/01: Classroom has moved to Bishop Auditorium (not an April Fools joke)
  • 03/29: Join the class Piazza site to collaborate with fellow students!
  • 03/29: First lecture Wednesday, April 1st.


  • Wednesdays, 5:15-6:30pm (with a total of 8 sessions): April 1, 8, 15, 22, 29 and May 6, 13, 20.
  • Location: Bishop Auditorium, Lathrop Library Ground Floor (map)

Course Description

A eight-week short course presenting the principles behind when, why, and how to apply modern machine learning algorithms. We will discuss a framework for reasoning about when to apply various machine learning techniques, emphasizing questions of over-fitting/under-fitting, regularization, interpretability, supervised/unsupervised methods, and handling of missing data. The principles behind various algorithms--the why and how of using them--will be discussed, while some mathematical detail underlying the algorithms--including proofs--will not be discussed. Unsupervised machine learning algorithms presented will include k-means clustering, principal component analysis (PCA), and independent component analysis (ICA). Supervised machine learning algorithms presented will include support vector machines (SVM), classification and regression trees (CART), boosting, bagging, and random forests. Imputation, the lasso, and cross-validation concepts will also be covered. The R programming language will be used for examples, though students need not have prior exposure to R.

  • Alexander Ioannidis:  ioannidis [at] stanford [dot] edu 
  • Karianne Bergen:  kbergen [at] stanford [dot] edu
(Please send any emails to both instructors and include "CME 250" in subject heading)

Course Requirements 
  • Course is 1 unit, graded Satisfactory / No Credit.
  • To receive credit, students must complete a subset of assigned homework exercises and complete a mini-project to gain practical experience applying course concepts to a real data set. 
  • Details about mini-project will be given later in the course. It will be due one week after the last class.
  • There will be 3-4 very short homework submissions. 


Course assumes no prior background in machine learning. Previous exposure to undergraduate-level mathematics (calculus, linear algebra, statistics) and basic programming (R/Matlab/Python) helpful.