*Recently, I've decided to take an online class about Machine Learning at Coursera. In this article, I will talk about the structure of the course and its content.*

**Class goal**

The Machine Learning class is taught by Andrew Ng, co-founder of Coursera and director of the Artificial Intelligence laboratory of Stanford University.

The class goal is teaching some algorithms that solve problems using artificial intelligence, as well as to present the intuition behind them.

**Methodology**

The class is divided in 10 lessons about different machine learning algorithms. Each class consists of:

- Videos: explain the operation and the application of the algorithm and also give usage examples;
- Review questions: test the student's understanding about the subjects explained in the videos;
- Programming exercises: apply in a straightforward manner the concepts studied in the class and help to better understand them.

**Algorithms**

The algorithms taught in the class can be divided into the following categories:

- Supervised learning
- Unsupervised learning

Supervised learning refers to algorithms that try to predict a result based on a data set. In these cases, in order to train the algorithm, it is necessary to feed it with a database that has the inputs and the corresponding outputs. This type of machine learning algorithms are divided into two subcategories:

__Regression problems__: in this case, the algorithm's output values are continuous, i.e., they can take an infinite number of values. For example, the decision of a house price based on its characteristics, such as the number of bedrooms and its size, is considered to be a regression problem.__Classification problems__: the output of algorithms of this subcategory are discrete values contained in a defined set of values. For example, an algorithm that decides whether an email is spam or not always outputs 0 or 1, so it can be considered a classification algorithm.

Unsupervised learning refers to algorithms that try to group together data that have similar characteristics. For example, this type of algorithm can be used to group together similar people in social networks.

In this course, the main supervised learning algorithms taught are Linear Regression, Logistic Regression, Neural Networks and Support Vector Machine, and the main unsupervised learning algorithms are K-Means, Anomaly detection and Recommender Systems.