Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Stanford University

Machine Learning

Stanford University via Coursera

This course may be unavailable.

Overview

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you'll learn about some of Silicon Valley's best practices in innovation as it pertains to machine learning and AI.

 

This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.

Syllabus

  • Introduction
    • Welcome to Machine Learning! In this module, we introduce the core idea of teaching a computer to learn concepts using data—without being explicitly programmed. The Course Wiki is under construction. Please visit the resources tab for the most complete and up-to-date information.
  • Linear Regression with One Variable
    • Linear regression predicts a real-valued output based on an input value. We discuss the application of linear regression to housing price prediction, present the notion of a cost function, and introduce the gradient descent method for learning.
  • Linear Algebra Review
    • This optional module provides a refresher on linear algebra concepts. Basic understanding of linear algebra is necessary for the rest of the course, especially as we begin to cover models with multiple variables.
  • Linear Regression with Multiple Variables
    • What if your input has more than one value? In this module, we show how linear regression can be extended to accommodate multiple input features. We also discuss best practices for implementing linear regression.
  • Octave/Matlab Tutorial
    • This course includes programming assignments designed to help you understand how to implement the learning algorithms in practice. To complete the programming assignments, you will need to use Octave or MATLAB. This module introduces Octave/Matlab and shows you how to submit an assignment.
  • Logistic Regression
    • Logistic regression is a method for classifying data into discrete outcomes. For example, we might use logistic regression to classify an email as spam or not spam. In this module, we introduce the notion of classification, the cost function for logistic regression, and the application of logistic regression to multi-class classification.
  • Regularization
    • Machine learning models need to generalize well to new examples that the model has not seen in practice. In this module, we introduce regularization, which helps prevent models from overfitting the training data.
  • Neural Networks: Representation
    • Neural networks is a model inspired by how the brain works. It is widely used today in many applications: when your phone interprets and understand your voice commands, it is likely that a neural network is helping to understand your speech; when you cash a check, the machines that automatically read the digits also use neural networks.
  • Neural Networks: Learning
    • In this module, we introduce the backpropagation algorithm that is used to help learn parameters for a neural network. At the end of this module, you will be implementing your own neural network for digit recognition.
  • Advice for Applying Machine Learning
    • Applying machine learning in practice is not always straightforward. In this module, we share best practices for applying machine learning in practice, and discuss the best ways to evaluate performance of the learned models.
  • Machine Learning System Design
    • To optimize a machine learning algorithm, you’ll need to first understand where the biggest improvements can be made. In this module, we discuss how to understand the performance of a machine learning system with multiple parts, and also how to deal with skewed data.
  • Support Vector Machines
    • Support vector machines, or SVMs, is a machine learning algorithm for classification. We introduce the idea and intuitions behind SVMs and discuss how to use it in practice.
  • Unsupervised Learning
    • We use unsupervised learning to build models that help us understand our data better. We discuss the k-Means algorithm for clustering that enable us to learn groupings of unlabeled data points.
  • Dimensionality Reduction
    • In this module, we introduce Principal Components Analysis, and show how it can be used for data compression to speed up learning algorithms as well as for visualizations of complex datasets.
  • Anomaly Detection
    • Given a large number of data points, we may sometimes want to figure out which ones vary significantly from the average. For example, in manufacturing, we may want to detect defects or anomalies. We show how a dataset can be modeled using a Gaussian distribution, and how the model can be used for anomaly detection.
  • Recommender Systems
    • When you buy a product online, most websites automatically recommend other products that you may like. Recommender systems look at patterns of activities between different users and different products to produce these recommendations. In this module, we introduce recommender algorithms such as the collaborative filtering algorithm and low-rank matrix factorization.
  • Large Scale Machine Learning
    • Machine learning works best when there is an abundance of data to leverage for training. In this module, we discuss how to apply the machine learning algorithms with large datasets.
  • Application Example: Photo OCR
    • Identifying and recognizing objects, words, and digits in an image is a challenging task. We discuss how a pipeline can be built to tackle this problem and how to analyze and improve the performance of such a system.

Taught by

Andrew Ng

Reviews

4.7 rating, based on 376 Class Central reviews

4.9 rating at Coursera based on 43130 ratings

Start your review of Machine Learning

  • Machine Learning is one of the first programming MOOCs Coursera put online by Coursera founder and Stanford Professor Andrew Ng. Although Machine learning has run several times since its first offering and it doesn’t seem to have been changed or upd…
  • Anonymous
    Background elements: I'm an engineer by trade and have been working on statiscal projects in field of transport regulation for about ten years. I have some general background in maths and theorical computer science, I'm capable of programming. I fol…
  • Anonymous
    This is possibly the most outstanding university class you will ever take. It is definitely the best university level course I have ever taken, and I have taken quite a few, both in person and online (MOOC). If you have any interest whatsoever in ho…
  • Anonymous
    I was able to finish this 11-week MOOC in ten days because the materials are a fine balance between succinct and comprehensive and very engagingly presented. I was initially turned off by the use of MATLAB/Octave as the programming language of choic…
  • I​ hoped this course would be more hardcore and in-depth, but I still found it useful. Video/audio quality is last-century, but explanations are quite nice and clear.
  • Anonymous
    My opinion is very personal. In my view, taking a class rather then reading a book has one fundamental aim: make it easier and faster to get workable knowledge on a topic and to capitalize on it. In other word the objective of such a class should be…
  • Mark Wilbur
    This course is famous. It’s taught by the equally famous Coursera co-founder and ML-star, Andrew Ng. Though I found this class to be one of the worst learning experiences I’ve had with a MOOC, I really have to say I love Andrew’s ability to explain…
  • Scott Orr
    Andrew Ng is a clear and charismatic lecturer, he covers advanced techniques, and he provides a number of practical tips, but the programming exercises are a bit canned, and may not fully prepare students to write their own scripts in Octave. The e…
  • WickWack
    Professor Ng is extremely clear. His lectures are extraordinarily well-organized, thoughtful, and clear. The assignments are interesting, relevant, and not too difficult.

    After completing the course, I took MIT's open Linear Algebra course, and at that point was able to get more of the mathematical background. Professor Ng was very careful to present the material without much math -- impressive to say the least. However, once I got more of the mathematical background, I felt much more solid in my understanding.
  • Paolo Perrotta
    Low production values; terrible audio quality; a very traditional, mostly non-interactive approach... and yet, this course manages to be one of the best I've ever taken. The quality of Andrew Ng's teaching is just *that* good. He's a rare case of a world-level expert that's also extremely good at communicating his knowledge. This guy makes you wish you could shake his hand and buy him a beer at the end of each lesson.

    This course proves that a skilled human with a whiteboard can still beat the bells and whistles of more expensively produced trainings. If you know little or nothing about Machine Learning, it will give you a solid foundation.
  • Anonymous
    It was a great journey, I got excited in many times and got frustrated in many other times Pros of the course: 1. A thorough course that you can rely on to form a foundation in the field. 2. A well-designed course, that's not purely theoretical n…
  • John Johnson
    A lot of participants were concerned that it was a watered down version of Stanford’s CS229. And, in fact, the course was more limited in scope and more applied than the official Stanford class. However, I found this to be a strength. Because I was already familiar with most of the methods in the beginning (linear and multiple regression, logistic regression), I could focus more on the machine learning perspective that the class brought to these methods. Programming exercises were done in Octave, an open source Matlab-like programming environment.
  • Prof Ng simplifies ML as much as possible - and no more. In the complex arena of ML, that still leaves things fairly complex... But thanks to this course (which I'm 90% of the way through) I feel like I'll have a sufficient intuitive grasp of ML for…
  • Nitin Gupta
    I was completely new to ML but never felt lost while taking this course (completed yesterday). The programming assignments are a bit watered down in that most of the "boilerplate" is already written but you still get great insight with whatever is left for you to implement -- in particular, learning to write vectorized code is what I found immensely useful.
  • Anonymous
    This course gave a thorough introduction to machine learning. It describes and explains many different models of supervised learning (e.g. linear regression, logistic regression, SVMs, neural networks) as well as unsupervised learning (e.g. K-means…
  • Anonymous
    All other Machine Learning courses require an advanced knowledge of programming, this one is not, and I really appreciate it as I have a background in statistics but not much coding experience . Great course, highly recommend to anybody who is interested in data.
  • Profile image for Rick
    Rick
    Best class I've ever taken.

    Now I feel like I have a super power. The hard part now is trying to figure out what problems I'd like to swoop in and try to solve.
  • Andrew Ng can be considered as the godfather of machine learning education. As one of the founders of Coursera he created one of the most popular MOOCs on the internet.
    If you want a good introduction to the Machine Learning knowledge field then this is a course for you.
  • Having completed a number of MOOCs I was pleasantly surprised to find out how good this one is. The course is taught well with lectures that are challenging at first glance but explained well, I felt like I made good progress in understanding the s…
  • A clear, to the point course about a very broad material. I liked the breath and depth processing of the various topics.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.