TL;DR: Machine Learning consists of a variety of techniques used to make our machines absorb knowledge in a similar way to humans. Machine Learning is such a broad, ubiquitous term and contains so many sub-topics, that explaining it becomes a more difficult task day by day. With innovations advancing ML on an ongoing basis, the task of explaining the ever-expanding concepts advances at the same rate! In this article I will attempt to clarify an overview of Machine Learning in simple, linear terms.
Introduction & Terminology
Machine Learning (reffered to herein as ML), is based around the idea of computers parsing, analysing and taking knowledge from specified data sets, in a similar fashion to the way Humans learn.
The term Machine Learning literally refers to a system that builds or “trains” a predictive model from input data. The system then uses the trained model to make future predictions on the data it learned from. For a human comparison, I like to think of the way we can (relatively reliably) predict how well a football team, or even a race horse is going to perform in their coming season, by looking at and learning from their previous form.
The term Model is one of the most common words you’ll come across in ML, and refers to the representation of what the system has learned. The term Model Training refers to the process of determining the most effective Model.
In ML and Artificial Intelligence in general, another very common (but rather intimidating) term you’ll find is Neural Network. This refers to a model that works in the same way as the human brain, consisting of multiple layers of simple connected units.
In my opinion, these three terms are the ones I would like to clarify - being some of the most commonly used words / phrases. Of course, being such a vast topic, ML has many more common terms. To lookup and reference any other terms in the ML world, and if you feel the need to clarify any others used throughout this article (or any time in the future), Google provides an excellent glossary here.
Types of Machine Learning
Generally speaking, there are three main techniques within ML.
A great way to understand Supervised Machine Learning algorithms is to compare the technique to a student learning by studying a set of questions alongside their corresponding answers. After understanding the way the questions map to their answers, the student can then provide (predict) answers to new / unseen questions.
In Supervised learning, the term “label” is one of the most commonly mentioned, and refers to the actual answer / result of an example in your dataset.
In Unsupervised Machine Learning algorithms, we train our Model to find patterns in our dataset and group data together, as opposed to using labels to predict answers. Referencing the above student learning example, in a typical Unsupervised learning dataset the questions would be present, but the answers (labels) would not.
The most common use for Unsupervised learning is clustering data together to find patterns and grouping within datasets.
In Reinforcement Learning, our machine is made to make decisions via an ongoing trial and error process, receiving rewards or “punishments” based on correct or incorrect answers. I like to think of Reinforcement learning as the same process we use to train our pets. Just as our Puppies receive a food treat when performing a correct action, our machines receive simple reward feedback when achieving maximum performance.
Reinforcement learning is based around the idea of maximising the long-term “reward” by figuring out the most efficient means of achieving it.
Who is Using ML & What For?
Siri, Alexa, Google, Cortana and other voice-recognition systems use supervised learning to train themselves on your voice, and work onwards from there.
Facebook, Instagram and other social networks use supervised learning to recognise people in photographs, and to also make tagging recommendations.
Netflix, YouTube and similar multimedia applications use supervised learning to make recommendations of videos based on user analysis.
Amazon, Google Shopping and similar commerce providers utilise unsupervised learning to group customers together based on purchasing behaviour, for the purposes of marketing etc.
Banking applications and Payment Processors utilise unsupervised learning to spot patterns of behaviour to combat fraud.
Stocks/shares applications are utilising reinforcement learning to figure out the most effective trading strategies.
Gaming “bot” developers are using reinforcement learning to have their bots become the most human-like enemy as possible.