If you are involved in the data science/AI space, you definitely heard of Deep Learning and how it can be used to solve all our problems. From computer vision to language translation, Deep Learning is rapidly changing the Machine Learning and Artificial Intelligence field with solutions to problems that were thought insolvable a few years back. It is breaking boundaries and helping solve some very complex problems. It is a very exciting area of Machine Learning and everyone is trying to find ways to use within their day to day work.
This post is trying to answer the question: When is Deep Learning not the best solution? (I get asked this on a regular basis)
What is Deep Learning?
Deep Learning is an area of Machine Learning and typically refers to Deep Neural Networks. An example of a Neural Network can be seen below:
The best data scientists will look at the problem at hand, understand the different choices they have and they investigate the trade-offs for each. Accuracy is not always the ultimate goal of creating a machine learning model, some use cases have restrictions on the amount of data that is available, the need for the model to be audited and visualised etc.
Some situations when Deep Learning might not be the best algorithm to use:
You do not have access to large amounts of data for training and it is very expensive to get it
You need your models to be explainable and audited
You are not solving a complex problem - the problem space is fairly simplistic and can be solved using linear methods
One of the risks of using Deep Learning for some of the scenarios above is OVERFITTING and that can happen when the model is too complex for the training dataset and it is memorising the training dataset without being able to generalise.