Original Source Here
Machine Learning for Babies
The terms like Artificial Intelligence(AI), Machine Learning(ML), are in a hyped position in current trends. It seems like a complicated domain, assumed as arduous for beginners. Through this brief post, we can catch off what Machine Learning is, and I am gonna elucidate it by considering you(the reader) as a baby, using simple and catchy words(possibly).
So, what is Machine Learning?
Some with no idea, about Machine Learning, assume that it may be related to learning about machines, however, it is not so. Let’s reverse the word plus add an ‘s’, now it’s ‘Learning Machines’.
This is what Machine Learning is in the macro view of point. We, humans, are teaching the machines to do some tasks based on past data.
Okey! Btw, how do machines learn using those past datasets?
Consider an example, if we show a Shephard(it’s a dog with the breed named Shepard), and tells the child that it is a dog; the child recognizes it as a dog and whenever he sees a Sheperd it can recognize it as a dog. But if we show Bulldog (another breed), to the child, he may not recognize that. So we need to teach the child that a bulldog is a dog. Similarly, if we teach to recognize some more random dogs, it can recognize different kinda dogs. So how does the child learns this? Naturally, as a human being his brain recognizes some patterns and if similar patterns are detected, his brain fires the neuron and labels it as a dog, though he didn’t see such a dog breed before. In this way, machines can find some patterns from the given data.
Unlike humans, machines need several thousand or even millions of data to get a good model.
Traditional programming can be used to do predefined tasks. For example: if we want to recognize a dog from some images we need to define those dogs before running that program. In such cases, the program cannot recognize the dogs which are not defined in it.
Alright! Stop about those dogs. Tell me some real-world usages.
Machine Learning is used in almost every sector, more specifically it is used in business to extract insights and predict the future of the business.
Yeah, I got that, however, an example may make it much clearer.
That’s fine, let’s take an example of the restaurant business. In such kinda businesses, we can find out what type of food is most liked, based on age group, location, season, climate, etc. Many food delivery platforms use past order data to predict the order trends and sell those data to restaurant giants. So they can build a consistent customer base. It can be literally used in any kinda business in its way.
Oh! That’s catchy. So who can use Machine Learning?
As we mentioned, ‘data’ is the prerequisite to teach the machines, as they fundamentally rely on data. Anyone with enough data to train a machine can do machine learning.
That’s cool! So we got that machines recognize some patterns to understand about data. Btw, what under the hood? How do they even recognize?
That’s one of the most confusing questions for many. By years of research and experiments, there are hundreds of algorithms that are based on the problem context.
For example, there’s an algorithm named Linear Regression, which is mostly used to predict the numerical output.
So let’s make it clear.
Imagine you want to buy an apartment, so you collect some data with features like the number of rooms, the number of bathrooms, room size, location, etc with their corresponding prices. Now you can train this dataset and teach the machine that, if it sees an apartment with ‘m’ number of rooms, ‘n’ number of bathrooms, etc. then its price is ‘p’. So the machine can find a pattern and remember how those features are related. Here the features excluding the price are called Independent Variables and price is dependent on those features, hence it is called Dependent Variable.
If you have noticed, we have crossed one more concept here. This is the real difference between traditional programming and machine learning. In the former way(traditional programming), we define rules and it returns answers, in the latter one(machine learning), we provide answers and the machines will create the rule. (By learning the patterns).
Once the machine is trained with those patterns we can test the model with some random data which are not used for training, so the machine will return the predicted answer.
Yeah! It’s clear. But what it is meant by recognizing the patterns. How does it recognize?
There you go. As we know that patterns are recognized based on certain algorithms. So if we are using the Linear Regression algorithm we are literally working with its formula under the hood. It’s nothing but the slope formula we use to work on several times in our high schools.
Cutting this math is out of the scope of this post, so better skip that.
However, our intention is to understand how it really works.
Similarly, each algorithm has its own formulae and use cases.
That’s fine. What do you mean by model?
Model is nothing but the learned pattern. It represents what was learned by the given algorithm. Typically, we don’t train the model each time we need to predict some results but save its state as a file. So we can reuse the model whenever it is needed.
Alright! This is all about machine learning (in a beginner’s way of understanding). As years crossed we have several libraries to train our models. We don’t need to hard code and reinvent the wheel from scratch. Popular libraries like Tensorflow, Pytorch, Ski-Kit Learn, etc provide handy pre-defined functions to work with effortlessly. Using those libraries we can train our models with lines of code which makes our lives easier. But, remember that those libraries are based on those algorithms under the hood. We need to understand those algorithms to customize our models by tuning the hyperparameters.
I have tried my best to easily elucidate the concept of Machine Learning. Suggestions and feedbacks can help me make the explanations clearer.
Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot