Home / Machine Learning / Machine Learning vs non-Machine Learning algorithm
Machine Learning

Machine Learning vs non-Machine Learning algorithm

Recently, I was interacting with some non-technical folks and noticed that people use the term ML even when an algorithm doesn’t actually use any Machine Learning.

So here is the simplest definition (that I know of) which explains the difference between Machine Learning and non-Machine Learning algorithms:

Machine learning algorithms improve when you provide them with more data. Non-machine learning algorithms don’t.

Digit recognizer

A famous and somewhat standard ML beginner project is the handwritten digit recognition project.

As it turns out, this simple task is a really good way to understand the difference between ML and non-ML algorithms. There are a few reasons.

Simple Input

The input to a Digit recognition algorithm is very simple. It is a scanned image of a handwritten digit.

You don’t need a lot of background to understand the problem definition. In contrast, suppose you are trying to identify part-of-speech tags for text, then you first need to understand some basic grammar rules to know what the part-of-speech tags are.

Simple Output

This is a simple classification problem. There are only 10 digits  (0 – 9).

Contrast that with ML based language translation – the output is a lot more complex, and constructing grammatically correct sentences is not very easy even for humans.


Also, digits are usually easy to visually separate.

Sometimes, it is hard to tell with cats vs dogs 🙂

Another nice thing about the digit classification project is that it is more or less universal. There isn’t any subjective opinion about the correct answer. In contrast, when asked to classify sentences from the abstract of a medical research paper, medical experts themselves did not agree with each other always.

The accuracy of the digit recognition algorithms improved significantly [1] once more data was available to train the algorithm.

If you are familiar with Python programming, I suggest going through this article to understand how to solve the digit recognition problem.

More importantly, it will give you a good idea of the difference between an ML based and a non-ML based approach when creating algorithms.

[1] The paper here describes this, if you are into such geeky stuff.

<— End of article —>

This website contains affiliate links. See the disclosure page for more details. 
"The magic key I needed as a non-programmer"

The custom payload generator was the magic key I needed (as a non-programmer) to build a good demo with rich responses in DialogFlow Messenger. I've only used it for 30 minutes and am thrilled. I've spent hours trying to figure out some of the intricacies of DialogFlow on my own. Over and over, I kept coming back to Aravind's tutorials available on-line. I trust the other functionalities I learn to use in the app will save me additional time and heartburn.

- Kathleen R
Cofounder, gathrHealth
"Much clearer than the official documentation to be honest"

Thanks a lot for the advice (of buying and following your videos)! They helped a lot indeed. Everything is very clear when you explain, much clearer than the official documentation to be honest 🙂

Neuraz T
Review for Learn Dialogflow CX
"I will strongly recommend this course because even I can learn how to design chatbot (no programming background)"

I think Aravind really did a great job to introduce dialogflow to people like me, without programming background. He organizes his course in very clear manner since I have been a college professor for 20 years. It is very easy for me to recognize how great Aravind’s course is! Very use-friend and very easy to follow. He doesn’t have any strong accent when he gives the lectures. It is so easy for me to understand. Really appreciate it.

Yes, I will strongly recommend this course because even I can learn how to design chatbot (no programming background) after studying Avarind’s course, you definitely can!

Ann Cai
Review for Learn Dialogflow ES

Similar Posts