Approx. 4 months

Assumes 6hrs/wk (work at your own pace)

Built by
Join thousands of students

Start Free Course

Start Free Course
You get
Instructor videos
Learn by doing exercises

Course Summary

This class is offered as CS7641 at Georgia Tech where it is a part of the Online Masters Degree (OMS). Taking this course here will not earn credit towards the OMS degree.

Machine Learning is a graduate-level course covering the area of Artificial Intelligence concerned with computer programs that modify and improve their performance through experiences.

The first part of the course covers Supervised Learning, a machine learning task that makes it possible for your phone to recognize your voice, your email to filter spam, and for computers to learn a bunch of other cool stuff.

In part two, you will learn about Unsupervised Learning. Ever wonder how Netflix can predict what movies you'll like? Or how Amazon knows what you want to buy before you do? Such answers can be found in this section!

Finally, can we program machines to learn like humans? This Reinforcement Learning section will teach you the algorithms for designing self-learning agents like us!

Why Take This Course?

You will learn about and practice a variety of Supervised, Unsupervised and Reinforcement Learning approaches.

Supervised Learning is an important component of all kinds of technologies, from stopping credit card fraud, to finding faces in camera images, to recognizing spoken language. Our goal is to give you the skills that you need to understand these technologies and interpret their output, which is important for solving a range of data science problems. And for surviving a robot uprising.

Closely related to pattern recognition, Unsupervised Learning is about analyzing data and looking for patterns. It is an extremely powerful tool for identifying structure in data. This section focuses on how you can use Unsupervised Learning approaches -- including randomized optimization, clustering, and feature selection and transformation -- to find structure in unlabeled data.

Reinforcement Learning is the area of Machine Learning concerned with the actions that software agents ought to take in a particular environment in order to maximize rewards. You can apply Reinforcement Learning to robot control, chess, backgammon, checkers, and other activities that a software agent can learn. Reinforcement Learning uses behaviorist psychology in order to achieve reward maximization. This section also includes important Reinforcement Learning approaches like Markov Decision Processes and Game Theory.

Prerequisites and Requirements

A strong familiarity with Probability Theory, Linear Algebra and Statistics is required. An understanding of Intro to Statistics, especially Lessons 8, 9 and 10, would be helpful.

Students should also have some experience in programming (perhaps through Introduction to CS) and a familiarity with Neural Networks (as covered in Introduction to Artificial Intelligence).

See the Technology Requirements for using Udacity.


Supervised Learning

  • Lesson 0: Machine Learning is the ROX
  • Lesson 1: Decision Trees
  • Lesson 2: Regression and Classification
  • Lesson 3: Neural Networks
  • Lesson 4: Instance-Based Learning
  • Lesson 5: Ensemble B&B
  • Lesson 6: Kernel Methods and Support Vector Machines (SVM)s
  • Lesson 7: Computational Learning Theory
  • Lesson 8: VC Dimensions
  • Lesson 9: Bayesian Learning
  • Lesson 10: Bayesian Inference

Unsupervised Learning

  • Lesson 1: Randomized optimization
  • Lesson 2: Clustering
  • Lesson 3: Feature Selection
  • Lesson 4: Feature Transformation
  • Lesson 5: Information Theory

Reinforcement Learning

  • Lesson 1: Markov Decision Processes
  • Lesson 2: Reinforcement Learning
  • Lesson 3: Game Theory
  • Lesson 4: Game Theory, Continued

Instructors & Partners

instructor photo

Michael Littman

Michael Littman is a Professor of Computer Science at Brown University. He also teaches Udacity’s Algorithms course (CS215) on crunching social networks. Prior to joining Brown in 2012, he led the Rutgers Laboratory for Real-Life Reinforcement Learning (RL3) at Rutgers, where he served as the Computer Science Department Chair from 2009-2012. He is a Fellow of the Association for the Advancement of Artificial Intelligence (AAAI), served as program chair for AAAI's 2013 conference and the International Conference on Machine Learning in 2009, and received university-level teaching awards at both Duke and Rutgers. Charles Isbell taught him about racquetball, weight-lifting and Ultimate Frisbee, but he's not that great at any of them. He's pretty good at singing and juggling, though.

instructor photo

Charles Isbell

Charles Isbell is a Professor and Senior Associate Dean at the School of Interactive Computing at Georgia Tech. His research passion is artificial intelligence, particularly on building autonomous agents that must live and interact with large numbers of other intelligent agents, some of whom may be human. Lately, he has turned his energies toward adaptive modeling, especially activity discovery (as distinct from activity recognition), scalable coordination, and development environments that support the rapid prototyping of adaptive agents. He is developing adaptive programming languages, and trying to understand what it means to bring machine learning tools to non-expert authors, designers and developers. He sometimes interacts with the physical world through racquetball, weight-lifting and Ultimate Frisbee.

instructor photo

Pushkar Kolhe

Pushkar Kolhe is currently pursuing his PhD in Computer Science at Georgia Tech. He believes that Machine Learning is going to help him create AI that will reach the singularity. When he is not working on that problem, he is busy climbing, jumping or skiing on things.