Three cornerstones of artificial intelligence — algorithm , Data and computing power , Algorithm as one of the others , It's very important , So what algorithms will be involved in artificial intelligence ? What scenarios are different algorithms suitable for ?

One , According to the different training methods, it can be divided into supervised learning (Supervised Learning), Unsupervised learning (Unsupervised
Learning), Semi supervised learning (Semi-supervised Learning) And strengthen learning (Reinforcement Learning) Four categories .

The common supervised learning algorithms include the following categories :
(1) artificial neural network (Artificial Neural Network) class : Back propagation (Backpropagation), Boltzmann machine (Boltzmann
Machine), Convolution neural network (Convolutional Neural Network),Hopfield network (hopfield
Network), Multilayer perceptron (Multilyer Perceptron), Radial basis function network (Radial Basis Function
Network,RBFN), Restricted Boltzmann Machines (Restricted Boltzmann Machine), Regression neural network (Recurrent Neural
Network,RNN), Self organizing mapping (Self-organizing Map,SOM), Spike neural network (Spiking Neural Network) etc. .
(2) Bayesian class (Bayesin): Naive Bayes (Naive Bayes), Gauss Bayes (Gaussian Naive
Bayes), Multinomial naive Bayes (Multinomial Naive Bayes), average - Dependency assessment (Averaged One-Dependence
Estimators,AODE)
Bayesian belief network (Bayesian Belief Network,BBN), bayesian network (Bayesian Network,BN) etc. .
(3) Decision tree (Decision Tree) class : Classification and regression tree (Classification and Regression
Tree,CART), iteration Dichotomiser3(Iterative Dichotomiser 3, ID3),C4.5 algorithm (C4.5
Algorithm),C5.0 algorithm (C5.0 Algorithm), Chi square automatic interactive detection (Chi-squared Automatic Interaction
Detection,CHAID), Decision stump (Decision Stump),ID3 algorithm (ID3 Algorithm), Random forest (Random
Forest),SLIQ(Supervised Learning in Quest) etc. .
(4) Linear classifier (Linear Classifier) class :Fisher Linear discriminant of (Fisher’s Linear Discriminant)
linear regression (Linear Regression), logistic regression (Logistic Regression), Multiple logistic regression (Multionmial Logistic
Regression), Naive Bayes classifier (Naive Bayes Classifier), perception (Perception), Support vector machine (Support
Vector Machine) etc. .

Common unsupervised learning algorithms include :
(1) artificial neural network (Artificial Neural Network) class : Generate countermeasure network (Generative Adversarial
Networks,GAN), Feedforward neural network (Feedforward Neural Network), Logic learning machine (Logic Learning
Machine), Self organizing mapping (Self-organizing Map) etc. .
(2) Association rule learning (Association Rule Learning) class : Prior algorithm (Apriori Algorithm),Eclat algorithm (Eclat
Algorithm),FP-Growth Algorithm, etc .
(3) Hierarchical clustering algorithm (Hierarchical Clustering): Single linkage clustering (Single-linkage
Clustering), Concept clustering (Conceptual Clustering) etc. .
(4) cluster analysis (Cluster
analysis):BIRCH algorithm ,DBSCAN algorithm , Expectation maximization (Expectation-maximization,EM), Fuzzy clustering (Fuzzy
Clustering),K-means algorithm ,K Mean clustering (K-means
Clustering),K-medians clustering , Mean shift algorithm (Mean-shift),OPTICS Algorithm, etc .
(5) anomaly detection (Anomaly detection) class :K Nearest neighbor (K-nearest Neighbor,KNN) algorithm , Local outlier factor algorithm (Local
Outlier Factor,LOF) etc. .

Common semi supervised learning algorithms include : Generation model (Generative Models), Low density separation (Low-density
Separation), Graphic based approach (Graph-based Methods), Joint training (Co-training) etc. .


Common reinforcement learning algorithms include :Q study (Q-learning), state - get some action - reward - state - get some action (State-Action-Reward-State-Action,SARSA),DQN(Deep
Q Network), Strategy gradient algorithm (Policy Gradients), Model based reinforcement learning (Model Based RL), Sequential differential learning (Temporal
Different Learning) etc. .

Common deep learning algorithms include : Deep belief network (Deep Belief Machines), Deep convolution neural network (Deep Convolutional Neural
Networks), Deep recurrent neural network (Deep Recurrent Neural Network), Hierarchical temporal memory (Hierarchical Temporal
Memory,HTM), Deep Boltzmann machine (Deep Boltzmann Machine,DBM), Trestle automatic encoder (Stacked
Autoencoder), Generate countermeasure network (Generative Adversarial Networks) etc. .

Two , According to the different tasks to be solved , It can be roughly divided into two categories (Two-class Classification), Multi classification algorithm (Multi-class
Classification), Regression algorithm (Regression), clustering algorithm (Clustering) And anomaly detection (Anomaly Detection) Five kinds .
1. Dichotomous (Two-class Classification)
(1) Binary support vector machine (Two-class SVM): It is suitable for many data features , Scene of linear model .
(2) Binary average perceptron (Two-class Average Perceptron): Suitable for short training time , Scene of linear model .
(3) Binary logistic regression (Two-class Logistic Regression): Suitable for short training time , Scene of linear model .
(4) Binary Bayesian point machine (Two-class Bayes Point
Machine): Suitable for short training time , Scene of linear model .(5) Dichotomous decision forest (Two-class Decision Forest): Suitable for short training time , Precise scene .
(6) Decision tree based on binary promotion (Two-class Boosted Decision Tree): Suitable for short training time , High accuracy , Scenes with high memory consumption
(7) Binary decision forest (Two-class Decision Jungle): Suitable for short training time , High accuracy , Scenes with small memory consumption .
(8) Binary local depth support vector machine (Two-class Locally Deep SVM): It is suitable for scenes with more data features .
(9) Binary neural network (Two-class Neural Network): Suitable for high accuracy , Scenes with long training time .


There are usually three solutions to solve multi classification problems : The first one , Starting with data sets and applicable methods , Using two classifiers to solve multi classification problem ; The second kind , Direct use of multiple classifiers with multi classification ability ; The third kind , Improve two classifiers into multi classifiers to solve multi classification problems .
Common algorithms :
(1) Multi classification logistic regression (Multiclass Logistic Regression): Suitable for short training time , Scene of linear model .
(2) Multi classification neural network (Multiclass Neural Network): Suitable for high accuracy , Scenes with long training time .
(3) Multi classification decision forest (Multiclass Decision Forest): Suitable for high accuracy , Scenes with short training time .
(4) Multi classification decision forest (Multiclass Decision Jungle): Suitable for high accuracy , Scenes with less memory consumption .
(5)“ One to many ” Multi classification (One-vs-all Multiclass): It depends on the effect of two classifiers .

regression

Regression problems are often used to predict specific values rather than classifications . Except that the returned results are different , Other methods are similar to the classification problem . We will export quantitatively , Or continuous variable prediction is called regression ; Qualitative output , Or discrete variable prediction is called classification . The algorithm of long towel is :
(1) Rank regression (Ordinal Regression): It is suitable for the scenario of sorting data .
(2) Poisson regression (Poission Regression): Scenarios for predicting the number of events .
(3) Fast forest quantile regression (Fast Forest Quantile Regression): Scenarios suitable for prediction distribution .
(4) linear regression (Linear Regression): Suitable for short training time , Scene of linear model .
(5) Bayesian linear regression (Bayesian Linear Regression): It is suitable for linear model , Scenarios with less training data .
(6) Neural network regression (Neural Network Regression): Suitable for high accuracy , Scenes with long training time .
(7) Decision forest regression (Decision Forest Regression): Suitable for high accuracy , Scenes with short training time .
(8) Enhance decision tree regression (Boosted Decision Tree Regression): Suitable for high accuracy , Short training time , Scenes with large memory consumption .

clustering
The goal of clustering is to discover the potential law and structure of data . Clustering is usually used to describe and measure the similarity between different data sources , The data sources are classified into different clusters .
(1) hierarchical clustering (Hierarchical Clustering): Suitable for short training time , Scenarios with large amount of data .
(2)K-means algorithm : Suitable for high accuracy , Scenes with short training time .
(3) Fuzzy clustering FCM algorithm (Fuzzy C-means,FCM): Suitable for high accuracy , Scenes with short training time .
(4)SOM neural network (Self-organizing Feature Map,SOM): It is suitable for scenarios with long running time .
anomaly detection
Anomaly detection refers to the detection and marking of abnormal or atypical fragments in the data , Sometimes called deviation detection .

Anomaly detection looks very similar to the supervised learning problem , It's all about classification . All of them predict and judge the label of samples , But in fact, the difference is very big , Because of the positive samples in abnormal detection ( Outlier ) Very small . The commonly used algorithms are :
(1) A classification support vector machine (One-class SVM): It is suitable for scenes with more data features .
(2) be based on PCA Abnormal detection of (PCA-based Anomaly Detection): It is suitable for short training time .

Common transfer learning algorithms include : Inductive transfer learning (Inductive Transfer Learning) , Direct push transfer learning (Transductive
Transfer Learning), Unsupervised transfer learning (Unsupervised Transfer Learning), Transfer learning (Transitive
Transfer Learning) etc. .

Applicable scenarios of the algorithm :
The factors to be considered are :
(1) The size of the data , Data quality and characteristics of data itself
(2) What is the nature of the problem in the specific business scenario that machine learning is going to solve ?
(3) What is the acceptable calculation time ?
(4) How high is the accuracy of the algorithm ?




With algorithms , With trained data ( Preprocessed data ), So many training ( It's time to test computing power ) after , After model evaluation and parameter adjustment by algorithm staff , You will get the training model . When new data is entered , Then our training model will give the result . The most basic functions required by the business are realized .

Automatic operation and maintenance of Internet products is a trend , Because the Internet needs fast response , It's decided that we should respond quickly to the problem , Quick fix . Artificial intelligence products are no exception .AI + How does automatic operation and maintenance work ?


reference resources :《 AI Product Manager –AI times PM Training Manual 》
author : Zhang Jingyu