EE104/CME107: Introduction to Machine Learning

Stanford University

Course information

  • This course was written by Professor Sanjay Lall and Professor Stephen Boyd. It is still under development

  • Last taught in Spring 2020, next offered in Spring 2021 (to be confirmed)

Course description

Introduction to machine learning. Formulation of supervised and unsupervised learning problems. Regression and classification. Data standardization and feature engineering. Loss function selection and its effect on learning. Regularization and its role in controlling complexity. Validation and overfitting. Robustness to outliers. Simple numerical implementation. Experiments on data from a wide variety of engineering and other disciplines. Undergraduate students should enroll for 5 units, and graduate students should enroll for 3 units.

Prerequisites: EE103/CME103 or equivalent linear algebra course. CS106a or similar introductory experience with programming. A probability course such as EE178 or CS109 is required, but is a co-requisite; it may be taken at the same time as EE104.


There are no required or optional textbooks. Complete notes will be available online.

A useful reference will be the EE103/CME103 course textbook, Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares.