Machine Learning


Stanford School of Engineering

"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. You will 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.

What You Need to Succeed

  • A conferred bachelor’s degree with an undergraduate GPA of 3.0 or better
  • Ability to write a non-trivial computer program in Python/NumPy (CS106B) or equivalent
  • Probability theory (CS109 or STATS116) or equivalents
  • Multivariable calculus and linear algebra (MATH51) or equivalent

Please review the first problem set before enrolling. If this material looks too challenging, you may find this course too difficult.

What You Need To Get Started

Before enrolling in your first graduate course, you must complete an online application.

Don’t wait! While you can only enroll in courses during open enrollment periods, you can complete your online application at any time.

Once you have enrolled in a course, your application will be sent to the department for approval. You will receive an email notifying you of the department's decision after the enrollment period closes. You can also check your application status in your mystanfordconnection account at any time.

Learn more about the graduate application process.

How Much It Will Cost

Learn more about tuition and fees.