Entry-level strategy: machine learning vs. deep learning
Posted by
Md Ashikquer Rahman
Your Ads Here
This article introduces the definition and application of machine learning and deep learning in plain and easy-to-understand language, as well as the differences in source data requirements, hardware support, feature engineering, problem-solving methods, execution time, and interpretability. Great enlightenment.
Wedge
Machine learning and deep learning are very popular now, and you will find that suddenly many people are talking about them.
This article will explain in detail the difference between deep learning and machine learning in simple and easy to understand language and examples, and introduce related uses.
Introduction to machine learning and deep learning
Machine learning
Tom Mitchell's definition of machine learning is widely quoted as follows:
For a certain type of task T and performance measurement P, if a computer program's performance measured by P on T continues to improve itself with experience E, then we call this computer program learning from experience E.
“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E ”
The above abstract definition may confuse you, I believe the following simple examples will make you suddenly realize.
[Example 1 Predict weight based on height]
Suppose you want to create a system that predicts weight based on a person's height. The first step is to collect data. After collecting, draw the data distribution diagram as shown below. Each point in the figure represents a piece of data, the abscissa represents height, and the ordinate represents weight.
We can draw a simple straight line to predict weight based on height, such as:
Weight (in kg) = Height (in cm) – 100
If this straight line predicts height accurately, how to measure its performance? For example, the performance of the prediction model is measured by the difference between the predicted value and the true value. Of course, the more source data, the better the model effect. If the effect is not good, you can use other methods to improve the performance of the model, such as adding variables (such as gender) or changing the prediction line.
[Example 2 Storm Forecast System]
Suppose you want to build a storm prediction system. You have past storm data and weather data three months before these storms. So how to build a storm prediction system?
The first thing to do is to clean the data and find hidden patterns in the data, such as the conditions that caused the storm. We can model some conditions, such as whether the temperature is greater than 40 degrees Celsius, and whether the humidity is between 80 and 100, and then input these features into the model.
All you have to do is make full use of historical data and predict whether a storm will occur. In this example, the evaluation index is the correct prediction of the number of storms. We can repeat the prediction process many times and then return the performance results to the system.
Returning to the original definition of machine learning, we define the storm prediction system as follows: task T is to find the atmospheric conditions that caused the storm, performance P is the number of correct predictions after the model parameters are learned, and experience E is the iterative process of the system.
Deep learning
Deep learning actually appeared a long time ago, and with the hype in recent years, it has gradually become popular.
Deep learning is a special kind of machine learning that represents the real world as a nested hierarchical conceptual system (complex concepts defined by the connections between simpler concepts, from general abstraction to high-level abstract representation), so as to obtain powerful performance and flexibility.
Deep learning is a particular kind of machine learning that achieves great power and flexibility by learning to represent the world as nested hierarchy of concepts, with each concept defined in relation to simpler concepts, and more abstract representations computed in terms of less abstract ones.
[Example 1 Graphic detection]
Suppose we want to distinguish the rectangle from other graphics. The human eye first detects whether the graph has 4 edges (simple concept). If there are 4 edges, check whether they are connected, closed and vertical, and whether they are equal (the concept of nesting level). In fact, we decompose a complex task (rectangular recognition) into some simple low-level abstract tasks. Deep learning essentially does this on a larger scale.
[Example 2 Cat or Dog]
This case is to build a system that can identify whether the animal in the picture is a cat or a dog.
If you use machine learning to solve this problem, you must first define some characteristics, such as whether the animal has a beard and ears; if there are ears, whether the ears are pointed. Simply put, we have to define facial features, and then let the system recognize which are important features in animal classification. While deep learning will complete these tasks at once, deep learning will automatically find features important for classification tasks, and machine learning has to be manually specified.
The in-depth study workflow is as follows:
1. First find the border that is most relevant to the cat or dog in the picture;
2. Then find the combination of shape and boundary, such as whether you can find the beard and ears;
3. After continuous hierarchical recognition of complex concepts, it is possible to determine which features play an important role in identifying cats and dogs.
Comparison of machine learning and deep learning
Data dependence
The most important difference between deep learning and traditional machine learning is that its performance increases as the amount of data increases. If the data is small, the performance of the deep learning algorithm is not good. This is because the deep learning algorithm requires a large amount of data to understand the patterns contained therein. In this case, traditional machine learning that uses manually specified rules has the upper hand.
Hardware support
Deep learning algorithms rely heavily on high-end machines, while traditional machine learning can run on low-end machines. Because deep learning requires a large number of matrix multiplication operations, and GPUs can effectively optimize these operations, GPUs have become an essential part of it.
Feature engineering
Feature engineering inputs domain knowledge into the feature extractor, reduces the complexity of the data, makes the patterns in the data more obvious to the learning algorithm, and obtains better results. In terms of time and professionalism, this process is expensive. In machine learning, most of the features used are designated by experts or determined by prior knowledge for each data field and data type. For example, features can be pixel value, shape, texture, location, and direction. The performance of most machine learning methods depends on the accuracy of identifying and extracting these features.
Deep learning algorithms try to learn high-level features from data. This is a distinctive part of deep learning and an important step beyond traditional machine learning. In deep learning, each problem is attributed to the development of new feature extractors. For example, convolutional neural networks learn low-level features such as edges and straight lines at the bottom, then facial features, and finally high-level features of human faces.
Problem solution
When using traditional machine learning methods to solve problems, they often adopt the strategy of breaking up into parts, solving them separately, and then combining the results to solve them. And deep learning advocates end-to-end model, input training data, directly output the final result, let the network learn how to extract key features.
For example, if you want to perform target detection, you need to identify the category of the target and indicate its position in the picture.
ypical machine learning methods divide this problem into two steps: target detection and target recognition. First, use border detection technology, such as grabcut, to scan the entire image to find all possible objects, and use target recognition algorithms such as HOG/SVM for these objects to identify related objects.
Deep learning methods deal with this problem in an end-to-end manner. For example, YOLO net can achieve target positioning and recognition through convolutional neural networks. That is, the original image is input to the convolutional neural network, and the position and category of the target in the image are directly output.
execution time
Generally, deep learning requires a long time to train, because many parameters in deep learning require much more than normal time training. ResNet takes about two weeks to complete training from scratch, while machine learning only requires training time ranging from a few seconds to a few hours. The time required for testing is exactly the opposite. Deep learning algorithms require very little time to run. However, compared with KNN (K Nearest Neighbor, a machine learning algorithm), the test time will increase as the amount of test data increases. However, not all machine learning algorithms take a long time, and some require very little testing time.
Interpretability
Assuming that you use deep learning to automatically score articles, you will find that the performance will be very good and close to the level of human scoring. But it cannot explain why such a score is given. During the operation, you can discover which nodes of the deep neural network are activated, but you don't know what these neurons are modeling and what each layer is doing, so you can't explain the result.
On the other hand, machine learning algorithms such as decision trees clearly explain the reasons for making choices at each step in accordance with the rules. Therefore, algorithms such as decision trees and linear/logistic regression are widely used in the industry due to their good interpretability.
Machine learning and deep learning application scenarios
The Wiki introduces some application areas of machine learning:
1. Computer vision: such as license plate number recognition, face recognition;
2. Information retrieval: such as search engine, text retrieval, image retrieval;
3. Marketing: automatic email marketing, target identification;
4. Medical diagnosis: cancer diagnosis, abnormal detection;
5. Natural language processing: semantic analysis, photo tagging;
6. Online advertising, etc.
The following figure summarizes the application areas of machine learning. In general, the application range is very wide.
Google is a well-known company in the industry that uses machine learning/deep learning. As shown in the figure below, Google applies deep learning to different products.
Instant test
In order to assess whether you really understand the difference between machine learning and deep learning, there will be a quick test here and you can submit your answers here. All you have to do is to use machine learning and deep learning to solve the following problems and decide which method is better.
[Scenario 1] Suppose you want to develop a self-driving car system. The system takes the raw data taken by the camera as input, and then predicts the direction and angle of the steering wheel.
[Scenario 2] Given a person's credit certificate and background information, evaluate whether a loan can be granted to him.
[Scene 3] Create a system to translate Russian text into Indian language.
Future trend
The previous summary of the difference between machine learning and deep learning, this section on the future trends of the two:
1. In view of the increasing use of data science and machine learning in industry, the use of machine learning in business is becoming more and more important for companies that want to survive. At the same time, it is necessary to learn more basic knowledge.
2. Deep learning brings more and more surprises to people, and it will always be like this in the future. Deep learning has proven to be one of the most advanced and best technologies in the existing technology.
3. Deep learning and machine learning and research are still going on, and they are not limited in the academic world as before. At present, machine learning and deep learning are exploding in industry and academia. And receiving more fund support than before, it is likely to become one of the key points of human development.
Your Ads Here
Your Ads Here
Your Ads Here
Your Ads Here
Newer Posts
Newer Posts
Older Posts
Older Posts
Comments