Machine learning is powerful, but it is not a universal tool suited to every problem. Today we will learn the criteria for distinguishing problems that suit machine learning well from those that do not, and compare how it differs from the traditional programming approach.
This judgment is very important in practice, because it is common to "adopt machine learning where it wasn't needed, only to increase costs and get worse results." The exam also frequently asks questions like "Is machine learning appropriate for this scenario?"
First, let's sort out the fundamental difference between the two approaches.
| Aspect | Traditional programming | Machine learning |
|---|---|---|
| Who creates the rules | Humans (developers) | Learned from data |
| Input | Data + rules | Data + answers (examples) |
| Output | Results (answers) | Rules (a model) |
| Suitable situations | Rules are clear and unchanging | Rules are complex or hard for humans to define |
In traditional programming, "a human writes the rules and the computer executes them as-is." In contrast, the key difference with machine learning is that "given data and answer examples, the computer produces the rules (a model)."
💡 Related theory: Traditional programming is
data + rules → results, while machine learning isdata + results → rules. It's easy to remember if you think of the inputs and outputs as swapped.
The more of the following conditions are met, the better a choice machine learning is.
Click a choice to reveal the answer and explanation.
Question 1
For which of the following problems is traditional programming more appropriate than machine learning?
Question 2
Which statement most accurately describes the input/output relationship of traditional programming and machine learning?
Question 3
In a certain business task, there are only a handful of historical records available for training, and the results must be legally 100% accurate and fully explainable. Which judgment is most appropriate for this situation?
Question 4
Which of the following is hard to consider a characteristic of problems suited to adopting machine learning?
Conversely, in the following cases machine learning is overkill or inappropriate.
| Problem | Better approach | Reason |
|---|---|---|
| Computing the sum of two numbers | Traditional programming | The rule is clear |
| Calculating a 10% tax | Traditional programming | Simple formula |
| Looking up employee info by employee ID | Database lookup | An exact lookup is sufficient |
| A prediction with only 10 data records | Acquire data first | Insufficient training data |
💡 Related theory: Avoid the misconception that "machine learning is always smarter." Applying machine learning to problems with clear rules can increase costs and actually reduce accuracy. Choosing the simplest method that is sufficient is good design.
Here is a quick order of checks for deciding whether to adopt machine learning.
Can a human write the rules easily and clearly?
└ Yes → Use traditional programming (machine learning unnecessary)
└ No ↓
Is there enough data to train on?
└ No → Acquire data first (machine learning is difficult for now)
└ Yes ↓
Is some margin of error acceptable?
└ No → Review carefully (machine learning may be risky)
└ Yes → Machine learning is likely a good fit
In practice, the two approaches are often used together. For example, clear rules are handled with traditional code, and only the complex judgments are delegated to machine learning. What matters is the perspective of "picking the right tool for the problem," not "only one of the two is correct."
data + rules → results; machine learning is data + results → rules.