Machine Learning


Stanford School of Engineering


Please NOTE: This Summer’s offering of CS229 will be based on CS229 lectures recorded by Anand Avati in Summer 2018-19. The Summer version of this class places greater emphasis on math in lieu of a final project.

"Artificial Intelligence is the new electricity."

- Andrew Ng, Stanford Adjunct Professor 

Computers are becoming smarter, as artificial intelligence and machine learning, a subset of AI, make tremendous strides in simulating human thinking. Creating computer systems that automatically improve with experience has many applications including robotic control, data mining, autonomous navigation, and bioinformatics.

This course provides a broad introduction to machine learning and statistical pattern recognition. Learn about both supervised and unsupervised learning as well as learning theory, reinforcement learning and control. Explore recent applications of machine learning and design and develop algorithms for machines.


Linear algebra, basic probability and statistics.

We strongly recommend that you review the first problem set before enrolling. If this material looks unfamiliar or too challenging, you may find this course too difficult.

Topics include

  • Basics concepts of machine learning
  • Generative learning algorithms
  • Evaluating and debugging learning algorithms
  • Bias/variance tradeoff and VC dimension
  • Value and policy iteration
  • Q-learning and value function approximation

Note on Course Availability

This course is typically offered Autumn, Spring and Summer quarters.

The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate certificate homepage.