A journey towards Machine Learning

Humans are always trying to simplify their efforts in doing anything for their living. At the beginning of evolution, the humans had only nails and teeth as tools for their survival. Then they realised that they can make use of the stone chips, sticks and bone pieces for hunting and other activities. Then with time, unsatisfied with the current performance, learnt to develop tools using the branches, shoots and stone chips for long distance targets. This gave the humans an opportunity to think beyond survival. 

Once the food and safety issues are taken care of, the humans began looking into the ways to do the acts more efficiently. The prime concern now was to reduce the efforts needed to do the regular daily activities like growing food, transportation etc. This led to agriculture and machines. And the humans wants started to rock high.  Humans are never satisfied. This quality of being always unsatisfied forced to develop more and more. 

The advent of electricity further increased this pace of development. With all this, the humans could only reduce the usage of muscle power required to do any task.

Now the human wanted someone or something to think on his behalf. This forced one to create machines like calculators, computing machines. These machines act very fast and compute anything at high speed and more accurately. Human was happy that the mental activities are now possible through machines.
 But, is human satisfied? Never. Now what? Human now started to realise that the machine is useless unless a human codes the machine regarding what to do. This coding took lot of human efforts. This is due to the very fact that the coding had to be done in a language that the machine understand. This language needs to be unambiguous. But there is a lot of ambiguity in human languages. Each sentence of human is context based and the machine need a context free language. This approach is code- centric. Here the code is of primary concern whereas data is secondary. In addition the coding of the real-time problems is almost beyond the human limits. An alternative to coding was the need of the hour. 
One alternative is to make the machine understands the human needs by itself and solve it by itself. All this must be done with no or minimal human interaction. The idea is to give commands to the machine as if giving to an intelligent human. This led to the new phrase "Artificial Intelligence" famous as AI. The first step towards AI is to make machine learn the way humans do. That's the concept of machine learning. Today enormous data is available. This data can be of great help in solving our problems through machines. AI focuses on transformation from code- centric to data- centric approach. 

Now, what's learning? 
Learning is the process of acquiring new understanding, knowledge, behaviors, skills, values, attitudes, and preferences [1]. 
This process of learning in humans need to be understood first before trying to reach a machine. 
Now let's try to go back to our childhood to see how we learnt. But due to the abstraction, we've forgotten how we learnt. We remember only what we learnt. That's the next challenge- understand how we learnt! 
So let's observe how a child learns. There are mainly three modes of learning in a child's life.
* Imitate others
* Observe the surrounding
* Trial and error
In the first place, the child tried to imitate other's actions- moving limbs, talking, eating etc. The next step is others helping the child to imitate. Now the child tries to understand other's instructions. This phase of learning, some sort of supervision is required. This phase of learning is called Supervised learning. Here the supervisor or the teacher shows something and tells the child what it is. It can be learning alphabets, for example. In this scenario, the teacher shows the various characters written on the board and reads out how to pronounce it. This process is repeated multiple times till the child is able to correlate the symbol with its pronunciation. What happens in the child's brain during this process is neither known to the teacher nor the child. The teacher's work is to give two instances to correlate. Be it alphabet, maths or anything, the process of teaching is the same. This abstraction can be the stepping stone to machine learning. 
From the moment the child is born, it keeps keenly observing the neighborhood. It always tries to differentiate between the objects around. Mother from others, known faces from unknown faces, humans from other living creatures, lubing creatures from nonliving ones etc. In this phase, no one is there to follow or teach. The whole learning is done automatically without anyone's aid. This is Unsupervised learning. The main features that assist one to differentiate are the color, shape, texture, smell, touch and taste. These features help in clustering the objects. The objects with similar features are in same cluster whereas the objects with dissimilar features belong to different clusters. Most of these features used cannot be expressed quantitatively. They can only be expressed qualitatively. For example, try explaining the fragrance of mango 🥭 🤔. It cannot be expressed in words but can only be experienced. 

In the next stage, the child has mobility and can act on its own. Here the child starts to experiment with the neighborhood. Touching, eating and like. In this process, it experiences good or bad. Now the child continues to repeat the actions that gave good experience and avoid the actions with bad experiences. This is Reinforcement learning. A simple example of reinforcement learning is learning to ride a bicycle🚲. This neither can be learnt observing how others ride nor reading or listening to others experiences. The rule for riding is simple: 
- keep the bike moving by peddling
- maintain balance by proper handle oscillation
If any of these missed- crash😭. Just knowing these rules is not sufficient to ride. We need to ride, fall, ride again, fall again....  After each fall if we understand what actions are good and what are bad, we then encourage ourselves to use good actions more often that the ones that are bad. This is Reinforcement learning. 

The similar process can be used while making the machine to learn. 
The simplest form is to provide both the input as well as the corresponding output to the machine and let the machine to correlate them. This is the Supervised learning approach. This approach is useful when the data we have contains both the input as well as output. In this method a model is created by training. A model is essentially a mathematical model with many adjustable parameters.  During training, the input is applied to the model and it's output if compared with the required output. The error between the actual output required and the one getting from the model is minimized by adjusting the parameter values. Once the error is within tolerance limit for all the input/ output pairs, the model is ready. 
There are two types of supervised learning depending upon the type of output. If the output is continuous, then the learning is called Regression. This method correlate the output with the input through mathematical expressions. Once this model is ready, we can supply any input to the model and expect a well approximated output. In the other hand, if the output is categorical,  then the learning is Classification. This method tries to partition the domain into sub-domains such that each sub-domain contains one category of data. 

The next form of machine learning is Unsupervised learning. In this category, the data contains only the input and no output is supplied. One way is to look at these features and cluster the data into various clusters using similarity and dissimilarity measures. This process of Unsupervised learning is called Clustering.  The data with similar features are clustered together. The similarity measure cab be decided either by number of clusters or by fixing the maximum size of each cluster. 
Other application of Unsupervised learning is to reduce the complexity of the problem by simplifying the data set. This can be done by reducing the dimensionality of the data. This can be achieved by eliminating redundant rows and columns in the data or by extracting the features smd transforming into a new simplified domain. This simplification had many advantages. The data is cleaned or of redundancy and compact in size and hence working with this data is simple and faster. This process is called Dimensionality reduction. 
Then comes the most exciting form of learning. In this case that data is created while learning. The whole game begins with some rules. The system contains an environment upon which an agent acts. These actions produce either positive or negative results. The agent exploits the environment by repeating the actions producing positive results more often and avoiding those produced negative results. With time, there is monotonous improvement in agent's efficiency. This is the ultimate form of learning and is called Reinforced learning.
 Lets continue our detailed discussion in the future sessions. 
See you soon 😊 

1. https://en.m.wikipedia.org/wiki/Learning


-Dr. Sandeep V.M. ðŸ’¡ðŸ’»ðŸ”†ðŸª”

Comments

  1. Crisp and simple way of understanding Machine Learning. Very intersting Sir

    ReplyDelete

Post a Comment