The situation that we hear the news about machine learning and artificial intelligence became ordinary in the world today. There are so many study sessions discussing about ML, and all seats are quickly taken after inviting participants. However, although many people became interest about introducing machine learning technologies, there seems to be challenges because not a few people don't know where to start it.
So I'll introduce one of good approaches for this. ( Please make sure that it's not a talk about technical details, but rather a talk about business processes )
1. Starting from "rule-based" technology
In other words, designing a system WITHOUT ML technologies is a good start. That means, we start from taking a conventional approach which declares simple IFs and ELSEs. "What! We just said that our interest is machine learning!" - Don't be in a hurry. Going through this process has 3 rational reasons:
i) Machine learning is not a silver bullet
First thing we need to know is that some people seem to overestimate ML technologies. In fact it's not a silver bullet which can dramatically automate many business processes and solves many business problems easily. We need to remember that machine learning is not easy, even though there are so many tools - like Tensorflow, Chainer, and Keras - today.
Additionaly, it contains a risk of technical debts. Because real world seemlessly changes, its algorithm easily becomes old. This means we need to maintain the algorithm periodically after release and this of course costs so much. Here are a good reports of Google about this problem:
Machine Learning: The High Interest Credit Card of Technical Debt
ii) Rule-based approach still can solve many business problems
Secondly, some people seems to underestimate the power of rule-based approach. It still can have powers, and in fact it can cope with many business problems. Though ML technologies are awesome, systems shouldn't be overengineered and technologies that we apply should be well considered.
iii) Rule-based approach may give us some insight
The final reason is that in the process of rule-based approaches, we can get some insight that what should be automated and what shouldn't be. At the very first moment of the project, there're not enough data for applying ML technologies. Moreover, it's usual that the essential problems are ambiguous and even clients themselves don't know what they really need. That's why it's not good to think about ML technologies from start.
2. Start to think of using ML technologies when "rule-based" system start to be complicated
It's a good sign that we consider ML approaches when rule-based system grows too much, the code starts to become spaghethi, and difficult to describe the specification of the whole system. At this point, it might have already been clear that what should be automated and what ML technology to apply, like linear reglessions, n-class classification, and so on.
After the problem became clear, it's good to discuss about these things:
- Why should you use ML technologies?
- Do you REALLY need to use ML technologies?
- Is the data enough to start ML?
- How long does it take to get outcomes?
- How can you measure outcomes?
After considering these question well, you'll probablly be in front of the entrance for machine learning, but keep in mind every time that ML approaches often takes lots of time to get a good outcome and we continuously need to consider that whether it's really worth the cost.
Summary
- Start from rule-based approaches. That's still going to work well with business questions. Doing that might bring you have good insights for starting ML things.
- After the rule-based system expands too much, start to think about using ML technologies. Question by yourself: 'Why should I use it?'
Have a good ML life! :)