Stay in Touch
Get weekly data science tips from David Praise that keeps you more informed. It’s data science school in bite-sized chunks!
Machine Learning is one of the most current buzzword drifting across the web. It is worthy of learning about, as it is just one of the many intriguing subfields of Computer Science. So what does Machine Learning mean?
In this tutorial, I will offer you a quick introduction to the definition and some applications around the subject. Ultimately, I will present some courses of troubles that are considered Machine Learning problems. Let’s get started.
Even among machine learning practitioners, there is no clear or well-accepted definition of what is and isn’t machine learning. Here’s an explanation I have for you.
Here’s another definition of what is Machine Learning that is assumed by Arthur Samuel. According to him,
Back in 1950, he wrote a checkers playing program. He wasn’t great at playing checkers.
What did he do?
He had the program play tens of thousands of games against itself.
It might come as a shock to you but over time the program learned by itself what board positions tend to lead to both wins and losses, and it eventually learned to play checkers better than Arthur Samuel.
Here is another definition by an American computer scientist, Tom Michael Mitchell. He defined Machine Learning in 1998 by saying:
Let’s relate this explanation to the checkers playing example.
If this still sounds confusing to you, let’s see some real-world applications.
There is plenty of application for machine learning out in the real world, and here are a few.
Well, those are some use-cases of Machine Learning in the real-world. You should know there are tons of other examples in other industries such as healthcare, finance, construction, etc.
In Machine Learning, there are several learning algorithms like Supervised Learning, Unsupervised Learning and Reinforcement Learning. Let’s look into them.
In Supervised Learning, we’re going to teach these algorithms how to do something. Let’s start with an example of what “it” is and later provide you with a more formal definition.
For example, let’s take a fruit classification problem. We are given pictures of fruit at different positions and depths. We have somebody that will go through and say okay, this is a watermelon, that is a grape, etc.
Then, we take out the color and roundness from each of the labeled data, use those marked features, and try to find a line that separates the data.
We’d be mostly dealing with classification algorithms, such as support vector machines, and with all that labeled data (that’s our training set). We want to figure out what line we should draw.
Then, if we get a new picture of fruit and see among the features we acquired and the classifier rule we have; can we know what fruit it is? What could it be?
We are using the labeled training set to then classify your data for new data points.
Another example would be if we want to predict housing prices. Let’s say our independent variables on the horizontal axis is the size in square feet, and our dependent variables on our vertical axis is the price ($) in 1000’s of dollars.
With the given data, we want to build a predictor line that will provide us with the tools to predict the house’s size when supplied with new data.
Let’s say 1750 square feet. We need to fit a straight line through the data and predict a price based on the house’s size. We could sell our house at around $2,000,000.
Note that this is only one type of learning algorithm we can use. Algorithms which are better options also exist, and we will see more of these in the later tutorials.
A formal definition for this concept is generating a function based upon assigned labels that maps inputs to desired outputs.
In Unsupervised Learning, we have the data, but we don’t have the labels on them. In the image, we’ve drawn labels, but this is not, in particular, the given labels. They were deduced by using a clustering algorithm. It could either be k-means clustering or Gaussian mixture models.
In this case, all we’re doing is asking, “well, is there structure at all in the data?” Is there relational associations and distances between these values that we can say “these all seem close to each other but far from other groups.”
So we can say that the blue dots are in one cluster, green dots in a second and red in a third.
Indeed, this is a kind of Unsupervised Learning where we will have data, and we are, in general, looking for structure in the data independent of any labels.
A formal definition for Unsupervised Learning is looking for patterns native to a dataset and modelling it like a cluster. (e.g., data mining and knowledge discovery).
Finally, Reinforcement Learning is about learning the right policy of behaviors in a particular environment to get positive rewards. It is what we do when we are moving around in the world and making life choices.
Let’s say we are going through this maze, and we get a positive reward over time, by using these different algorithms. We could then find the optimal path.
Another exciting example of Reinforcement Learning is having an AI learn to park a car in a parking lot in a 3D physics simulation.
As you can see from the video, the AI starts with random behaviors. It then gradually learns to solve the task by reacting to the environment feedback accordingly. The environment tells the AI whether it is doing good or bad with positive or negative reward signals.
A formal definition for Reinforcement Learning is that an agent would learn how to act by being given a reward (or punishment) from the world it interacts in.
Here are some advantages of these learning algorithms:
Some disadvantages of these learning algorithms are:
To conclude this tutorial, Machine Learning is all about making predictions. There are tons of fancy Machine Learning methods, yet the most important thing to know about them isn’t what makes them so elegant. It is that which methods fit our needs the best by using test data.
We have listed some useful resources below if you thirst for more reading.
To be notified when this next blog post goes live, be sure to enter your email address in the form below!
Upon entering your email for new visitors, you will receive memorable infographics just for you by your email and all access to the source code used in all tutorials. Be sure to confirm to respect the privacy of everyone.