Machine Learning vs. Traditional Programming Paradigm




When it comes to using computer to perform tasks on behalf of humans, we always need to give instructions to the computer in form of a computer program. Most programming frameworks are about breaking down the main task into composable problems.

Traditional programming languages typically take data and (business or solution) rules as input and apply the rules to the data in order to come up with answers as output. For example, a traditionally programmed sales analysis application will read in sales data along with (business or sales) rules, and then apply those rules to the data and output the key trends, analytics or insights.

On the other hand, in machine learning paradigm the data and answers (or labels) go in as input and the learned rules (models) come out as output. Machine learning paradigm is uniquely valuable because it lets computer to learn new rules in complex and high dimensional space, a space harder to comprehend by humans.

For example, we can write traditional computer program for activity recognition (walking, running, or biking) from person's speed (data) and definition of (walk, run and biking) activity based on speed (rules). However, the problem with this approach is that different people walk, run and bike at different speeds depending upon age, environment, health etc.

If you have to solve same problem in machine learning paradigm, we would get lots of examples of activities along with their labels (answers i.e. type of activity) and then learn or infer the rules to predict activity in future.

It is just a new way of doing the same old thing but a very powerful and scalable way.

Need help with a business problem?

Or Need to bounce an idea?