1. Machine learning concepts

1.1 Definition of machine learning


Wikipedia offers the following definitions of machine learning:





L “Machine learning is a science of artificial intelligence. The main research object of this field is artificial intelligence, especially how to improve the performance of specific algorithms through experiential learning”.





Machine learning is the study of computer algorithms that can be improved automatically through experience.





L “Machine learning is the use of data or past experience to optimize a computer program’s performance criteria.” An oft-quoted English definition is: 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.


It can be seen that machine learning emphasizes three key words: algorithm, experience and performance, and its processing process is shown in the figure below.











Above data shows that machine learning is through and evaluate the model and algorithm to construct model, evaluating the performance of if meet the requirements and then take the model to test the rest of the data, if can not meet the requirements to adjust algorithm to build models, to evaluate again, cycling, eventually a satisfactory experience to deal with other data.


1.2 Classification of machine learning

1.2.1 Supervised learning


Supervision is learning a function (model) from a given training data set, from which results can be predicted as new data arrives. The training set of supervised learning requires input and output, which can also be said to be features and targets. The goals in the training set are labeled (scalar) by people. Under supervised learning, input data is called “training data”, and each group of training data has a clear identification or result, such as “spam” and “non-spam” in anti-spam system, and “1”, “2”, “3” in handwritten digit recognition. In building a prediction model, supervised learning establishes a learning process that compares the predicted results with the actual results of the “training data” and continually adjusts the prediction model until the predicted results of the model reach a desired accuracy. Common supervised learning algorithms include regression analysis and statistical classification:





L Binary classification is the basic problem to be solved by machine learning, which divides test data into two categories, such as the discrimination of spam and the judgment of whether mortgage loans are allowed.





L Multivariate classification is the logical extension of binary classification. For example, in the case of streaming classifiers for the Internet, web pages could be classified as sports, news, technology, and so on, depending on the classification of the problem.





Supervised learning is often used for classification, because the goal is often to get the computer to learn the classification system we have created. Number recognition is once again a common sample of classification learning. In general, classification learning applies to both useful and easily judged classification systems.





Supervised learning is the most common technique for training neural networks and decision trees. Neural networks and decision tree techniques are highly dependent on the information given by pre-determined classification systems. For neural networks, the classification system is used to judge the errors of the network and then adjust the network to suit it. For decision trees, the classification system is used to determine which attributes provide the most information, so that it can be used to solve the problem of the classification system.







1.2.2 Unsupervised learning


Compared with supervised learning, unsupervised learning training sets have no artificially labeled results. In unsupervised learning, data is not specifically identified and the learning model is designed to infer some internal structure of the data. Common application scenarios include learning association rules and clustering. Common algorithms include Apriori algorithm and K-means algorithm. The goal of this type of learning is not to maximize the utility function, but to find approximate points in the training data. Clustering often finds intuitive categories that match fairly well with assumptions, such as the likelihood that aggregated individuals based on demographics will form a rich aggregation within a group, and other poor aggregation.











Unsupervised learning seems very difficult: the goal is that we don’t tell the computer what to do, but let it learn how to do something itself. There are generally two approaches to unsupervised learning: the first approach is to guide agents without specifying clear categories, but to use some form of incentive system when they succeed. It is important to note that this type of training is often framed in the context of decision problems, because the goal is not to produce a classification system, but to make the most rewarding decision. This idea is a good generalization of the real world, where agents can incentivize those behaviors that are right and punish others.





Because unsupervised learning assumes no pre-classified samples, this can be very powerful in cases where, for example, our classification method may not be the best choice. A striking example of this is the game Backgammon, in which a series of computer programs (such as neuro-Gammon and TD-Gammon) become better than the best human players by playing the game over and over again through unsupervised learning. These programs found some principles that surprised even backgammon experts, and they worked better than backgammon programs trained with pre-classified samples.

1.2.3 Semi-supervised learning


Semi-supervised Learning is a machine Learning mode between supervised Learning and unsupervised Learning, which is a key problem in the field of pattern recognition and machine Learning. It mainly considers how to use a small number of labeled samples and a large number of unlabeled samples for training and classification. Semi-supervised learning is of great practical significance to reduce the cost of labeling and improve the performance of learning machine. There are five main types of algorithms: probabilistic algorithm; The modification method based on the existing monitoring algorithm; In this learning mode, input data are partially identified and partially not identified. This learning model can be used for prediction, but the model first needs to learn the internal structure of the data in order to reasonably organize the data for prediction. Application scenarios include classification and regression, and algorithms include some extensions of commonly used supervised learning algorithms. These algorithms first attempt to model unlabeled data, and then make predictions on labeled data, such as Graph Inference algorithm or Laplacian SVM.


Semi-supervised learning classification algorithm has been put forward for a short time, and there are many aspects that have not been further studied. Semi-supervised learning is mainly used to process synthetic data since its birth. The sample data without noise interference is the data used by most semi-supervised learning methods at present. However, most of the data used in real life are not without interference, and it is usually difficult to get pure sample data.







1.2.4 Reinforcement learning


Reinforcement learning learns the completion of actions through observation. Each action will have an impact on the environment. Learning objects make judgments based on the feedback of the observed surroundings. In this mode of learning, input data serves as feedback to the model, unlike in a supervised model, where input data is merely a way to check that the model is right or wrong. In reinforcement learning, input data is fed directly back to the model, which must be adjusted immediately. Common application scenarios include dynamic systems and robot control. Common algorithms include Q-learning and Temporal difference Learning.








In the scenario of enterprise data application, supervised learning and unsupervised learning are probably the most commonly used models. In the field of image recognition, semi-supervised learning is a hot topic due to the existence of a large amount of non-identifiable data and a small amount of identifiable data. Reinforcement learning is more widely used in robot control and other systems control fields. Shanghai Fashion School
Python ARTIFICIAL IntelligenceProvide technical support, reprint please note the original source!