If you are reading this blog then you are definitely an enthusiast and very fascinated with machine learning and AI. You are probably wondering how to get started in this realm. In the span of this blog we will be talking about the roadmap that will help you in achieving this goal.
It has been seen that many people want to learn it because it looks very cool and easy in movies. The heroes are shown pressing a few keys on the keyboard and the magic happens, but this is just the tip of the iceberg. There is no doubt in the fact that AI is very cool but it is certainly not as easy as it seems. In the course of this blog you will get to know what actually is machine learning and AI.
What is machine learning?
Before anything else you should know what actually is machine learning.
Machine learning, as can be drawn from its name, is a technology that makes computers akin to humans, by providing the computers with the ability to learn. It gives computers the means to learn without being specifically programmed i.e. without any aid from humans.
The term ‘Machine learning’ was coined by Arthur Samuel, who was a lead in artificial intelligence and computer gaming.
So basically machine learning is a technology, a process, a tool that is used in AI. It helps our machines to more or less mimic nature. It's an imitation game.
Machine learning is considered as a subset of Artificial intelligence. The Venn diagram below helps to understand the elements of AI.
Types of Machine Learning
Machine learning algorithms can be divided into three categories namely,
● Unsupervised and
The names are self explanatory but we will discuss them briefly.
Supervised Machine Learning: In supervised learning, which is the most prevalent, the data is labeled to tell the machine exactly what patterns it should look for. Think of it as a recipe following which one can create a delicious dish. Algorithms that come under this category are Regression and Classification.
Unsupervised Machine Learning: In unsupervised learning, the data has no labels. The machine just looks for whatever patterns it can find. This is like trying to replicate a dish without having its recipe i.e. trying to recreate a dish that you liked at some restaurant using your general understanding of the ingredients. The unsupervised ML algorithms that come under this category are Clustering and Dimensionality Reduction.
Reinforcement Learning: A reinforcement algorithm learns by trial and error to achieve a clear objective. It tries out lots of different things and is rewarded or penalized depending on whether its behaviors help or hinder it from reaching its objective. This is like giving and withholding treats when teaching a dog a new trick. No specific algorithms under this category but it deals with real-time decision making, robot navigation, learning tasks, skill acquisition, gaming etc.
Now that you have an idea of what machine learning is, you are ready for the next level.
If you will dissect machine learning, you will find two things in abundance : Mathematics and Programming. These two are the foundation of machine learning and consequently AI.
So, if you are planning to start with machine learning it is advised that you brush up on these skills. After all strong basics are the key for success.
But hang on! there is no need to worry. Mathematics maybe daunting for some but you should not feel discouraged. You can learn anything if you set your mind on it.
To understand machine learning from its core you need to have a good understanding of the following topics in mathematics:
And in programming a good grasp on data structures and algorithms is very essential. Apart from this you should know one or more programming languages such as R, Python, C++, java etc.
If you have a good knowledge of the above mentioned topics, machine learning would automatically become a piece of cake, but if you belong to the other class then no need to worry just start learning right away. Nothing is impossible.
Now this is the stage where you should start with some projects but make sure that you don't go overboard with them in the beginning. Take it slow and start with some easy projects.
You can opt for one of the two approaches towards learning:
If you are confident enough and hail from a tech background you can learn this stuff on your own, there are plenty of resources on the internet to help you in your journey. You can read blogs, papers and watch videos for tutorials. You can also talk to people who are already into this field to clear your doubts. It is a good things if you want to learn it yourself, but you will have to choose your roadmap carefully and you will have to invest a lot of time in researching. The learning may be slow but nonetheless it will be fruitful.
Those that struggle with choosing the right roadmap or don't have enough time to spare on researching topics should take up some courses (either online or offline) on machine learning. You will still have to search for a nice course that would offer good and detailed learning. Some of the websites that offer good courses are: Udacity, Udemy, Coursera, Up-Grad and IIIT courses. Courses would lay down a framework for your learning from easy to advanced levels.
No matter what approach you choose all that matters is your interest and determination. If you are determined enough then you will be able to learn no matter what.
Steps involved in a project
All the machine learning projects mostly follows these steps:
Importing necessary libraries and packages
Data preparation/ pre-processing: in this step, the data is cleaned and transformed in a manner that it becomes suitable input for the model.
Splitting of data: In this step, the data is split into training, validation and testing sets. Training data is used for training the model, validation set helps in evaluating the model and test set is used for making predictions on unseen data to see model performance.
Training model: In this step, a model is trained on the training set to learn the relationship between the features and the targets.
Fine/tuning the model: In this step, various parameters of a model are altered to get a better performance.
Evaluation of model: In this step, the model's performance/accuracy is measured.
Making predictions: This is the last step and this is where predictions are made on the test data.
This is the flow of processes involved in all the machine learning projects. You need to follow these steps in the given order to get a better model.
Some points to remember
When you take up a project. You should try to learn about it in as much detail as possible.
Start with small projects and try to do a project with multiple algorithms to see the difference in model accuracy and result. And try to find why one model is better than the others for the task that you performed.
Make it a habit of reading the documentations of packages that you use for machine learning.
Play around with model parameters to observe how they affect the model.
Pay more attention to data preprocessing step as it is the most crucial step.
There are a number of packages that do all the calculations for you and you just have to learn their syntax to get the desired outcome. But you should make an effort to know how the algorithm that you are using works from scratch. You don't need to code the algorithm from scratch each time, but you should do it at least once just so that you know what's actually going on. Packages and libraries are made to make life easier while coding and there is no restriction to not use them. Its just that beginners should go through it all. This would help a lot in resolving errors.
You should read blogs and watch video on topics related to machine learning to widen your horizon and to stay updated.
Last but not the least, never give up when you get stuck. Get as much help as possible. There is an enormous community of geeks out there.
We have discussed almost everything that a beginner should know before taking their first steps in the domain of machine learning. I hope that this blog was helpful.
In the next blog we will discuss more on machine learning projects.
If you need implementation for any of the topics mentioned above or assignment help on any of its variants, feel free to contact us.