Wonder what machine learning is? How does it work? Maybe you’re a budding machine learning engineer or a data scientist, or just someone intrigued by the said topic? Well this article is for you to understand what the buzz is all about.
The next section is me introducing myself. Feel free to skip this and start from the Introduction.
I’m a 2nd year engineering student, majoring in Biotechnology from an esteemed university in India. From the start, I’ve been interested in computer sciences.
I learned web development when the lockdown was initiated but soon realized software development in general is not my cup of tea.
Then I came across this beautiful field of data science which is a blend of math and code. I loved the field and bought a course from Udemy to get my learning started. It hasn’t been a long time since I started on this journey and yes, I am still learning.
How did I end up blogging? Well, I saw my course teacher (shoutout to Daniel) blogging and emphasizing on the importance of communication and sharing what you’ve learned. I found blogging the perfect way to not only revise on the concepts which I’ve recently learned but also provide a resource for the community.
Ever wondered how your smartphone camera detects your face when you click a selfie? Or how Spotify suggests the songs you enjoy? How Netflix recommendations match your interests?
Yes, you guessed it. Artificial Intelligence or AI as many like to call it, is behind all of this cool stuff. And we’re carrying all of this technology in our pockets.
The above examples are just a drop in the ocean of possible applications of AI. Crazy, right?
AI is the capability by which we make computers think, and take decisions according to different circumstances.
An important thing to understand is that AI refers to a very broad idea that machines can be “smart” and ML is based on the idea that machines can improve their performance at a task by gaining experience. Machine Learning is a subset of artificial intelligence.
In this post, I’ll elaborate further on the machine learning. If you want
Before we dive in, let us glance over what programming really is.
I’m going to go ahead and say this straight up.
Computers are dumb.
They only understand 0s and 1s. They need to be explicitly told how something is to be done (That is, we need to instruct computers in a very specific manner about the task).
That is what programming is all about.
If we look at how all the technology around us works from a very high level, all of the computer applications we use have 3 main steps:
“Input” is some specific action the user does to which the application responds. “Process” are instructions for the computer, telling it how to respond. “Output” is the step where the results are displayed.
Consider this scenario: When you scroll through your Instagram feed, new posts come up. In this case, the movement of your thumb is the input. The feed on your display moving up is the output. And whatever work your phone had to to comes under the processing step.
Programming allows you to define a function which processes the input and returns the output. We (the user) gives computer the input, we tell it how to process it, and it tells us what was the outcome.
Let me give you a simplified example. Consider a computer program which tells you what is the square of a number. If we give it a value of 4, the program will evaluate it’s square to be 4×4 (because that is how we’ve programmed it). The computer will arrive at the final answer of 16.
Why did the computer multiply the number by itself? Because the programmer wrote code telling it to do so.
Us humans like to program for a lot of our tasks. It allows them to cut costs, be more efficient and fast.
Now that we’ve understood what programming is, let us take a look at how machine learning works and how it is fundamentally different.
In the case of a traditional program, the machine knows how to map the input to the output.
What if we do not know what that mapping function is?
That is exactly the problem that machine learning answers. If you have a trained machine learning estimator/model, you can predict what the outcome would be even if you do not know how it is calculated.
But, in order to do so, you’ll need to teach the model so that it is able to learn the patterns between the data (a.k.a training the model). We apply an algorithm (a fancy name for a set of steps) to make our machine learn.
Let me ask you a simple question: If I keep an apple and a banana in front of you, how will you know which one’s which?
You won’t even take a second.
The reason is, you and I can differentiate between the 2 fruits because we’ve seen lots and lots of apples and bananas in our lives.
Things would have been different if you were a small kid. You would probably ask yourself these questions:
- What color is it? Red or Yellow?
- What is it’s shape?
With time, you saw enough apples and bananas and learnt the difference. Our eyes have understood the patterns so well, that it feels like we do not even need to think before we answer.
Fundamentally, our mind has associated the word “apple” with the red and round one, & “banana” with the long-yellow one.
The way a machine “learns” is similar to how you started-learning the difference between an apple and a banana in our example.
We give some material to machine for it to learn. This material is called the training data.
We show pictures of apple and tell the computer “Hey, this is an apple.”
Same for bananas.
With this, the machine learns how to differentiate between apples and bananas.
At the end, when we’ve shown it all the photographs (data) we had, we evaluate how well our machine has learnt by testing it on a test dataset. If the results of predictions are up to the mark, the model can be put to use!
Congratulations! You made it! That is all the basic stuff you need to know about.
Of course I’ve skipped on a lot of technical stuff that is around, and I’ll definitely cover them in my future posts. The next series of blogs will be based on math and working of various machine learning models (yeah that is going to be way too technical).
Connect with me on LinkedIn, I would love to hear from you!
See you around!