The non-techie’s guide to machine learning
You find yourself at another startup meetup, leaning against the bar and sipping away at your drink. Tonight’s the night, you think to yourself. Tonight, I get some networking done.
And then you hear it. A fragment of conversation floats over to your ears:
“…they’re definitely the machine learning startup to watch.”
“Don’t they still use statistical NLP though? Recurrent neural nets seem like the way forward…”
And like a virus, it spreads. You watch in horror as, within minutes, everyone at the bar is talking about machine learning.
You’ve heard the term before, of course. Who hasn’t? Machine learning is the way forward, the future of artificial intelligence. Of course it is.
Trouble is, you don’t have a damned idea what any of that means.
You down your drink. It’s going to be a long night.
The end of the world
First, we hear that machine learning bots are taking our blue collar jobs.
Then, we find out white collar jobs aren’t safe either.
Resigned to our jobless future, we find out that the bots are now talking behind our back.
Gossiping about us lazy unemployed humans, probably.
Machine learning is talked about in so many different contexts that it can be hard to grasp what exactly it is. You look it up and get abstract theoretical explanations, high power Scrabble words, and a wall of math and code.
You just want to know what exactly machine learning is, why it’s a big deal, and maybe a bit about how it works. Honestly, you just want to make sense of all the buzzwords that get thrown around, like curse words in a middle school classroom: everyone’s using them, but you have a feeling nobody else knows what they mean either.
Let’s dive in
So, machine learning. Is that like… AI?
That’s a good place to start. We all know what artificial intelligence means. I mean, we’re all thinking of different things, but surely it’s the thought that counts.
Artificial intelligence (AI) is the study of building systems that can make “intelligent” decisions.
Basically, if a computer does something that seems somewhat smart, we label it artificial intelligence.
Let’s use an example you might have come across. Computer games often feature enemy characters who appear intelligent. They follow us around, and they act in ways that make the game a challenge. That’s an example of AI.
The developer of the game has achieved this by giving the AI a set of rules. Follow the player. If the player is shooting, find cover. If the player stops shooting, try to shoot the player. The more of these rules there are, the more intelligent the game appears to be.
Thing is, a computer game is usually pretty limited. The player can only perform a few specific actions, and the level was entirely designed by the developer. So, developers can come up with rules for great AI characters that seem really intelligent.
Not all problems can be solved with rules
Say we want a computer to detect if this is a picture of a dog.
How would we even start defining rules for this task?
No, really. Try to think of the kinds of rules we need.
Dogs have four legs?
Dogs are white in color?
Dogs have fur?
Computer vision problems, like recognizing an object, are really complex. But our brain solves them almost intuitively. So, it’s really hard for us to come up with explicit rules.
Enter machine learning
We don’t build a system that recognizes dogs. We build a system that can learn to recognize dogs.
We feed it thousands of images, some containing dogs and some not. The system learns the rules that define a picture of a dog.
Machine learning is the study of building systems that can learn to make intelligent decisions.
The keyword “learn” is what distinguishes machine learning from other types of artificial intelligence.
“You said the machine can learn the rules. So clearly, the rules do exist. We’re just not trying hard enough to find them.”
You’re absolutely right. If we tried hard enough we can probably develop a rule-based dog detection masterpiece. It would have thousands of rules covering every possible scenario, and it would be a thing of beauty.
What if we now want the system to detect pictures containing food? Well, we throw the whole thing away and start from scratch. None of these rules would apply.
A system that can learn to recognize objects can be trained to recognize food simply by using pictures of food instead of dogs.
That’s the power of machine learning. Instead of a fixed set of rules, we have a flexible machine that can learn and adapt.
Keeping it real
Now, I totally made it sound like we’ve built a living, learning being and taught it to recognize dogs by letting it play with puppies. Then we teach it the meaning of cuteness and the meaning of love, and hopefully convince it to not rise up and kill us all. Right?
The reality is a lot less complicated. We want the machine to learn to make decisions, usually based on predictions. So let’s start by asking this: how do humans make predictions?
Here’s an example of how we make predictions. You might have even done something like this in Science class in middle school.
Say you conduct an experiment. You collect data, and plot it on a graph.
The x-axis is the value you changed, and the y-axis is the result you measured. You then draw a trend line (or best-fit line) on the graph.
This is the line that best models the data.
Now that you have this line, you can make predictions. You can pick a weight that you’ve never measured before, look it up on the x-axis, and read off the y axis to predict what the spring’s length will be.
You used data, built a model, and used it to make a prediction.
If you wrote a program that can perform these steps, congratulations: that’s machine learning.
No, really. Finding the linear model and using it to make predictions: that’s totally a machine learning technique, called linear regression.
Couldn’t we just program the model into the system? The system could then make predictions about this spring. But it can’t make predictions about other springs without us writing new code.
If, instead, we teach the program to perform linear regression itself and learn the model, that’s machine learning.
We don’t provide the model. We let the machine learn the model.
If there’s one thing you take away from this example, it’s this:
Machine learning isn’t magic.
We’re not building a self aware being that can learn everything. The spring model program will never learn to recognize dogs.
We built a system that can learn one particular type of model. All we’ve left out is what the model is.
Almost every machine learning system does some version of the following:
The system gives us an output based on the model. It evaluates that output to determine how bad it was. It then updates the model to make future outputs slightly better.
Machine learning is the art of building a system that can perform this loop for a specific problem.
The output can be wildly different depending on the problem. It might be a text response from a chatbot. Or it might be a decision on whether or not to hit the brakes in a self-driving car.
The actual model could be linear like in our spring problem. It could be a more complex model based on statistics and probability. Or, it could be a neural network, designed to emulate the way the human brain works:
What they are and how they work, in a 1 minute read.hackernoon.com
Whatever the details are, almost every machine learning system is running that loop. With each cycle, the system improves a tiny bit. After thousands or even millions of cycles, we can get systems that have learned to perform better at that task than any human.
The sheer variety of applications, and the techniques needed to solve them, is why machine learning intersects with so many other fields. It’s also why machine learning is such an exciting topic right now.
There we go
Building a machine learning system can be complicated, but understanding machine learning doesn’t have to be.
So, go conquer that startup meetup. Throw out a few of those newfound buzzwords. Network the heck out of that room. You just need to do it for a few more years, really. By then, I’m sure we’ll have bots who can do that for you, too.