Machine Learning IS for Everyone
By: Prerak Trivedi
Tags: Anyone Can Code, Towards Data Science, Machine Learning, Data Science

Practice makes a man perfect — English Proverb

One must have come across the ancient but famous English proverb many times in their lifetime but who knew until 1960s that this proverb could be true not only for humans but also for the machines. Machine learning (ML), in simple terms means designing an algorithm and asking your machine to work on it repetitively so that accuracy increases.

Traditional Programming v/s Machine Learning

Programming vs Machine Learning Flow Diagram

To be honest, there is a lot of difference between a normal programmer and a machine learning engineer. A traditional programmer writes down a set of instructions showing the machine what is to be done. The machine blindly follows the steps and generates the results. A different program is required for a small alteration of task. However, as seen in the above figure, a Machine Learning engineer has to figure out the result desired and then design a program that works just great.

Let’s exemplify

Let me explain the above flowcharts with a simple example. I want to design an algorithm that can filter spam mails. A few years back, spam could be recognized by looking at words like 4U instead of ‘for you’, Earn $ instead of salary and some grammatical errors.

A traditional programmer will create a list or a dictionary for the stop words and compare the words in the e-mail. If it matches, the mail is labelled as spam. What if the spammers make a small change and swap 4U with for you! The spam filtering fails. This is where machine learning comes for your help.

A machine learning engineer will create a list of stop words and define a loop to iterate a classification algorithm on spam emails multiple times until the accuracy of the algorithm is increased. This increases the ability of the machine to understand spam words and look for a pattern in the spam mails, helping it to detect similar words even if they are slightly changed.

How can you learn ML?

If you are a person without any prior knowledge of coding, you can still manage to get your head around machine learning. For anyone out there wanting to be good at machine learning, this is the list you should follow:

Statistics Probability TensorFlow Basic Coding

Statistics is the root of machine learning. I know that many of us are not math loving people but there is a vast difference between the mathematics that we used to study in schools. Try learning with patience and be good at the concepts of statistics. It is better to focus on WHY rather than HOW. For example, if you want to do a regression, it is okay not to know how it is done but you must know why it is done and what it means. There a lot of libraries and functions available that can perform regression just by writing a simple function.

How fast can probability change?

Probability is the key to prediction analysis. Statistics and Probability together build the world of Machine Learning. Various filtering, classifications and clustering techniques can be understood once you have hold on this concept. For example, when you buy a pair of running shoes from amazon, you get advertisements regarding various gym equipment, sippers or yoga mats. This is done by using a technique called Classification and Clustering. Data analysts try to get an idea from the previous purchases made by the customers who bought the same pair of shoes as you and try to show you various other options in order to bag a purchase.

TensorFlow is a part of core machine learning and you might ask, what is this guy thinking, how can a library based on coding be for everyone but TensorFlow is not same as the other machine learning libraries available. A basic knowledge of the statistics and just fitting the correct features enables you to apply a simple algorithm of Neural Networks which is one of the most applied techniques in the world of machine learning. For instance, you can teach your machine to play a simple game of rock, paper and scissors by writing couple of lines of codes and a few iterations to improve the accuracy.

Coding is an integral part of machine learning, but do not worry. The basic knowledge of python, R or any other programming language is always an asset. However, there are many other softwares which can perform a task with minimal coding requirements or by drag and drop method. This can be a new trend that shifts the focus of Data Science from programmers to the people who have more knowledge of the domain.

Summary

The above points do not mean that the Machine Learning is complicated or fearful field. I would say that it requires a lot of practise, patience and reading. A machine learning engineer has to focus not only on generating the results but also on the reporting. An engineer can understand the code but the result should be such that even a layman can understand the idea by just getting a glimpse of the report.

I will be back next week with an article on TensorFlow and how everyone can use it for ML. Please follow me for updates and feel free to leave a clap or comment.

You can find me on twitter and LinkedIn.