How does a machine learn?

Everyday the news report how applications of Machine Learning are making our world better, or how they need to be controlled to not cause evil. However how do machines learn to do the things they can, like distinguish between cats and dogs, recommend that product you didn't even know you wanted or generate faces of people that don't exist?
Supervised versus Unsupervised Learning
There two categories in which Machine Learning Algorithms can be divided
Supervised Learning

For any algorithm where you need to include the correct answers in the data you give it to learn, that will be a supervised learning algorithm. Those correct answers are normally called labels and they tell the algorithm beforehand if the picture it's looking at is a cat or a dog or if the email is a spam or not. It's just like if the algorithm had it's own teacher telling it when it's right or wrong and helping it improve with time.
Famous supervised learning algorithms include:
- k-Nearest Neighbors
- Linear Regression
- Logistic Regression
- Support Vector Machines (SVMs)
- Decision Trees and Random Forests
- Neural Networks
Unsupervised Learning

As you might expect, unsupervised learning algorithms will also receive some kind of training data, however it will not know in advance what is right and what is wrong. It tries to learn without the help of a teacher.
Some here are some classes of problems and algorithms that use unsupervised learning approaches:
- Clustering
- K-Means
- DBSCAN
- Hierarchical Cluster Analysis (HCA)
- Anomaly Detection and Novelty Dectection
- One-class SVM
- Isolation Forest
- Visualization and Dimensionality Reduction
- Principal Component Analysis (PCA)
- Kernel PCA
- Locally Linear Embedding (LLE)
- Association Rule Learning
- Apriori
- Eclat
One example of clustering, imagine a store trying to group its clients based on different kinds of data like what they usually buy and the time they come to the store. We've discussed mentioned some examples of anomaly detection in our post What Can I do with Machine Learning.
In the future we will be discussing many of these algorithms so subscribe to us by clicking the Subscribe button, if you haven't already, and don't miss a post from us!