Learning vs Instructions

Machine learning essentially means making a computer learn patterns from data. How is this fundamentally different from giving ‘instructions’ to the computer on how to work?

What are instructions?

Let us look at an example. Suppose we want to teach someone how to move from the starting point to the ending point, as in the figure below:

Instructing means we explicitly tell them to: 

  1. Go straight for 10 m.
  2. Turn left and walk for 10 m.
  3. Then turn right and walk for 10 m.

Here, the person just follows what they have been told without learning anything.

What is learning?

Suppose that instead of giving instructions, we showed them the paths followed by 100 people to move from the starting point to the ending point. These may not be as accurate or straightforward as before since the path followed by each person could be slightly different from others. But there will be a similarity or pattern that they can pick up and replicate. The more data we give, the more accurate the replication. This is precisely the concept of ‘learning’ in machine learning. 

Why is learning needed?

But why do we need learning at all?

For simple problems like the above example, instructions work perfectly. But as problems become increasingly complex, these instructions may not be explicitly known to us. Even if we know, we might not be able to define it well mathematically. This is where the concept of ‘learning’ becomes essential. Here, we just need to feed enough data, and the machine figures out patterns in them. Deep learning techniques have proven to work so well with such complex problems. It can be shown that it gives an excellent approximation to any unknown function.

Is learning better than instructions?

So, does it mean that learning is better than giving instructions?

Well, there is no ‘better’ here. Every solution to a problem should be interpretable according to its context. While learning can work well with complex problems, it might not always be interpretable in the context of the problem. Learning sometimes can even lead to a wrong conceptualization of the problem. In such cases, we must incorporate domain knowledge into our solution to make it effective. This can only be done by humans. For example, suppose we have built a self-driving car using ML. If the computer detects anything in front of it as an obstruction, it will treat them similarly. But when we drive a car, we treat a pedestrian in front of the vehicle differently from something silly like a dustbin. This domain knowledge is essential for the ML algorithm to work efficiently for our problem. This can only be achieved by human intervention in the form of instructions. The current research in machine learning and AI aims to build solutions to highly complex problems while making it as human-interpretable as possible. 

Learn. Code. Apply.
Statistics. Machine Learning.
cloud-syncearthbullhorn linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram