If you are looking to learn machine learning and you are a beginner then you are probably wondering where to start.
This post will help you learn machine learning by giving you a roadmap that you can follow.
So, how does a beginner learn machine learning?
- Take the machine learning course taught by Andrew Ng that has no prerequisites
- Learn Python programming with this course
- Learn Data analysis in Python with this Youtube series
- Take the deep learning course taught by Andrew Ng
- Read this book or watch this Youtube series on how to implement machine learning in Python
- Start applying your knowledge of machine learning on Kaggle competitions
- Learn calculus, linear algebra and probability on edX
- Take this more advanced course on machine learning offered by MIT
There are actually a number of different paths that you can take depending on your goals, whether or not you are willing to spend money and what you already know. Below, I will explain what you need to know, how to go about learning it and some other things that you should consider.
What you need to know in order to learn machine learning
Machine learning is where statistical algorithms are applied to datasets giving the algorithms the ability to make predictions based on the data.
To learn machine learning and to be able to make use of the algorithms it is necessary to have knowledge of a programming language such as Python and to be able to do data analysis in that programming language. To be able to understand the machine learning algorithms it is also necessary to have knowledge of linear algebra, calculus and probability.
With that being said, there are some courses that will teach you how the machine learning algorithms work without assuming any prior knowledge. These courses are a great way to start learning machine learning and to see if machine learning is something that you would be interested in pursuing. I will discuss the introductory courses in a moment but this is the one I recommend you start with.
However, to be able to understand how the machine learning algorithms work mathematically it is necessary to have an understanding of probability, linear algebra and calculus.
What programming languages get used in machine learning
There are a number of different programming languages that get used in machine learning and the best one for you to learn will depend on what you intend to do with it.
If you are a beginner then it is most likely that the best programming language for you to learn for machine learning would be Python. This is because it is a very popular programming language in machine learning so there are a lot of machine learning tutorials based on Python, it is easy to implement the algorithms in Python and Python is one of the easier programming languages to learn.
Another popular machine learning programming language is R. It is not as popular as Python but it is popular in statistics and data analysis. It features a number of built-in libraries that allow the machine learning algorithms to get run quickly. If you are a beginner then I would recommend Python over R since it is more popular, there are a wider number of use cases of Python and most machine learning tutorials use Python.
You can watch the video below to see more about machine learning programming languages:
How to learn machine learning
Below, I will show you a sequence that you can take to learn machine learning assuming that you do not already know programming, linear algebra, calculus or probability.
Take an introductory course
There are a number of courses that will teach you machine learning without assuming you have any prior knowledge.
One of these courses are the most popular machine learning course available that is taught by Andrew Ng from Stanford University and you do not have to pay to take the course. The course will show you how the machine learning works, it will teach you the necessary linear algebra and it will teach you how to optimize and choose the machine learning algorithms. You can find the course here.
I would recommend that you start by taking that course because it will allow you to see whether or not machine learning is something that you would be interested in without having to invest too much time.
Learn how to program
After taking the course taught by Andrew Ng and deciding that machine learning is a field that you would like to pursue then it would be worthwhile for you to learn Python.
Python is the most popular machine learning language and it is one of the easier languages to learn.
I would recommend that you learn Python by taking this course from MIT on edX. The course will teach you how to code in Python effectively and it will also teach you data structures and elementary computational complexity which will be useful knowledge if you are looking to get a job in machine learning.
After learning how to program in Python it would be worthwhile to take the time now to learn how to do data analysis in Python. This is because you will need to know how to manipulate the datasets so that the machine learning algorithms work well with them.
A good course that will teach you the basics of data analysis would be this series on Youtube.
Learn deep learning
After you have learned to code in Python it would be worthwhile for you to learn deep learning. This is a subset of the machine learning algorithms that perform very well when they are trained on very large datasets.
Deep learning has become popular, in recent years, because the amount of data that companies have been receiving has increased a lot and computers have become more powerful. This has made deep learning algorithms much more useful.
To learn deep learning I would recommend that you take this course which is also taught by Andrew Ng from Stanford University.
Learn how to implement the algorithms in your chosen programming language
After learning how the machine learning algorithms work it would help to learn how to implement the algorithms effectively in Python.
I would recommend that you do so by reading this book. It is the second edition to a very popular machine learning book that teaches you how to implement and get the most out of machine learning algorithms in Python.
If you do not want to pay for the book then this Youtube series is also good.
Apply your knowledge in competitions and on your own datasets
Once you know how the machine learning algorithms work and how to apply them it would be time for you to start implementing your knowledge. You can do this by participating in competitions on Kaggle or by applying machine learning to your own datasets.
When you implement the algorithms by yourself you will be able to identify gaps in your knowledge and you will be able to learn quickly.
Learn the mathematics subjects
At this point, you will be able to apply machine learning algorithms by yourself and it would be up to you if you want to learn the mathematics that goes into the algorithms.
If you do want to learn the mathematics then I would recommend the following courses:
Take a more advanced course in machine learning
Once you have learned the necessary mathematics then you can take a more advanced course or read a mathematical machine learning book.
The course that I would recommend that you take would be this one that is taught by MIT on edX.
Consider a paid course
If you want to learn machine learning as a beginner with no prior knowledge then you could consider taking a paid course.
By taking a paid course you will be able to learn machine learning in a more structured way where you will be able to learn machine learning and the required skills on one platform.
I would recommend Dataquest which will teach you how to program in python, the required mathematics and statistics and machine learning in a sequential order.
You can watch a review of Dataquest in the video below.
Additional skills that will help in machine learning
There are some additional skills that you may want to learn depending on what you intend to do in machine learning.
Knowledge of SQL
If you intend to get a job in machine learning or you intend to create a web-based ai solution then you will likely need to have some knowledge of SQL.
Knowledge of computational complexity
In most machine learning interviews, there will be a section where you are tested on your knowledge of computational complexity which is focused on assessing the efficiency of computer algorithms. If you intend to get a job in machine learning then you will need to learn computational complexity.
To get the most out of the machine learning algorithms it will be helpful to have knowledge of the industry that you are applying machine learning to. This is because it will be helpful to know what variables would likely be good predictors of what you are trying to predict. This is why, if you are looking to get a job in data science, it will often be very helpful to have knowledge of the industry that you will be working in.