If you are looking to learn deep learning but you don’t already have an understanding of machine learning then you might be wondering if you need to learn machine learning first.
This post will show you whether or not you do, the differences between machine learning and deep learning and how I would recommend going about learning deep learning.
So, is machine learning required for deep learning? You do not have to learn machine learning in order to be able to learn deep learning. With that being said, deep learning can be more difficult to understand conceptually and having an understanding of machine learning would be very beneficial.
There are actually a number of reasons that you might want to learn machine learning anyway and there are a number of scenarios where making use of machine learning algorithms would be more appropriate.
Differences between machine learning and deep learning
Machine learning is where you get the computer to make predictions by learning from data. It has the ability to modify its predictions when given more data and it makes predictions without being explicitly told how to make those predictions.
When training a machine learning model, it will be necessary for you to tell the machine learning model what features to use. A feature is a variable that helps you to predict what you are trying to predict. If you’re trying to predict a house price then the number of rooms would be a feature.
Since being able to pick out the best features to use is helpful in training machine learning models having a lot of knowledge in the industry that you’ll be using the ML algorithms in is often very helpful or even required.
Machine learning algorithms will often work better than deep learning on small datasets, will normally be faster to train on small datasets and work better if you don’t have lots of labeled data.
Deep learning is a subset of machine learning and it is based on the use of “Neural Networks” which are partly modeled after the human brain and are designed to detect patterns.
If you have lots of labeled data then deep learning will generally give you the most accurate predictions.
However, it requires the use of a reasonably powerful computer since it needs to use GPUs and it will take longer to train.
Deep learning was not very popular in the past since there was not enough data and computers were not powerful enough to run the algorithms. Deep learning has gained a lot of popularity in recent years since we have had a large increase in the amount of data available to us and computers have become much more powerful. This has made deep learning a much more viable option.
Deep learning is usually more difficult to interpret compared to ML since it is difficult to know what features it is calculating as being important.
A key difference between machine learning and deep learning is that, in ML, you need to say what features to use. Whereas, with deep learning, the algorithm will figure out which features to use.
You can watch the video below to see the difference between machine learning and deep learning.
What you need to know in order to learn deep learning
Even though it is not required to learn machine learning to learn deep learning (but it is recommended) there are some things that you will have to know regardless.
To learn deep learning it will be necessary for you to have a good understanding of calculus, linear algebra, statistics, probability and programming.
The things that you intend to do with deep learning will also have an impact on the things that you will need to learn.
If you intend to use it in industry then it would be helpful to have a good understanding of data analytics, how to clean and preprocess data and knowledge of the Python programming language would be especially useful.
If you intend to use it in research then it will be necessary for you to have a very good understanding of the mathematical prerequisites, including graph theory and a good knowledge of computer science algorithms.
Reasons to learn machine learning before deep learning
Having an understanding of machine learning will help you to learn deep learning more easily. This is because, in order to understand deep learning, you will need to learn about things such as overfitting, underfitting, cost functions and how to preprocess data. All of these things get taught when learning machine learning. Often, when being taught about deep learning, you will be expected to know what these concepts are so by having an understanding of them before starting to learn machine learning will be very beneficial.
Additionally, deep learning has more levels of abstraction than machine learning and it can be more difficult to understand conceptually. By having an understanding of machine learning it will be easier for you to understand what is going on when learning deep learning.
Additionally, if you don’t expect to have labeled data then it will be necessary for you to use machine learning.
Also, if you expect to be working with small datasets then it will be better to learn machine learning.
Reasons to start learning deep learning straight away
There are a number of reasons that it might actually be better for you to jump right into deep learning from the start.
You don’t have a lot of time
If you need to learn deep learning quickly then it would likely be better for you to dive right into learning deep learning and to skip learning machine learning before hand.
With that being said, it will still be necessary for you to learn calculus, linear algebra, programming (namely in python) and to have good understanding of probability and statistics. If you jump right into learning deep learning without having a good understanding of those topics then it will be difficult for you to learn deep learning and it would actually be more time effective for you to learn those topics first.
You will be using large datasets
If you expect to be using large labeled datasets and you don’t really expect to be using many small datasets then you may be better off just going straight into learning deep learning. However, if you have time then you might still want to at least get an understanding of the different machine learning algorithms.
How to learn deep learning
If you need to learn calculus, linear algebra, programming or probability and statistics then I have always found edx.org to be a good option.
Below, I will give you the links to the relevant edx courses that I have used in the past and would recommend.
Linear algebra (The University of Texas at Austin)
Programming in Python (MIT)
Once you have learned the prerequisites then I would recommend using the Andrew Ng deep learning sequence on Coursera. You can audit the course for free.