How many of you still remember that old school saying and the popular English proverb, “Necessity is the mother of invention”? I believe, all of us, isn’t it?
Well, the time has changed. It’s no longer people waiting to have a problem to be analyzed for a solution. The saying has been changed a bit, “If necessity is the mother of invention then laziness is the father innovation”. And one such innovation is Machine Learning.
To be honest, when I heard the word Machine Learning for the first time, it sounded mysterious and I thought it could be something related to Machines, Hardware etc. Well, when gradually I get more into it, I feel it’s a very promising area to get involved and can be summarized in simple words as “Making the correct decision based on trial and error”. Using machine learning, computers can learn from the mistakes/failed attempts without being programmed explicitly. Here are a few words from Google’s CEO, Mr Sundar Pichai-
“Machine learning is a core, transformative way by which we’re rethinking how we’re doing everything. We are thoughtfully applying it across all our products, be it search, ads, YouTube, or Play. And we’re in early days, but you will see us – in a systematic way – apply machine learning in all these areas.”
Sundar Pichai, Google CEO
Still sounds a bit confusing? Let’s look at a simple example-
Ever played Pocket Tanks game? If not please take a look at the following screenshot and I will try to explain different features and practices required to play the game.
The game screen consists of two major parts – the war area and the controller area. There are 2 tanks – red one which you can control (left) and golden yellow one (right) is your opponent controlled by the system. Now, to hit your opponent with a weapon you need to consider 4 factors (as highlighted on the image)-
- MOVE: Distance from the opponent
- ANGLE: Angle of launch
- WEAPON: Appropriate weapon
- POWER: Force
After each and every attempt we (the humans) are learning/observing few things and applying some more filters/changes to get the correct result.
Now, think about achieving something similar via machine learning. Roughly, following are the things we could add up in our algorithm –
- Measure the initial values of the factors affecting the result.
- Measure the hit distance which can be either +ve or –ve based on how much it is away from the target.
- Change the values of the factors according to the above observation.
- Keep adjusting values of the factors until you hit the target.
Some real-world application of ML
Machine Learning is getting adopted in every domain such as Health Care, Education, Wildlife Preservation, Banking, Finance, Robotics, and beyond for a wide range of functionalities like Image Recognition, Voice Recognition, Language Translation, Weather Forecast, Recommendation Engineetc. You’ll be surprised to know that we are already seeing many machine learning implementations in our day to day activities. Few examples include:
- Gmail’s Priority Inbox which identifies important emails automatically. The emails that you see in the priority inbox are the result of its learning over time about what is important to you.
- Gmail’s Spam & Phishing filters.
- Last year, LV Prasad Eye Institute worked with Microsoft to build a model which can predict the success of an eye surgery.
- International Crop Research Institute for Semi-Arid Tropics uses Azure Machine learning to provide digital farming solutions to farmers of Andhra Pradesh and Telangana.
- Google Self-Driving Car is another example of a higher level.
- Microsoft’s Bing Predicts
Products/Services from the Big Three
Here are the top three service providers for building machine learning applications.
For the organizations who are working on the Microsoft ecosystem, Azure Machine learning is the best bet. Easier deployment in cloud and readymade online tool helps you to quick start building ML application. Some of the companies using Azure ML are Citrix, Frame, GeekWire, Brainshark etc.
Google offers many products for machine learning such as CLOUD AI, TensorFlow etc. TensorFlow is an open-source software library for machine learning and is the most popular tool at the moment. Companies using TensorFlow include eBay, Dropbox, Intel, Twitter, Uber, MI, SAP etc.
Amazon also provides machine learning services which you can try for free. Hudl, Fraud.net, AdiMap, BuidFax etc., are among few clients of Amazon Machine Learning.
How does it work?
Following are some typical steps involved in machine learning-
- Collecting data: This a very important phase where huge volume & variety of data is collected for training the system.
- Preparing data: In this step, the data which is not necessary for our observation is eliminated and classified to be used in the later processes. Basically, this step makes sure that you have the highest possible quality of data for observation.
- Training a model: This is where most of our thinking is required to decide the correct algorithm to form a model based on the filtered data. The data available with you will be divided into two parts, one to train the model and rest for testing purpose.
- Evaluating the Model: The data left in the above step for testing will be used in this step to measure the accuracy of the prediction that the model makes.
- Error Correction & Performance Improvement: In this step, necessary measures are taken to correct the deviation or any error in the system. Sometimes you may need to add some more parameters for training or even sometimes you may need to choose a different model.
I am yet to try other services/products for machine learning apart from TensorFlow and Azure Machine Learning but if you are thinking to start learning it, Azure ML could be the easier approach. Here is a typical screenshot –
As you can see, most of the things you need to do is dragging appropriate items, connecting them and configuring with correct parameters. It has large numbers of free datasets to try out for easier learning.
From where to start then?
Machine Learning provides a growth opportunity for everybody. You just need to pick the right path and following few lines may help you in this regards.
If you are an Entrepreneur/Startup:
As opposed to what many people would say, although there are some known hurdles like finance and human resources, I believe machine learning definitely carries some good amount of entrepreneurial potential. Here are few success stories that can help drawing motivation –
- FORKABLE (https://forkable.com): Makes use of machine learning to predict what you want in the lunch before you make the order and delivers it.
- SIFT SCIENCE (https://siftscience.com): Online Fraud Management System developed using machine learning.
If you are an organization:
The above answer holds true for organization too. In addition to this, there is also a number of opportunities for the service based companies. Here are some examples which may force you to re-think, if you are planning to ignore this.
- Prediction and Forecasts may play a vital role in transportation process such as traffic, weather etc. It can also help in demand forecasting.
- Customer Behavior Analysis can help to determine potential customer
- Web indicators/ Sentiment Analysis helps in finding how consumers think about the product or the brand.
- Drug Manufacturing can leverage the power of machine learning to discover new drugs.
- Diagnosis would be easier with machine learning
- Examples: Google’s DeepMind Health, IBM Watson Genomics etc.
- Portfolio management – Robo-advisor
- Fraud Detection – Apexanalytix’s FirstStike
- Sentiment analysis
There are similar applications available/possible for all other domains too.
If you are an individual/professional:
I am sure, among the readers, most of the people will fall into this group. If you are among those people who love to take challenges and ready to jump into something for which there may not be much support available then you are ready to go. Well, as you will be going to work with some startup/ organization, the above-mentioned things will give you a glimpse of why they will be needing resources with prior knowledge of ML. Wondering about what would be the package range? Don’t worry, just a simple search in naukri.com with keyword results in 4711 (on 17th Aug 2017) and look at the following screenshot for the range salary packages that are being offered.
Okay, if you have noticed, there are few offers which extend beyond 1 Crore salary package. The job locations in India are mostly Bengaluru, Hyderabad, and Chennai etc.
If you are from a mathematics background, you will see a lot of theories and formulae what you had learned in your college time being required while you learn/experiment on ML, specifically Probability & Statistics plays a major role. So, here is your checklist to learn-
- Probability & Statistics: ML hugely uses concepts of probability & statistics on the data on which the machine needs to be trained.
- Linear Algebra: Knowledge of Linear Algebra is required to understand various methodologies of ML. A better understanding of Linear Algebra will help on a great scale.
- Programming: Python and R are the most preferred programming languages.
- & of course lots of patience.
As said earlier and the title of this article suggests, this is just an introduction to various aspects of machine learning, what I call a baby step towards knowing what machine learning is and what opportunity it provides. There are thousands of article and research paper out there on the internet which will guide you through your application of interest using the power machine learning. Now, as we went through the complete article, just recalling what I said in the first section of the article using some other words – “You need to work hard to be a perfect lazy”. If you want machines to do the job for you, you first need to train them to do so correctly and that’s what machine learning is all about. I would strongly recommend to follow local technical communities and get involved to know their future events on machine learning.
Here are the links of local tech communities, I know.