What the heck is machine learning, and why is it everywhere these days?

machine learning

Unless you’ve been living under a rock, ignoring every big tech advance in the past decade, you’ve probably heard of machine learning. Whether it’s better fraud detection and prevention, the handy online recommendations made by Netflix and Amazon, revolutionary facial recognition technology, or futuristic self-driving cars, machine learning is powering the current artificial intelligence revolution. But what is it exactly? Here’s a handy beginner’s guide.

What is machine learning, and why does it matter?

Machine learning is an approach to artificial intelligence that’s focused on making machines which can learn without being explicitly programmed. Learning is a profoundly important part of what makes us human. If we’re going to build AI that can carry out tasks with human-like intelligence, we therefore need to make machines that can learn for themselves, based on their past experiences.

This is different to the classical symbolic approach to AI, in which programmers create step-by-step rules for machines to follow, rather than allowing them to discover insights for themselves. While machine learning still involves this classical style of programming, it combines those basic rules with knowledge that computers are able to gather on their own to grow smarter.

Oh, and there’s a whole lot of statistics in there as well. Today, machine learning’s massive success has led to it becoming the most dominant subset of AI that is practiced around the world.

Can you give me a basic example of machine learning in action?

Absolutely. Machine learning can achieve some pretty impressive feats in AI (think self-driving cars or teaching robots to autonomously interact with the world around them), but it’s also responsible for simpler, but still incredibly useful applications.

One good illustration of machine learning in action is the so-called “spam” filter that your email system most likely uses to distinguish between useful emails and unsolicited junk mail. To do this, such filters will include rules entered by the programmer, to which it can add numbers that — when added up — will give a good indication of whether or not the software thinks the email is good to show you.

The problem is that rules are subjective. A rule that filters out emails with a low ratio of image to text isn’t so useful if you’re a graphic designer, who is likely to receive lots of useful emails that meet these parameters. As a result, machine learning allows the software to adapt to each user based on his or her own requirements. When the system flags some emails as spam, the user’s response to these emails (either reading or deleting them) will help train the AI agent to better deal with this kind of email in the future.

It’s simplistic compared to how we learn as humans, but it nonetheless achieves the result of creating an algorithm that improves its performance the more knowledge it receives.

I’ve heard of data mining. Is that the same thing?

Not quite. There are a lot of statistical tools involved in machine learning, and a good knowledge of math is going to help you as much on a machine learning course as speaking English will help you on an English literature course.

There’s definitely some crossover between the two fields, but the main distinction is that data mining is about drilling down into a dataset to find information. Machine learning is about using data to work out how to predict future outcomes, or to train a machine to perform a certain task.

One way we’ve heard it explained is that data mining is finding a list of dance centers in Portland; machine learning is learning how to dance.

Are there different types of machine learning?

You bet! The major way of dividing up machine learning is to focus on how the machine learns. There are four main approaches: supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning.

Supervised learning involves training data in which there is a desired output. (This is the category our spam filter algorithm falls into.) Next up is unsupervised learning, in which training data doesn’t have clear outputs. Then there’s semi-supervised learning, in which there are few desired outputs.

The other type of machine learning — which is increasingly popular these days — is reinforcement learning. This ambitious approach to machine learning involves rewarding an artificial agent based on what it does. Reinforcement learning can help machines achieve feats like figuring out how to play video games through trial-and-error, based on working out what increases its score.

Where do neural networks come into all of this?

Ah, yes: neural networks. If you’ve followed AI at all over the past decade (or read our handy recent explainer article) you’ve almost certainly come across these brain-inspired machine learning tools. Deep learning neural networks are a big part of machine learning today, but they’re not the only part.

Because the field is all about figuring out how best to fit data into models that can be utilized by people, a crucial step for machine learners is working out how best to represent knowledge when they set out to solve a problem. Neural networks are one example of how this might be achieved. Others include support vector machines, decision trees, genetic algorithms, and more.

Which programming languages to machine learners use?

Like the question above, there’s no one answer to this. Machine learning is a big field and, with so much ground to cover, there’s no one language that does absolutely everything.

Due to its simplicity, and the availability of deep learning libraries such as TensorFlow and PyTorch, Python is currently the number one language. If you’re thinking about delving into machine learning for the first time, it’s also one of the most accessible languages — and there are loads of online resources available.

Java is a good option, too, and comes with a great community of its own, while C++ and R are also worth checking out.

Is machine learning the perfect solution to all our AI problems?

You can probably guess where we’re going with this. No, machine learning isn’t infallible. Algorithms can still be subject to human biases, and the rule of “garbage in, garbage out” holds as true here as it does to any other data-driven field.

There are also questions about transparency, particularly when you’re dealing with the kind of “black boxes” that are an essential part of neural networks.

But as a tool that’s helping to revolutionize technology as we know it, and making AI available to the masses? You bet that it’s a great tool!