The term Machine Learning might sound a bit intimidating. It is sometimes associated with scary accurate recommender systems or humanoid robots. However, the fundamentals of machine learning are actually not that complicated.
Check out my youtube video on the topic here.
The Basic Concept
If you, as a human, were given two (x, y) coordinates and had to draw a line through these points, you’d probably do this without much effort. However, if someone asked you to draw a line based on 1 million (x, y) coordinates, you’d probably politely tell this person to fuck off. Machine learning is the process that automates the job of building statistical models, and in this case, it would automate drawing a line through 1 million (x, y) coordinates.
Machine learning enables computer systems to learn and improve, without being explicitly programmed, by feeding it large amounts of data.
Essentially, computers are fed huge amounts of data (the computers gain lots of “experience”), and as a result, the computer learns.
Types of Machine Learning
There is a variety of approaches to making a computer learn from data. These numerous approaches can be divided into three main categories: supervised learning, unsupervised learning, and reinforcement learning.
Supervised learning
Supervised learning trains models with labeled data sets, enabling the models to learn and become more accurate over time. Depending on what you want to predict, the two forms of supervised learning are classification and regression.
If you want to predict a continuous value, such as tomorrow’s weather in degrees Celsius, you should use regression.
If you want to assign your data into several groups, you should use classification. An example of a classification problem would be if you have pictures of cats and dogs (these pictures are correctly and manually labeled by humans) and you want a computer to learn to identify each picture.
Unsupervised Learning
Unsupervised learning trains models using unlabeled data. The goal is to find patterns in the data. Depending on how you want to find patterns, the two forms of unsupervised learning are clustering and dimensionality reduction.
Clustering, as the name suggests, forms clusters with similar features in the data. This can be useful when, for example, you have an unlabeled data set with various individuals and their income/spending behavior. Clustering this data set might result in multiple groups, such as (i) high-income/big-spender, (ii) high-income/low-spender, (iii) low-income/high-spender, and (iv) low-income/low-spender.
Dimensionality reduction is the process of compressing data by eliminating random variables while keeping the main ones and maintaining the dataset’s structure and meaning. Dimensionality reduction is beneficial because it makes data easier to store, faster to compute, and easier to see in data visualizations. It also aids in the removal of misleading signals or noise from a model, hence improving its performance.
Reinforcement Learning
Reinforcement learning uses a reward system to learn computers to do the best action through trial and error.
Even though both reinforcement learning and supervised learning involve a mapping between the input and output, they are very different. Reinforcement learning uses rewards and punishments as feedback for positive and negative behavior, while supervised learning only feeds back what the right behavior should’ve been.
Reinforcement learning differs from unsupervised learning in terms of objectives. In unsupervised learning, the aim is to detect similarities and differences between data points; in reinforcement learning, the goal is to develop an appropriate action model that maximizes the agent’s total cumulative reward.
In recent years reinforcement learning gained traction as it was used by Google’s DeepMind to master basic computer games. DeepMind made the news in 2016 when its AlphaGo algorithm defeated Lee Sedol, the world champion Go player, in a five-game match that was the subject of a documentary. AlphaZero, a more broad software, used reinforcement learning to defeat the most powerful systems in Go, chess, and shogi (Japanese chess) after a few days of playing against itself. Later DeepMind made great progress in the challenge of protein folding in 2020.
Follow me on:
Twitter: @r3d_robot
Youtube: r3d_robot