images.duckduckgo.com

As elaborated earlier, Artificial Intelligence and machine learning are two different things. For a 19th century man even a simple calculating machine could constitute AI. But we all now agree that even more advanced computer algorithms are not machine learning but human intelligence codified into machine. So what is machine learning (ML)? Of course everyone will have her own way of defining ML, but overtime I have defined my own thumb-rules for detecting what is ML.

Any ML system should be based on a sound statistical method. Of course there could be simplifying assumptions which may not be statistically rigorous, but statistics should form the basis for ML models. Thus for example a business rule based system will never be an ML system, unless a statistical model is built on top of a set of business rules.

More importantly any ML system should continuously “learn”. In other words whenever data changes the underlying model should update. Even if the model is a simple model like a frequency counter, it should update itself whenever new data is presented. I think this updation is what distinguishes ML from statistical analysis. Using a complicated model, however deep it might be, does not mean its machine learning unless it learns.

That brings us to the next topic, even a simple model can be called machine learning as long as it satisfies the above two criteria. In most cases, choosing the right factors is more important than sophistication. Most real-world relationships are linear in nature. So a PCA based model or a linear regression based model can solve a wide range of problems. Of course there are definitely tools to incorporate more complex relationships if there is an actual need.

Another important aspect of ML is that all of the above should be done by a machine and not by a human every time. There could be initial experimentation where an analyst or a scientist can choose the right model based on trial and error but after productification, the updation and scoring should be done automatically by the machine.

The tl;dr version: ML systems should use models based on statistics which must be updated automatically by the machines based new data. The models can themselves be simple (Naive Bayes, Regression models etc.) or sophisticated (decision trees, NN etc.) though.

Follow