Get over with the Machine Learning Hype
Get Over With the Machine Learning Hype
(Opinions are my own and not the views of my employer)It’s 26th September 2019 and in every tech discussion, whenever somebody aspires to sound cool utters the word Machine Learning in anticipation of conquering the argument.I was one of them, and I actually left my plush career to pursue MS in Machine Learning to make my life more grandiose. I do not regret that decision but what I found about machine learning was extremely disappointing and I immediately changed my concentration for my master’s.The fantasy about machine learning ends the day you understand, no darn machine ever learns a damn thing. It was a work of genius, who actually named this field as machine learning. I’ll come to it later on the origin of this name.You might have heard stuff like, machine learning can cure cancer, can drive a car, can replace humans and write code themselves, blah blah blah. Take my word on this — these all are absolute b***shit.Machine learning can primarily do 4 things as of September 2019. In layman’s languageRegression — Given a tabular data, it can predict the probabilistic value of some missing column values of a new row.a b 2
b c 3
x d ?
2. Classification ( Supervised learning ) — Given a set of objects and a set of groups where it’s already given which element belongs to which group. It can predict which of this pre-given group this new element might belong to.For example, if I say Audi and BMW belong to group Car and Boeing and Airbus belongs to group airplane, If I now give you Titanic, you would most probably say it belongs to group airplane, as it’s weight, height, cost matches more with airplane than a car. But it can never predict it’s actually a Ship because our initial given data has nothing called a Ship.3. Unsupervised learning (Classification) — Given a set of objects and a constant number of the undefined group, It can predict which elements are part of the same group and which are not.For example, if I say Audi and BMW, Boeing, Airbus, and Titanic belongs to 2 different groups, It would predict Audi and BMW belongs to group 1 and Boeing, Airbus, and Titanic belongs to group 2. But it cannot say what does group 1 and group 2 actually refers to, some human need to look at them and say — hey these are cars. Machine learning obviously can’t figure it out. If I say those objects belong to 3 different groups it can say Titanic belongs to group 3 because it’s features are drastically different from others, but can never say it is a ship.4. Reinforcement Learning — If your problem has an end goal ( like winning a game of chess) and you can somehow assign points to every possible step as good step (some positive score if the step would lead to winning) or bad step (some penalty if the step would lead to a loss) then you can design a system which will maximize your probability to reach win state .That is it, the entire field of Machine learning at its core can’t do anything else. Now let us talk about some algorithms used for these above 4 things.Regression — Linear regression (fancy name for y = mx + b), Binomial or polynomial regression are few of them. I’m not going into details. But it’s like plotting the given points in a 2-d plane and then trying to predict a function that goes through all the points and minimize errors. Now if you give me a new X-axis value I can return a Y-axis value that resides on my function.Classification ( supervised learning ) — Naive Bayes, Decision trees, Neural Networks ( Deep learning), Support Vector Machine are a few algorithms that are used for this. A decision tree can output only true or false, Deep learning passes your data to a series of function and feedback output of the data back to the pipeline after multiplying it with some value. Support Vector machine algorithm plots your data points in an N-dimensional space and tries to draw a hyperplane to classify your data in separate groups. Naive Bayes is a modified form of Bayes theorem.Unsupervised learning (Classification) — k-nearest neighbor algorithm (KNN) assigns points to groups based on the distance of points from the center of the group. Deep leaning or neural network is used in both supervised and unsupervised classification.Reinforcement Learning — Uses game theory, dynamic programming etc to assign positive points or penalty to a step taken by the algorithm so that your program can take a sequence of steps to reach the end state.TensorFlow, NumPy, Panda, NLTK, Keras are just some a bunch of pre-written computer program to do perform above tasks easily without writing all the codes all over again. So, given it has just these limited power, why people say it can drive a car or detect cancer?Well, you can give thousands of human health parameters and mark them this patient had cancer, or this patient was healthy. Now if I give a new patient record, you can use classification algorithms to predict it will belong to the cancer group or healthy group.Or if you break the task of driving a car into thousands of substeps like move steering right, move steering left and road condition data points, it can predict which steps it should take. As you might have guessed this requires more electronics and mechanical engineering innovation than the ML software.But it’s just a computer executing some algorithm and giving some output, at no point, it can take us over or rule the world. If we ever design a robot that can take over human it’s more to do with an electronics engineer, designing a circuit that will disable it powering off button, and would fire a bullet if it sees a moving human in x meter distance. Where is machine learning in that? So high time for Elon Mask to Shut the heck up.What exactly a machine learning model?at its core, in its simple form, just a text file(Python pickle file to be precise) containing info such asTake param level n from input data → perform some function on the data like x = x*k etc -> multiply output with n -> feed it back to function labeled x -> if computed error is < 0.42 output the result.What is Tensorflow Processing Unit ( TPU ), GGPU?These are custom made electronics processors and circuits to perform some specific computational tasks ( Matrix multiplication, low precision float operation ) faster than the regular CPU using less power. So some Machine learning algorithms run faster on those systems. Absolutely nothing else.Origin of the name machine learning -In the above paragraph where I described a machine learning model, things like “multiply output with n” or “perform some function on the data like x = x*k” are not manually decided by the programmer, instead, the computer comes up with those functions and values based on the given data. Hence some marketing genius decided — the machine has learned my data and named it machine learning.Why is this a hype?Machine learning is a combination of Computer algorithms, Discrete mathematics, and probability. It can give some probabilistic values if we give it a large number of data to compute. But the assumption that it would change the world is an overstatement.Primarily because past data always don’t give hints of future outcome. Brazil was the better team on paper so , people predicted Brazil will win World Cup 2018 with a 24.9% probability, but an Algorithm can’t know a lesser know Mbappé will take France to final and win it.Secondarily, Machine learning doesn’t take context into account. Like if you are sitting in a restaurant and, look at your friends' plate and say "May I", Your friend can understand you meant " May I take a piece of the dessert from your plate", as she knows the context. But the software will error out thinking "May you what ?".And finally, humans are not just mathematical circuits and not always learn from input data but has innate capabilities (intelligence), otherwise blind babies would have never learnt to laugh , our decisions are influenced by impulse, love, hatred, fear, values, and emotions and you can’t represent all of them using numerical values. Until scientists figure out how to imitate those, we can never imitate human behavior. And if somebody figures that out, he/she will be either a genetics engineer or chemical engineer, definitely not a Machine Learning engineer.I see every software engineer nowadays trying to switch their core competency and aspiring to become a data scientist. I saw the same hype when No-SQL database was introduced, everybody wanted to rewrite all applications in MongoDB, When IOS or Android was launched everybody tried to become an IOS or Android developer. At the prime of bitcoin , when And eventually, after a few years, they realized it wasn’t the shortcut to success.When, 5 years later somebody will come to this blog, hopefully, it will stand out as testimony that I correctly predicted at it’s prime that machine learning hype won't last beyond 5 years.