I successfully completed the Coursera Machine Learning online course!

I recently completed the online Machine Learning course offered by Coursera in collaboration with Stanford University. The course is spread over 12 weeks, but I successfully completed it in only 4 weeks.

The course instructor is Andrew Ng, a legendary figure for Machine Learning in Silicon Valley and in the world. Absolutely a great teacher!

It’s an exciting class that covers some of the concepts I learned when I graduated with a degree in Computer Science years ago. In particular, I found my background in Linear Algebra, Operations Research (Ricerca Operativa in Italian) very useful. I had the opportunity to use some of my programming skills to complete the course exercises in Octave and MathCAD.

Coursera Machine Learning Certificate
Coursera Machine Learning Certificate

The course instructor is Andrew Ng, a legendary figure in Silicon Valley. Ng co-founded and led Google Brain and was a former Vice President and Chief Scientist at Baidu, building the company’s Artificial Intelligence Group into a team of several thousand people. Ng is an adjunct professor at Stanford University. He also co-founded Coursera and, more recently, founded DeepLearning.ai.

Syllabus

Here is the syllabus of the course:

Week 1

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. A basic understanding of linear algebra is necessary for the rest of the course, especially as we begin to cover models with multiple variables.

Week 2

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.

Week 3

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 its application 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.

Week 4

Neural Networks: Representation
Neural networks are a model inspired by how the brain works. It is widely used today in many applications: when your phone interprets your voice commands, a neural network is likely helping it understand your speech; when you cash a check, the machines that automatically read the digits also use neural networks.

Week 5

Neural Networks: Learning
In this module, we introduce the backpropagation algorithm, which helps learn the parameters of a neural network. At the end of this module, you will be implementing your own neural network for digit recognition.

Week 6

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 most effective ways to evaluate the performance of 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 components and how to handle skewed data.

Week 7

Support Vector Machines (SVM)
Support vector machines, or SVMs, are a machine learning algorithm for classification. We introduce the idea and intuitions behind SVMs and discuss how to use it in practice.

Week 8

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 enables 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 and for visualizing complex datasets.

Week 9

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 analyze patterns of activity across users and products to produce recommendations. In this module, we introduce recommender algorithms, including collaborative filtering and low-rank matrix factorization.

Week 10

Large Scale Machine Learning
Machine learning works best when there is an abundance of data to train on. In this module, we discuss how to apply the machine learning algorithms to large datasets.

Week 11

Application Example: Photo OCR
Identifying and recognizing objects, words, and digits in an image is a challenging task. We discuss how to build a pipeline to tackle this problem and how to analyze and improve the performance of such a system.

My Experience with Coursera

I very much enjoyed taking this class, and I strongly recommend it to anyone with a personal or professional interest in Machine Learning. I also recommend purchasing the course and skipping the free option. In this way, you can test your skills with real exercises and quizzes, and you will get a completion certificate at the end. This course has been around for a few years. It is still very relevant, but it can be a good idea to follow up with additional courses on the latest advancements in Machine Learning, such as Deep Learning and TensorFlow.

Comments are closed.

Powered by WordPress.com.

Up ↑

Discover more from Franco Folini Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading