We do hear a lot about machine learning all the time, which is an exponentially-growing technology. But what is machine learning? For what purpose is it used? Well, let me try to make it clear for you.
In this tutorial, I will try to break down the concepts of machine learning and give you a basic introduction to this amazing technology.
I hear a lot about machine learning and artificial intelligence these days. Machine learning is trending around the world for a while.
I googled the word several times curiously and also watched some YouTube videos around the topic, maybe just like you. But didn’t get a clear picture of ML.
I thought Machine learning is some magic, maybe something like the Jarvis of the famous Iron Man movie, a machine that behaves like a computer, which is impossible in the real world.
Recently, I had to find out some implementable ideas from the area of machine learning for doing my final year project at college.
I got the chance to research and learn quite a lot about the topic while doing the project.
I’ll share what I’ve learned so that you will get a good understanding of machine learning.
Let’s dive right in.
What is Machine Learning?
You know what learning is, don’t you?. Learning is a process where we learn something either by experience or by instructions.
For example, if you are playing basketball for the first time, how will you be able to learn to shoot a ball into the basket. It’s by trying and missing many times.
Also, you can get the help of a coach so that he will instruct you on how to shoot the ball correctly into the basket. This is the way how we learn something.
Now, let’s see what machine learning is.
Machine learning concentrates on developing computer programs that can explore data and analyze it to learn for themselves.
It is a subset of artificial intelligence, which provides systems the ability to learn by itself from experience without being explicitly programmed.
With this technology, we can ask the computer to make some sense from data.
There is a plethora of data, and based on the available data, the machine learns itself to give some predictions.
Why Machine Learning?
The reason why we need to learn machine learning is not that it is too much popular, but there is too much data available, and we need to handle that.
You already know that websites like Amazon, Facebook, Google, etc. collect huge amounts of data.
They have billions of users and a huge amount of data based on the user’s search terms, likes, comments, etc.
These websites know what the user’s frequent search terms, preferences, likes, dislikes, and other personalized information are.
Just for an example, when you search for a product in Amazon, you can see the advertisements of that same product in Google, Facebook, and many other websites that you visit.
This is all done by the processing of data, and this is the power of machine learning.
The machine knows that if it shows the advertisement for a product that you have searched before, there is a high percentage of chance that you may click that advertisement and purchase the product.
Many people say machine learning is a very new concept, but it is not. You might have seen the spam option in your Gmail accounts. That was one of the early implementations of machine learning.
On a whole story, it is all about a lot of data and the processing of that data.
How does Machine Learning work?
We want to give the machine more data so that it can predict more results. Some set of data is given as input to the machine.
Based on that data, we find the results by plotting some graphs, patterns, etc. Then, if more data is needed to be fetched, you can try to make an educated guess or prediction for further processing.
Consider an example where we need to use machine learning.
A Simple Example
Let’s say we have the data about marks of 1000 students who attended an exam and the number of hours each student studied for that particular exam.
We give this data to the machine, and the machine will try to find out a relationship between the number of hours studied and marks obtained.
The machine will learn the relationship between both of these parameters. After the machine gets trained well, it is ready for prediction.
Now, we can take any student and give the number of hours he/she studied for the exam as input. Then, our machine will predict the marks for that student.
This is just the most basic example. Machine learning can do far more complex and complicated tasks.
A Complex Example
Let’s say we are testing the functionality of a web application, which is an online eCommerce shop. You build automated tests to validate the checkout functionality to make sure that customers can pay for their orders. This checkout experience is constantly improved to add options for external payment, expedited shipping, etc. These new features are frequently changing the UI.
Traditional automated tests break anytime the UI is changed. This creates a huge headache for software testers who need to constantly fix broken tests. Machine learning allows automated tests to autonomously heal and keep up to date, even as applications change.
Problems that Machine Learning Solves
ML solves basically 4 types of problems. They are:
- Classification – Classifying data into different classes. For example, if we give the image of a cat or a dog, the machine will tell whether it is a cat or a dog.
- Regression – Predicting future values based on previous data. Just like the previous example of finding a student’s marks based on the number of hours studied.
- Clustering – Grouping the given data into different clusters or groups.
- Handling Associations – Finding the associations between different parameters in the available data.
We use a programming language so that we can give the required instructions to the machine. The major programming languages used for implementing machine learning are Python and R.
Which programming language should you learn for doing Machine Learning?
I use Python for my machine learning related projects. Also, most of the people prefer Python over R for their work for many reasons.
Let’s see why Python is widely used for machine learning.
- Python has lots of packages and libraries that make machine learning very easy.
- Python is the most popular language in the world.
- It is the simplest programming language to learn.
- It is the most powerful language.
These reasons are enough to select Python without any worries. I took Python because it is very easy and beginner-friendly.
I went through the basics so fast and didn’t have any trouble picking it up.
If you are interested in learning Python, you can check out this article.
Machine Learning Libraries in Python
There are several libraries available in Python to avoid our headache while implementing machine learning.
Numpy, Pandas, Matplotlib, Seaborn, Scikit-learn, Tensorflow, etc. are some of them.
These libraries are not so tough as their names may seem like to you. These will be very easy to learn once you master the basics of Python programming language.
Machine Learning Algorithms
There are several types of machine learning algorithms used for training the machine based on the available data.
These are some of the algorithms that are used most commonly: Linear Regression, K-Nearest Neighbors, Support Vector Machine, Decision Tree, Random Forest, etc.
We select an algorithm that is suitable to train the machine, according to our needs.
Types of Machine Learning Algorithms
Basically, we can classify machine learning algorithms into three types.
- Supervised learning
- Unsupervised learning
- Reinforcement learning
What Is Supervised Learning?
In supervised learning, there is a dependent variable that needs to be calculated using independent variables. This is a repetitive training process until the desired accuracy is achieved.
Linear regression and K-nearest neighbors are examples of supervised learning algorithms.
What Is Unsupervised Learning?
In unsupervised learning, we don’t have a target or estimation to be predicted. It is used for clustering segments into various groups.
There is no definite output. Instead, the focus is on classification.
K-means algorithm is an example of unsupervised learning. You can also read the article I wrote on real-world applications of unsupervised learning.
What is Reinforcement Learning?
The reinforcement algorithm takes specific decisions based on situations. Usually, we expose the machine to an unknown environment, and it learns from there.
This continuous approach to learning, which is known as trial and error, is just like the learning of humans. The machine learns from experience, hopefully, the best knowledge, and applies them in business logic.
Markov decision process is an example of Reinforcement learning.
Applications of Machine Learning
Machine learning is growing fast, and it is getting widely popular in almost all fields nowadays. To give you some ideas about the implementation of machine learning, I’ll list down some examples:
- Suggestions from Amazon and other online shopping websites.
- Spam detection of Gmail
- Quick reply suggestions for emails in Gmail
- Facebook detecting photos of your friends and automatically putting their corresponding names there.
- Google Maps suggesting which route you need to take, and based on that route how much time it will take.
- Voice recognition apps like Siri, Cortana, Alexa, etc.
These are some of the areas where machine learning is widely used.
You can check out my resources page to get my recommended books for learning machine learning.
Machine learning is the ability of a computer system to observe, learn and gain experience from lots of data, and use this experience to predict future results.
Python is the most commonly used programming language for machine learning. Many frameworks available in Python makes the job easy for us.
Also, there are several algorithms available for doing machine learning.
I hope this article was helpful to you. If you have any doubts, feel free to ask them in the comments section. I’ll be happy to help you.