A common question that people have, when they are starting out, is whether they should learn machine learning before deep learning.
This post aims to help you answer that question.
So, should you learn machine learning before deep learning? You can skip straight to deep learning if you want to without having any issues. However, learning machine learning first will make it easier to learn deep learning and there is a lot of material available to learn machine learning.
There are a number of things that you should consider when deciding on which to start with and deep learning and machine learning models each have advantages and disadvantages to consider.
Differences between machine learning and deep learning
Machine learning refers to getting computers to learn from data and to be able to cluster that data or to make predictions based on that data without being explicitly told how to.
Examples of machine learning can include:
- Classifying emails as spam or not spam
- Predicting house prices based on data of other houses in the area
- Detecting objects, such as a certain person, in an image
Machine learning algorithms have actually been around for decades but the field has gained a lot of popularity, in recent years, due to the sudden increase in data that businesses have been receiving.
Deep learning is actually a subset of machine learning. Deep learning refers to a specific set of algorithms that are based on “neural networks” which are loosely based on how the human brain functions.
Deep learning algorithms perform much better, by giving better accuracy, than machine learning algorithms when there is a lot of data available for them to learn from. However, these algorithms will be computationally expensive and require the use of a GPU to make use of them. Additionally, machine learning algorithms will typically work better when there is not a lot of data available.
Examples of how deep learning algorithms are used would include:
- Computer vision and pattern recognition
- Self-driving cars
- Voice search
You can watch the video below to see what machine learning and deep learning is and how deep learning algorithms are different to other types of machine learning algorithms.
Jobs in machine learning and deep learning
Deep learning specific jobs would include things such as computer vision engineers, natural language processing engineers or self-driving car engineers.
Typically these jobs will require a Phd whereas there are many machine learning based jobs that you can get with a masters or, sometimes, a bachelors and the ability to show relevant experience.
Jobs in machine learning would include those of a machine learning engineer or a data scientist. You can, sometimes, get a job as a data scientist with just a bachelors degree by showing that you have relevant experience. I have talked about how you can show relevant experience in this post. I have also talked about how data scientists and machine learning engineers differ here.
However, be aware that a machine learning engineer and a data scientist will still know what deep learning is and how to make use of the algorithms. However, deep learning specific jobs will require you to be an expert on certain areas of deep learning.
If you intend to get a job in either machine learning or deep learning then typical degrees that employers look for are computer science or statistics.
How machine learning can help in learning deep learning
Since deep learning is a subset of machine learning having knowledge of the other machine learning algorithms will be beneficial.
This is because a lot of the mathematics, that gets used when learning machine learning algorithms, also gets used when learning deep learning.
Additionally, there are a lot of learning materials available for deep learning that start out by teaching you the non deep learning algorithms.
Skills that you will need for both machine learning and deep learning
To learn either machine learning or deep learning it will be necessary for you to have an understanding of calculus, linear algebra, probability, statistics, programming and data analytics.
There are some machine learning and deep learning courses available that teach the algorithms to you without assuming any prior knowledge. Andrew Ng’s course on machine learning is one of them and his course on deep learning only assumes that you know python.
If you’re looking to learn either deep learning or machine learning then I would recommend that you start out with those courses.
If you then decide that it is for you then it would be worthwhile for you to learn the mathematics necessary to understand the algorithms.
The courses that I would recommend that you can use to learn from are:
Linear algebra (The University of Texas at Austin)
Programming in Python (MIT)
Once you have learned the above then I would recommend Deep learning and machine learning (MIT). In this course, you will be able to learn the mathematical details of the machine learning and deep learning algorithms.
I would also recommend the book Hands on Machine Learning since it gives a very good overview of how to implement the machine learning algorithms in Python.
Consider what you intend to do in the field
When deciding on whether or not to learn machine learning or deep learning it would be helpful to consider what it is that you intend to do.
If you intend to work in a field that makes use of a lot of deep learning such as natural language processing, computer vision or self-driving cars then it would be worthwhile for you to start learning deep learning first.
If you intend to work in a field that makes use of machine learning or both machine learning and deep learning equally then it would likely be better for you to start with machine learning.
If you expect to be working with small datasets then you’ll likely have a better time using machine learning models.
If you expect to be working with large datasets then deep learning models will generally work better.
It would also help to consider how much time you have to learn the algorithms. If you think that you will likely be using the deep learning algorithms more and you don’t have a lot of time to learn it then it would be better for you to start with deep learning straight away. If you have a lot of time then my advice would typically be to start with machine learning.
Is machine learning required for deep learning?
Deep learning is a subset of machine learning so technically machine learning is required for machine learning. However, it is not necessary for you to learn the machine learning algorithms that are not a part of machine learning in order to learn deep learning. Instead, if you want to learn deep learning then you can go straight to learning the deep learning models if you want to.