Why deep learning?
The purpose of this article is to understand why one might choose deep learning algorithms over the machine learning algorithms.
One of the questions I have been trying to answer is why deep learning algorithms over traditional machine learning algorithms. What can we accomplish with deep learning algorithms that we can’t with machine learning algorithms. After reflecting on what I had covered while studying Machine Learning(ML) and what I would cover in a deep learning course I was able to answer the question.
Machine learning algorithms
There are numerous ML algorithms, for a better understanding we can classify them under three themes.
- Mathematical theme
- Algorithms based on probability
- Example: Maximum likelihood classification
- Algorithms based on distance
- Example: knn
- Linear algebraic model
- Example: SVM, linear regression, logistic regression, perceptron
- Algorithms based on probability
- Machine learning theme
- Supervised machine learning algorithms
- Examples: Naive bayes, decision trees, SVM, knn
- Unsupervised machine learning algorithms
- Examples: k-means clustering
- Reinforcement learning
- Supervised machine learning algorithms
- Based on problem statement
- Classification, for discrete variables
- Examples: Naive Bayes, SVM, etc
- Regression, for continuous variables
- Examples: Linear regression
- Classification, for discrete variables
All these algorithms can classify linearly separable data. Data that can be visualized as follows
- We can perfectly find a hyperplane(blue line) for classifying the blue dots and the red dots into their respective classes
But how can we classify non-separable data points(something like the following), can we use multiple models, is there a simpler way to achieve this?
- To classify the above points into red, blue, and black classes we need a complex model. This is where deep learning(DL) algorithms can be helpful. With DL algorithm we can classify the data points into red, blue and black classes (multi label).
In conclusion, deep learning algorithms are used when
- Data set is non-linearly separable.
- The data size is large.
- Amount of time available for training the data is reasonable.