What’s the Difference Between Machine Learning and Deep Learning?
Machine learning (ML) is the science of training a computer program or system to perform tasks without explicit instructions. Computer systems use ML algorithms to process large quantities of data, identify data patterns, and predict accurate outcomes for unknown or new scenarios. Deep learning is a subset of ML that uses specific algorithmic structures called neural networks, modeled after the human brain. Deep learning methods attempt to automate more complex tasks that typically require human intelligence. For example, you can use deep learning to describe images, translate documents, or transcribe a sound file into text.
Read about machine learning »
Read about deep learning »
What are the similarities between machine learning and deep learning?
You can use both machine learning (ML) and deep learning to identify patterns in data. They both rely on datasets to train algorithms that are based on complex mathematical models. During training, the algorithms find correlations between known outputs and inputs. The models can then automatically generate or predict outputs based on unknown inputs. Unlike traditional programming, the learning process is also automatic with minimal human intervention.
Here are other similarities between ML and deep learning.
Artificial intelligence techniques
Both ML and deep learning are subsets of data science and artificial intelligence (AI). They can both complete complex computational tasks that would otherwise require extensive time and resources to achieve through traditional programming techniques.
Statistical basis
Deep learning and ML both use statistical methods to train their algorithms with datasets. These techniques involve regression analysis, decision trees, linear algebra, and calculus. ML experts and deep learning experts both understand statistics well.
Large datasets
Both ML and deep learning require large sets of quality training data to make more accurate predictions. For instance, an ML model requires about 50–100 data points per feature, while a deep learning model starts at thousands of data points per feature.
Wide-ranging and various applications
Deep learning and ML solutions solve complex problems across all industries and applications. These types of problems would take significantly more time to solve or optimize if you used traditional programming and statistical methods.
Computational power requirements
To train and run ML algorithms requires substantial computing power—and the computational requirements are even higher for deep learning due to its increased complexity. The availability of both for personal use is now possible due to recent advances in computing power and cloud resourcing.
Gradual improvement
As ML and deep learning solutions ingest more data, they become more accurate at pattern recognition. When an input is added to the system, the system improves by using it as a data point for training.
What limitations of machine learning led to the evolution of deep learning?
Traditional machine learning (ML) requires significant human interaction via feature engineering to produce results. For example, if you’re training an ML model to classify images of cats and dogs, you have to manually configure it to recognize features like eye shape, tail shape, ear shape, nose outlines, and so on.
Since the goal of ML is to reduce the need for human intervention, deep learning techniques remove the need for humans to label data at each step.
While deep learning has existed for many decades, the early 2000s saw scientists like Yann LeCun, Yoshua Bengio, and Geoffrey Hinton explore the field in more detail. Though scientists advanced deep learning, large and complex datasets were limited during this time, and the processing power required to train models was expensive. Over the last 20 years, these conditions have improved, and deep learning is now commercially viable.
My Question is: What distinguishes a traditional algorithm from machine learning?
Apologies for the wall of text.
I manage a product with a massive amount of data (1m+ weekly users, 50+ demographic datapoints on each user + user history as well as their interactions with hundreds of customers). At the core of the product is an algorithm that takes a number of inputs (based on trailing historical data) to predict the revenue-optimizing decision.
Recently, our new leadership has begun to call this Data Science and touts this as "Machine Learning". I'm proud of what we've put together and the impact its had on the business, but this feels like the wrong characterization of what is just a semi-complex algorithm with almost all of the calculations occurring in SQL.
This has become a sort of big issue as they've asked me to speak to our "Machine Learning" implementation to customers, investors, and others. I dodged that characterization by instead calling it a "model" or "algorithm" and they took notice and have asked me to embrace the term and update our materials (presentations, roadmap items, etc). Compounding this, they've hired a data scientist who concurs with them that we're using a "predictive machine learning" model. I'm skeptical of his expertise and feel like he should be making an effort to create an actual ML model we can compare against our current model.
The whole thing feels dishonest and misleading. Machine learning feels far outside my depth: I couldn't hold a conversation about it and I have no real clue what a decision forest, neural network, tensors, gradients, or any of the other machine learning terms I see across this sub or elsewhere mean. More details specific to my situation below:
------------------------------------------------------------
The core goal of our data effort is: Based on what we know about a user and what we know about a customer and their provided estimates, what's the optimal revenue-maximizing decision?
There's many calculations that are factored in to accomplish this, for example:
-
We calculate the median average deviation of a customer's proposed vs actual success rate on a rolling basis.
-
We segment our users based on demographic (age/gender/etc) and calculate their success rate relative to the population's average for a success coefficient based on a rolling basis.
-
We run a simple regression between user characteristics and historical success rates for each customer.
-
We factor in historical reconciliation rates from the customer (% of successes that are ultimately rejected by the customer at invoicing) to discount revenue estimations.
-
We determine whether the user's experience should be optimized using a revenue-per-minute or revenue-per-opportunity approach. If we expect them to make a limited number of attempts, we maximum the expected revenue of each interaction. If we expect them to make a larger number of attempts, we optimize for potential revenue per minute. (EPC vs EPM for those in the advertising space)
It gets pretty gnarly, but what we end up with is a huge number of coefficients that inform our user to opportunity matching logic. An example of how this could result in different opportunity rankings for a pair of users could be:
User 1 - Average Attempts per Session 2.1 ( to be ranked by Expected Revenue)
-
Project A - Potential Revenue $10 | Expected Revenue $2 | Estimated Success Rate 20% | 30 Minutes | Expected Earnings Per Minute $0.06
-
Project B - Potential Revenue $25 | Expected Revenue $1 | Estimated Success Rate 4% | 10 Minutes | Expected Earnings Per Minute $0.10
-
Project C - Potential Revenue $1 | Expected Revenue $0.80 | Estimated Success Rate 80% | 5 Minutes | Expected Earnings Per Minute $0.16
-
Project E - Potential Revenue $10 | Expected Revenue $0.6 | Estimated Success Rate 6% | 4 Minutes | Expected Earnings Per Minute $0.15
User 1 - Average Attempts per Session 6.3 ( to be ranked by Expected Earnings Per Minute)
-
Project C - Potential Revenue $1 | Expected Revenue $0.90 | Estimated Success Rate 100% |5 Minutes | Expected Earnings Per Minute $0.18
-
Project D - Potential Revenue $4 | Expected Revenue $0.75 | Estimated Success Rate 18% | 7 Minutes | Expected Earnings Per Minute $0.15
-
Project E - Potential Revenue $10 | Expected Revenue $0.5 | Estimated Success Rate 5% | 4 Minutes | Expected Earnings Per Minute $0.125
-
Project B - Potential Revenue $25 | Expected Revenue $0.75 | Estimated Success Rate 3% | 10 Minutes | Expected Earnings Per Minute $0.075