Who hasn’t heard of Machine Learning, ML, Artificial Intelligence, AI, Data Science? I don’t see many or any hands raising on this question. These are the latest buzzwords in Technology. Everyone in the IT field are upskilling in this area. Kids in schools and colleges are already learning about it, atleast the basics of what it is.
As I hear these buzzwords again and again, I kept thinking is this the new way of solving all problems now? Is the traditional computing dead? If not where can we use Machine Learning? What problems can we solve with it? So with these questions in mind I started reading the relevant topics. I will try to summarize what I learnt out of this exercise.
What we have been doing so far is writing programs using rules and variety of computations. As we have advanced in different technologies and capabilities, and on the way as we have learnt a lot about data driven solutions, we are finding ways to feed data to machines to come up with machine learning applications.
Traditional Computing is based on rules, clearly defined steps and computations. We create programs using these and machines simply follow them. In other words, we give instructions to machines and they simply follow. In Machine Learning, we go one step ahead. Apart from telling machines ‘what to do’, we also tell them, ‘become smart – learn what next to do’ by providing them learning algorithms and training materials in the form of data.
So obviously there are problems still out there where the solution is simple, we can still instruct machines ‘do so and so steps’ and we have it solved quickly and easily. However lot of fields are finding the benefits of using ML to solve complex problems which are not yet addressed. Lot of already existing pre-defined rule based solutions finding ways to augment for better features using ML.
So where can we use Machine Learning? First of all, if a problem can be solved by writing a program, we should be just programming it which is quick, easy and of a low cost solution. Following are the different areas where tasks may not be programmable easily but ML can come to the rescue.
Predictions based on the historic data. If a result is based on certain criteria that doesn’t change drastically over the period of time, then having a huge historic data that decides that criteria will feed the pattern to the machine and and machine can predict the future. It could be consumer behaviour. It could be price of a stock or real estate. It could be business sales or inventory usage. Say you want to recommend your user what to buy, what vacation to take or say what article would be of his interest. If you have enough data on user’s past actions, ML based algorithm can accurately predict what the user would like.
Categorization based on lot of data points. Classic example would be tagging emails as spam, marketing etc. Say there are huge number of documents, you want them to be grouped in different category based on what is it about. ML can do these kind of categorization easily whereas manually doing this on huge data points would be impossible. Or even rule based programs wouldn’t be able to do this effectively.
Inconsistency among lot of data points. Just like how it can group and categorize the data, ML can easily point out the abnormality or anything that is out of the norm in the accepted pattern in the huge set of data points. This is a big big win in the security field. You can see a major application in fraud detection may be finance sector or any kind of hacking/intruding.
General pattern recognition. The most fundamental about ML is it uses some sort of pattern recognition. Hence you can easily apply for pattern recognition. What I am referring here is being able to accurately identify certain things based on pattern. An example would be detecting a certain type of picture – flower, animal, people, building, do face recognition etc.
Interact with humans. Many companies are already acting on this ability. Haven’t you chatted with a bot yet which says “I am not a human, but I know some stuff and I am still learning, I can help you from what I know” ? Not just Siri, Alexa, or OK Google, there are number of Assistants and bots taking shapes to respond by understanding human’s natural language either in writing or in speech. Thus working as sales assistant or providing an effective customer service.
As you can see such a huge and different areas ML can be very well applied. However solution based on ML does require time, money and resources. And each one of the ML applications is based of data and lot of it. Also not just lot of data but it is important to have a very good quality data to make the ML based implementation effective.
Happy learning in ever innovating tech world!