Machine Learning

XCS229I

Stanford School of Engineering


Machine Learning

Description

In this era of big data, there is an increasing need to develop and deploy algorithms that can analyze and identify connections in that data. Using machine learning (a subset of artificial intelligence) it is now possible to create computer systems that automatically improve with experience. This technology has numerous real-world applications including robotic control, data mining, autonomous navigation, and bioinformatics.

This course features classroom videos and assignments adapted from the CS229 graduate course as delivered on-campus at Stanford in Autumn 2018 and Autumn 2019. In order to make the content and workload more manageable for working professionals, the course has been split into two parts, XCS229i: Machine Learning and XCS229ii: Machine Learning Strategy and Intro to Reinforcement Learning (anticipated start date October 2020).

This course description and enrollment page is for XCS229i: Machine Learning.

What you will learn

  • Supervised Learning (Linear and Logistic Regression, General Linearized Models (GLMs), Gaussian Discriminant Analysis (GDA), Generative/Discriminative Learning, Neural Networks, Support Vector Machines (SVM))
  • Unsupervised Learning (Expectation-Maximization (K-Means, etc.), Principal Component Analysis (PCA), Dimensionality Reduction)

Reinforcement Learning and Machine Learning Strategy from the original CS229 graduate course will be covered in XCS229ii: Machine Learning Strategy and Intro to Reinforcement Learning.

Prerequisites

  • Proficiency in Python: All class assignments will be in Python. If you have extensive programming experience in a different language (C/C++/MATLAB/Java/JavaScript) we recommend you familiarize yourself with Python basics before you begin your first course. Some assignments will require familiarity with basic Linux command line workflows.
  • College Calculus, Linear Algebra: You should be comfortable taking (multivariable) derivatives and understanding matrix/vector notation and operations. We strongly recommend you review this baseline problem set from the Fall 2018 graduate course upon which much of this course is based. You should be familiar with the topics covered before enrolling in XCS229i.
  • Basic Probability and Statistics: You should know the basics of probabilities, gaussian distributions, mean, and standard deviation.

Notes

This professional online course, based on the on-campus Stanford graduate course CS229, features:

  • Classroom lecture videos edited and segmented to focus on essential content
  • Coding assignments enhanced with added inline support and milestone code checks
  • Office hours and support from Stanford-affiliated Course Assistants
  • Cohort group connected via a vibrant Slack community, providing opportunities to network and collaborate with motivated learners from diverse locations and professional backgrounds

How is this different from the machine learning course on Coursera?

The Machine Learning MOOC offered on Coursera covers a few of the most commonly used machine learning techniques. XCS229i explores these concepts in greater depth, in addition to several other concepts. XCS229ii will cover completely different topics than the MOOC and include an open-ended project. You may gain a better sense of comparison by examining the CS229 course syllabi linked in the Description Section above and the course lectures posted on YouTube.

Time Commitment

Expect to commit 8-12 hours/week for the duration of the 10-week program.

Instructors

Andrew Ng
Adjunct Professor of Computer Science

Guest Lecturers

Kian Katanforoosh, Adjunct Lecturer of Computer Science
Anand Avati & Raphael Townshend, CS229 Head TAs

Certificate

Upon completing this course, you will earn a Certificate of Achievement in Machine Learning from the Stanford Center for Professional Development.

You may also earn a Professional Certificate in Artificial Intelligence by completing three courses in the Artificial Intelligence Professional Program.

Continuing Education Units

By completing this course, you'll earn 10 Continuing Education Units (CEUs). CEUs cannot be applied toward any Stanford degree. CEU transferability is subject to the receiving institution’s policies.

Application

Prior to enrolling in your first course in the AI Professional Program, you must complete a short application (15-20 minutes). The application allows you to share more about your interest in joining this cohort-based course, as well as verify that you meet the prerequisite requirements needed to make the most of the experience. If you have previously completed the application, you will not be prompted to do so again.

Questions?

Contact us at 650-204-3984
scpd-ai-proed@stanford.edu

Course Outline

$1,595

001 Open for Enrollment Online

Enroll Now

Delivery Option:
Online
Fees:
Online Course $1,595.00
Notes:

Cohort
This is a cohort-based program that will run from JULY 13, 2020 - SEPTEMBER 20, 2020.

Online Program Materials 
Online program materials (slides etc.) are available for download from the course page. All materials are available for printing and review upon enrollment. Videos in the course are not downloadable however full length versions of the classroom videos are available on YouTube. 

Assignments
To successfully complete the program, participants will complete three assignments (mix of programming assignments and written questions). 

Course Evaluation
Participants are required to complete the program evaluation.

This course may not currently be available to learners in some states and territories.