In the first blog post of this series, we introduced the topic of machine learning and discussed why there is a lot of excitement around the topic. In this blog post, we explore different types of machine learning.
Let’s start with a simple example that everyone can relate to. You want to teach a three-year-old some basic discipline of keeping their toys in the right place. The room is full of interlocking blocks and soft toys. There are two boxes – one for blocks and another larger one for soft toys. You want to train the kid to put the right toy in the right box.
You start by showing a block and then placing the block in the block box; similarly, you pick up a soft toy and then place it in the toy box. With a couple of iterations, the child learns what is a ‘block’ and which box it should go into and which is a ‘soft toy’ and the designated box for the soft toy.
This type of learning is called Supervised learning. It is a type of machine learning, where one guides the system by tagging the output. For example, a supervised machine learning system that can learn which emails are ‘spam’ and which are ‘not spam’ will have its input data tagged with this classification to help the machine learning system learns the characteristics or parameters of the ‘spam’ email and distinguish it from those of ‘not spam’ emails. Just as the three-year-old learns the difference between a ‘block’ and a ‘soft toy’, the supervised machine learning system learns which email is ‘spam’ and which is ‘not spam’. Techniques such as linear or logistic regressions and decision tree classification fall under this category of learning.
Now let’s say that you want to test how smart the three-year-old is and you ask it to sort the blocks into different piles. The child has not got any ‘clue’ from you but it recognizes the different shapes of the blocks. It picks up all square blocks and creates a pile, all rectangle blocks into another pile and so on. The child can also sort the blocks based on the color or even a combination of shape and color. We call this type of ‘unaided’ learning as unsupervised learning.
Unsupervised learning is a somewhat harder form of machine learning. In this type of learning the input data is not ‘tagged’ requiring the system to infer the naturally occurring boundaries or classifications. A good example of this is when you have a large amount of survey data and you want the learning system to determine segments of consumers based on their socio-demographic or behavioral characteristics. Techniques such as clustering or dimension reduction are types of unsupervised learning techniques that can take raw data and form groups based on certain characteristics of the data.
Now instead of telling the child which toy to put in which box, you reward the child with a ‘big hug’ when it makes the right choice and make a ‘sad face’ when it makes the wrong action (e.g., block in a soft toy box or soft toy in the block box). Very quickly after a few iterations, the child learns which toys need to go into which box – this is called Reinforcement Learning. Dynamic systems that can take an action in the real world and measure the outcome to correct its future behavior often exhibit this type of learning. Control theoretic techniques and Markov decision processes are types of reinforcement learning.
Based on your problem domain and the availability of data do you know which type of machine learning system you want to build? What are some of the challenges you face in implementing each these types of learning systems?