The wave of Artificial Intelligence is sweeping the world, and we hear a lot of words: Artificial Intelligence, Machine Learning, Deep Learning. This paper is mainly to comb the notes of Li Hongyi’s course content, and the reference links have been given at the end of the paper.
1- Introduction to machine learning
Artificial intelligence is what we want to achieve, and machine learning is what we want to achieve, and we want the machine to learn and be as smart as we are. Deep learning is one of the methods of machine learning. In short: Machine learning is a way to achieve artificial intelligence, and deep learning is a technology to achieve machine learning.
Machine learning and deep learning
Machine learning
At its most basic, machine learning uses algorithms to parse data, learn from it, and then make decisions and predictions about real-world events. Unlike traditional hard-coded software programs designed to solve specific tasks, machine learning is “trained” with large amounts of data, using algorithms to learn from the data how to perform tasks.
Here are three important messages:
- Machine learning is a path to simulate, extend and extend human intelligence, so it is a subset of artificial intelligence;
- “Machine learning” is data based, meaning that its “intelligence” is fed with large amounts of data;
- Big data technology is particularly important because it has to deal with huge amounts of data; “Machine learning” is just one application of big data technology.
The 10 commonly used machine learning algorithms are: decision tree, random forest, logistic regression, SVM, Naive Bayes, K-nearest neighbor algorithm, K-means algorithm, Adaboost algorithm, neural network, and Markov.
Deep learning
Deep learning is a machine learning technology that is used to build and simulate the neural network of human brain for analysis and learning, and to interpret data by imitating the mechanism of human brain. The basic feature of it is that it tries to mimic the way the brain’s neurons process information by passing between them. Deep learning is not an independent learning method originally, and it also uses both supervised and unsupervised learning methods to train deep neural networks. However, due to the rapid development of this field in recent years, some unique learning methods (such as residual network) have been proposed successively, so more and more people regard it as a separate learning method.
But at present, deep learning also has corresponding problems:
- Deep learning models need a large amount of training data to show magical effects. However, in real life, small sample problems are often encountered, and deep learning methods cannot start with this problem, but traditional machine learning methods can handle it.
- There are some areas that can be solved very well with traditional simple machine learning methods, rather than complicated deep learning methods.
- The idea of deep learning comes from the inspiration of human brain, but it is by no means a simulation of human brain. Human learning process often does not need large-scale training data, and the current deep learning method is obviously not a simulation of human brain.
Machine learning related technologies
Machine learning can be divided into:
- Supervised learning
- Semi-supervised learning
- The migration study
- Unsupervised learning
- Structured learning in supervised learning
- Reinforcement learning
This graph is mainly about the corresponding subdivision of machine learning, and we will start with supervised learning in the upper left corner of the graph
Supervised learning
Definition: Knowing the relationship between input and output results based on an existing data set. Based on this known relationship, an optimal model is obtained by training. In other words, in supervised learning, the training data has both features and labels. Through training, the machine can find the connection between features and labels by itself, and can judge labels when faced with data with only features but no labels. In general, we can think of machine learning as we teach machines how to do things.
Supervised learning is divided into:
- Regression problem
- Classification problem
Classical algorithms: support vector machine, linear discriminant, decision tree, Naive Bayes
Regression problems
The regression problem is for continuous variables. In general terms, regression is to analyze the existing points (training data) and fit the appropriate functional model y=f(x), where y is the label of data, and for a new independent variable X, the label y can be obtained through this functional model.
Classification problem
The difference between Regression and Classification is that the type of thing that we want the machine to output is different. In the regression problem, the machine outputs a number, while in the classification problem, the machine outputs a category. The biggest difference between the machine and regression is that classification is for discrete type, and the output results are limited.
There are two kinds of classification problems:
- Two categories, output yes or no. For example, whether a tumor is benign or malignant
- Multiple categories, choose the right category from multiple options. For example, enter a picture to determine whether it is a cat, a dog or a pig
Classification simply means that you analyze the input eigenvectors, and you get the label for a new vector.
So that’s a problem for a machine to solve, and the first step in solving a problem is to choose the function that solves the problem, that is to choose the model that you need to solve the problem. Mainly linear model and nonlinear model
Semi-supervised learning
Traditional machine learning techniques fall into two categories: unsupervised learning and supervised learning.
Unsupervised learning only uses the unlabeled sample set, while supervised learning only uses the labeled sample set.
In many practical cases, however, there is only a small amount of labeled data, because the cost of labeling data is sometimes high. In biology, for example, it can take biologists many years to analyze the structure or function of a protein, while large amounts of unlabeled data are easily available. This leads to the rapid development of semi-supervised learning techniques that can use both labeled and unlabeled samples. In short, semi-supervised learning is to reduce the use of labels.
Semi-supervised learning is inductive and the resulting model can be used for a broader sample
Semi-supervised learning algorithm classification
- Self-training algorithm
- Generative models
- SVMs Semi-supervised support vector machine
- Graph-base methods
- Multiview Learing algorithm
- Other methods
The migration study
Objective: To apply knowledge or patterns learned in one domain or task to different but related domains or problems.
Main idea: transfer annotated data or knowledge structure from related fields, accomplish or improve the learning effect of target area or task.
For example, when humans learn to ride a bicycle, it will be very easy to ride a motorcycle. After learning C language, it will be very easy to learn other languages. This is the ability of human learning to draw inferences from other cases.
The figure above is an example of sentiment analysis of product reviews in two different product areas: books and Furniture; In the field of books, words such as “broad” and “quality fiction” are often used to express positive emotions, while in the field of furniture, words such as “sharp” and “light weight” are used to express positive emotions. It can be seen that in this task, most of the different emotion words in different fields do not overlap, there are domain exclusive words, and the frequency of words in different fields is significantly different, which will lead to the problem of probability distribution mismatch between domains.
Key points of transfer learning:
- To study what knowledge can be used for transfer learning in different fields or tasks, that is, what common knowledge can be transferred between different fields.
- After the transfer object is found, the specific algorithm of transfer learning is adopted for specific problems, that is, how to design a suitable algorithm to extract and transfer common knowledge.
- Study what is suitable for migration, whether the migration skills are suitable for specific applications, which involves the problem of negative migration. (Negative transfer is the hindering effect of old knowledge on new knowledge learning, such as the influence of riding a bicycle after learning a tricycle, and the influence of Learning Chinese pinyin on learning English letters. Study how to use positive transfer to avoid negative transfer.)
Existing transfer learning methods can be roughly divided into three categories:
- Sample based transfer learning method
- Feature-based transfer learning method
- Model-based transfer learning method
The three types of transfer learning methods are described as follows:
- Sample based transfer learning method
Core idea: select some data from the source domain data set to make the probability distribution of the selected part of the data and target data approximate.
Method based on sample selection: Assuming that the conditional distribution of samples in source domain and target domain is different but the edge distribution is similar, the method based on distance measurement and the method based on meta-learning can be used for sample selection.
Sample weight based method: Assuming that the conditional distribution of samples in source domain and target domain is similar but the edge distribution is different, the probability density ratio is used to guide the sample weight learning.
- Feature-based transfer learning method
Maximum mean difference (MMD) based transfer learning method: Source and target domain samples are mapped into renewable and Hilt Spaces (RKHS) and the differences between them are minimized.
- Model-based Transfer Learning Method (Deep Learning)
Deep neural network has general features of shallow learning and special features of deep learning related to task.
Summary of neural network migration:
- The first several layers of the neural network are basically universal features, and the effect of migration is better
- Adding fine tuning to the deep migration network can improve the effect greatly, which may be better than the original network effect
- Fine tuning can better overcome the differences between the data
- Deep migration networks are better than random initialization weights
- Network layer migration can accelerate network learning and optimization
Unsupervised learning
Definition: We do not know the relationship between the data and features in the data set, but to get the relationship between the data according to clustering or a certain model. Unsupervised learning, so to speak, is more like self-learning than supervised learning, where the machine learns to do things on its own, without labels.
Unsupervised learning enables us to solve problems with little or no idea what the outcome should look like. We can get structure from data that doesn’t need to know the impact of variables. We can get this structure by clustering the data according to the relationship between variables in the data. In unsupervised learning, there is no feedback based on predicted results.
Classical algorithms: clustering K-means algorithm (K-means algorithm), principal component analysis
Structured learning in supervised learning
In structured learning, the output of the machine should be structured.
In the classification problem, the machine outputs only an option; In the case of structured classes, the machine outputs a complex object.
In the case of speech recognition, the input of the machine is a sound signal and the output is a sentence. A sentence is made up of many words. It is a structured object
Machine translation and face recognition (identifying names of different people), such as GAN, are also methods of Structured Learning.
Reinforcement learning
Definition: Reinforcement learning is an important branch of machine learning and a product of the intersection of multiple disciplines and fields. Its essence is to solve decision making problems, that is, to automatically make decisions and make continuous decisions.
It consists of four main elements: Agent, environment state, action, and reward
The goal of reinforcement learning is to maximize the cumulative rewards.
The difference between reinforcement learning and supervised learning:
- Supervised learning is like having a teacher instructing the teacher how to be right and how to be wrong during learning. However, in many practical problems, such as chess and Go, there are tens of millions of game modes, and it is impossible for a teacher to know all the possible results. However, reinforcement learning, in the absence of any tag, one result is obtained by first try to make some behavior, through the result is right or wrong feedback, before the adjustment behavior, thus constantly adjust, algorithm can learn in what circumstances to choose what you can get the best results.
- Both types of learning learn a mapping of inputs to outputs, supervised learning learns the relationship between inputs and outputs, which tells the algorithm what kind of input corresponds to what kind of output, and reinforcement learning learns the feedback to the machine, which is used to determine whether this behavior is good or bad.
- In addition, there is a delay in the feedback of reinforcement learning results. Sometimes, it may take many steps to know whether a previous step is good or bad, while in supervised learning, a bad choice will be immediately fed back to the algorithm. Moreover, the input of reinforcement learning is always changing. Every time the algorithm makes a behavior, it affects the input of the next decision, while the input of supervised learning is independent and identically distributed.
- Through intensive learning, an agent can make a trade-off between exploration and exploitation, and choose the one with the greatest reward. Exploration tries a lot of different things to see if they’re better than what’s been tried before. Exploitation attempts the most effective behavior from past experience. General supervised learning algorithms do not consider this balance.
The difference between reinforcement learning and unsupervised learning:
Unsupervised learning is not a mapping of input to output, but a pattern. For example, in the task of recommending news articles to users, unsupervised will find similar articles that users have previously read and recommend one to them. In reinforcement learning, a “knowledge map” of articles that users may like is constructed by recommending a small amount of news to users and constantly getting feedback from users.
Main algorithms and classifications
From the perspective of several elements of reinforcement learning, the methods mainly fall into the following categories:
- Policy based, the focus is to find the optimal Policy.
- Value based, the focus is to find the optimal sum of rewards.
- Action based, the focus is on the best Action for each step.
2- Why machine learning
Machine learning can quickly and automatically generate models to analyze larger, more complex data, and deliver faster and more accurate results — even at very large scales. In the absence of human intervention, high-value predictions lead to better decisions, and smarter behavior.
Reference links:
- Link: www.zhihu.com/question/57…
- Link: www.zhihu.com/question/57…
- Link: www.jianshu.com/p/682c88cee…
- Link: blog.csdn.net/ice110956/a…
- Link: blog.csdn.net/dakenz/arti…
- Link: blog.csdn.net/mayou322152…