Machine Learning is such a subject, that can be fun as well as daunting to learn at the same time. And if you have recently started to get your hands dirty with Machine Learning then you must have felt overwhelmed by reading so many things online and in books as well. Well, this article will help you immensely if you are getting started. I named this article ‘An introduction to Machine Learning’. It is so as this will help you to get a broader and clearer picture of Machine Learning.
What is Machine Learning?
The best place to start is by knowing the definitions. The two of the most common definitions are:
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.
Tom M.Mitchell
Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.
Arthur Samuel
The above two are the most basic definitions of Machine Learning that you can find in any introductory course for the same.
I will try my best to provide the basic theory. This is because the field of Machine Learning is vast. Any beginner will find himself or herself pondering over very industry-specific terms. And yet these terms will seem like old friends once one actually gets what machine learning is.
Before moving further let me just bring forth one point. Now, many of you reading this article must be conventional programmers, and if you are not, then you may be at an advantage, but not necessarily. Why? You may ask. This is because many people who come from conventional programming fields into machine learning think that it is all about writing code. But no, machine learning is more about solving problems and analyzing data. This happened with me as well.
I found it really hard to comprehend the fact that I was spending more time analyzing and fine-tuning the data rather than coding. But once you start understanding things, then the real fun begins. So, let us start.
Types of Machine Learning
Broadly, Machine Learning can be divided into three types:
1. Supervised Learning
2. Unsupervised Learning
3. Semi-supervised Learning
4. Reinforcement Learning
Supervised Learning
Supervised learning is perhaps the most widely used method in the field of machine learning.
As the name suggests, learning happens through supervision. This is very similar to the kind of supervision a small child gets when learning something new.
Here, you have a set of input variables and a set of output variables. Your job is to find an algorithm such that you can map the input to the output. This learning phase should be so good that the model can map new input variables to output variables on its own in the future.
There are two types of Supervised Learning:
1. Classification: In classification problem, the output is a class label or often called as category as well. The class labels could be, for example, simple ‘yes’ or ‘no’, or if it is a classification of sports data, could be ‘win’ or ‘lose’.
2. Regression: Regression,
Unsupervised Learning
In unsupervised learning, you have the input data but not the output data.
Unsupervised learning is very correctly called so. Unlike the supervised learning method, here the model or algorithm does not have any output variables to learn from.
One other way to think about it to contrast it from supervised learning could be, you give the model all the input data and variables but do not provide the labeled or classified output. The model itself has to find the patterns in the data and make future inferences. This will become even clearer once you get to know the methods used in unsupervised learning. Divided into two groups, they are:
1. Clustering: The meaning of clustering is very literal here. You need to cluster the given data into different groups based on a common characteristic or behavior.
The following is a very simple example of clustering. Suppose, you have a group of 100 people. They all like to eat different flavors of ice-cream. Your model has to cluster the people with same favorites into the same group. So, people eating chocolate ice-cream go into one cluster, vanilla eaters into another and strawberry into a third separate group. On a very high level, this is how the method works.
2. Association: Association is where you associate one similar pattern with another. You can again consider the above ice-cream example. It may happen that all the people who like chocolate flavor also like vanilla. So, the group eating chocolate ice-cream are associated with eating vanilla ice-cream as well.
Semi-Supervised Learning
This type of learning comes in-between supervised and unsupervised learning.
In semi-supervised learning, you have the data set containing both the input and the output data. But in this case, some of the output variables are labeled and some are left unlabeled.
Perhaps, the best example for semi-supervised learning fall in the category of image classification, although not necessarily. I am saying so because, for example, you have a data set for classifying the images if three types of fruits, viz. apple, orange and banana. Then, some of the output variables in the set are labeled with the correct fruit name and some are not.
In this case, the model must be able to use both supervised and unsupervised learning. Another real-world example could be classifying tweets as positive and negative. Here also, it is not possible to train a model with each output labeled as the data set could be quite large to do so.
Semi-supervised learning has found its way into the practical usage in the AI industry and is very commonly used as most data sets are incomplete in one way or the other.
Reinforcement Learning
In this type of learning, the algorithm or model is not told whether the output it gave is correct or wrong. Rather it is rewarded for a correct answer and punished for giving a wrong answer.
Reinforcement learning is based on feedback loop structure, wherein, the model gets feedback either in terms of rewards or punishments and it has to learn and improve on its own from each feedback.
The most simple example can be given in terms of game playing. Take the game of chess. The model is not told whether it won the game or lost it. Suppose that it won the game. Then it is rewarded in some way. The next time it plays the game, it tries to imitate the previous steps or improve upon it. But if the model is punished for losing the game, then it knows that it took some wrong decisions and tries to avoid them the next time.
Obviously, the above scenario can become much complicated. What if the model took the right decisions up to some point and then played all the wrong moves? Answering this question would require a bit more sophisticated approach. As I am trying to keep this post beginner friendly, so, I am leaving it out. Still, you are free to search it on your own and learn about it. You can be sure to enjoy learning about it.
That’s it for this one. Feel free to do more research about the methods discussed and also try to implement them through programming (Google is always there to help you). Thanks for reading. Please share and like the post. Follow me on Twitter for regular updates.
You can Contact me here as well.