人工智能的三大基石—算法、數據和計算能力,算法作為其他之一,是非常重要的,那麼人工智能都會涉及哪些算法呢?不同算法适用于哪些場景呢?
一、按照模型訓練方式不同可以分為監督學習(Supervised Learning),無監督學習(Unsupervised Learning)、半監督學習(Semi-supervised Learning)和強化學習(Reinforcement Learning)四大類。
常見的監督學習算法包含以下幾類:
(1)人工神經網絡(Artificial Neural Network)類:反向傳播(Backpropagation)、波爾茲曼機(Boltzmann Machine)、卷積神經網絡(Convolutional Neural Network)、Hopfield網絡(hopfield Network)、多層感知器(Multilyer Perceptron)、徑向基函數網絡(Radial Basis Function Network,RBFN)、受限波爾茲曼機(Restricted Boltzmann Machine)、回歸神經網絡(Recurrent Neural Network,RNN)、自組織映射(Self-organizing Map,SOM)、尖峰神經網絡(Spiking Neural Network)等。
(2)貝葉斯類(Bayesin):樸素貝葉斯(Naive Bayes)、高斯貝葉斯(Gaussian Naive Bayes)、多項樸素貝葉斯(Multinomial Naive Bayes)、平均-依賴性評估(Averaged One-Dependence Estimators,AODE)
貝葉斯信念網絡(Bayesian Belief Network,BBN)、貝葉斯網絡(Bayesian Network,BN)等。
(3)決策樹(Decision Tree)類:分類和回歸樹(Classification and Regression Tree,CART)、叠代Dichotomiser3(Iterative Dichotomiser 3, ID3),C4.5算法(C4.5 Algorithm)、C5.0算法(C5.0 Algorithm)、卡方自動交互檢測(Chi-squared Automatic Interaction Detection,CHAID)、決策殘端(Decision Stump)、ID3算法(ID3 Algorithm)、随機森林(Random Forest)、SLIQ(Supervised Learning in Quest)等。
(4)線性分類器(Linear Classifier)類:Fisher的線性判别(Fisher’s Linear Discriminant)
線性回歸(Linear Regression)、邏輯回歸(Logistic Regression)、多項邏輯回歸(Multionmial Logistic Regression)、樸素貝葉斯分類器(Naive Bayes Classifier)、感知(Perception)、支持向量機(Support Vector Machine)等。
常見的無監督學習類算法包括:
(1) 人工神經網絡(Artificial Neural Network)類:生成對抗網絡(Generative Adversarial Networks,GAN),前饋神經網絡(Feedforward Neural Network)、邏輯學習機(Logic Learning Machine)、自組織映射(Self-organizing Map)等。
(2) 關聯規則學習(Association Rule Learning)類:先驗算法(Apriori Algorithm)、Eclat算法(Eclat Algorithm)、FP-Growth算法等。
(3)分層聚類算法(Hierarchical Clustering):單連鎖聚類(Single-linkage Clustering),概念聚類(Conceptual Clustering)等。
(4)聚類分析(Cluster analysis):BIRCH算法、DBSCAN算法,期望最大化(Expectation-maximization,EM)、模糊聚類(Fuzzy Clustering)、K-means算法、K均值聚類(K-means Clustering)、K-medians聚類、均值漂移算法(Mean-shift)、OPTICS算法等。
(5)異常檢測(Anomaly detection)類:K最鄰近(K-nearest Neighbor,KNN)算法,局部異常因子算法(Local Outlier Factor,LOF)等。
常見的半監督學習類算法包含:生成模型(Generative Models)、低密度分離(Low-density Separation)、基于圖形的方法(Graph-based Methods)、聯合訓練(Co-training)等。
常見的強化學習類算法包含:Q學習(Q-learning)、狀态-行動-獎勵-狀态-行動(State-Action-Reward-State-Action,SARSA)、DQN(Deep Q Network)、策略梯度算法(Policy Gradients)、基于模型強化學習(Model Based RL)、時序差分學習(Temporal Different Learning)等。
常見的深度學習類算法包含:深度信念網絡(Deep Belief Machines)、深度卷積神經網絡(Deep Convolutional Neural Networks)、深度遞歸神經網絡(Deep Recurrent Neural Network)、分層時間記憶(Hierarchical Temporal Memory,HTM)、深度波爾茲曼機(Deep Boltzmann Machine,DBM)、棧式自動編碼器(Stacked Autoencoder)、生成對抗網絡(Generative Adversarial Networks)等。
二、按照解決任務的不同來分類,粗略可以分為二分類算法(Two-class Classification)、多分類算法(Multi-class Classification)、回歸算法(Regression)、聚類算法(Clustering)和異常檢測(Anomaly Detection)五種。
1.二分類(Two-class Classification)
(1)二分類支持向量機(Two-class SVM):适用于數據特征較多、線性模型的場景。
(2)二分類平均感知器(Two-class Average Perceptron):适用于訓練時間短、線性模型的場景。
(3)二分類邏輯回歸(Two-class Logistic Regression):适用于訓練時間短、線性模型的場景。
(4)二分類貝葉斯點機(Two-class Bayes Point Machine):适用于訓練時間短、線性模型的場景。(5)二分類決策森林(Two-class Decision Forest):适用于訓練時間短、精準的場景。
(6)二分類提升決策樹(Two-class Boosted Decision Tree):适用于訓練時間短、精準度高、内存占用量大的場景
(7)二分類決策叢林(Two-class Decision Jungle):适用于訓練時間短、精确度高、内存占用量小的場景。
(8)二分類局部深度支持向量機(Two-class Locally Deep SVM):适用于數據特征較多的場景。
(9)二分類神經網絡(Two-class Neural Network):适用于精準度高、訓練時間較長的場景。
解決多分類問題通常适用三種解決方案:第一種,從數據集和适用方法入手,利用二分類器解決多分類問題;第二種,直接使用具備多分類能力的多分類器;第三種,将二分類器改進成為多分類器今兒解決多分類問題。
常用的算法:
(1)多分類邏輯回歸(Multiclass Logistic Regression):适用訓練時間短、線性模型的場景。
(2)多分類神經網絡(Multiclass Neural Network):适用于精準度高、訓練時間較長的場景。
(3)多分類決策森林(Multiclass Decision Forest):适用于精準度高,訓練時間短的場景。
(4)多分類決策叢林(Multiclass Decision Jungle):适用于精準度高,内存占用較小的場景。
(5)“一對多”多分類(One-vs-all Multiclass):取決于二分類器效果。
回歸
回歸問題通常被用來預測具體的數值而非分類。除了返回的結果不同,其他方法與分類問題類似。我們将定量輸出,或者連續變量預測稱為回歸;将定性輸出,或者離散變量預測稱為分類。長巾的算法有:
(1)排序回歸(Ordinal Regression):适用于對數據進行分類排序的場景。
(2)泊松回歸(Poission Regression):适用于預測事件次數的場景。
(3)快速森林分位數回歸(Fast Forest Quantile Regression):适用于預測分布的場景。
(4)線性回歸(Linear Regression):适用于訓練時間短、線性模型的場景。
(5)貝葉斯線性回歸(Bayesian Linear Regression):适用于線性模型,訓練數據量較少的場景。
(6)神經網絡回歸(Neural Network Regression):适用于精準度高、訓練時間較長的場景。
(7)決策森林回歸(Decision Forest Regression):适用于精準度高、訓練時間短的場景。
(8)提升決策樹回歸(Boosted Decision Tree Regression):适用于精确度高、訓練時間短、内存占用較大的場景。
聚類
聚類的目标是發現數據的潛在規律和結構。聚類通常被用做描述和衡量不同數據源間的相似性,并把數據源分類到不同的簇中。
(1)層次聚類(Hierarchical Clustering):适用于訓練時間短、大數據量的場景。
(2)K-means算法:适用于精準度高、訓練時間短的場景。
(3)模糊聚類FCM算法(Fuzzy C-means,FCM):适用于精确度高、訓練時間短的場景。
(4)SOM神經網絡(Self-organizing Feature Map,SOM):适用于運行時間較長的場景。
異常檢測
異常檢測是指對數據中存在的不正常或非典型的分體進行檢測和标志,有時也稱為偏差檢測。
異常檢測看起來和監督學習問題非常相似,都是分類問題。都是對樣本的标簽進行預測和判斷,但是實際上兩者的區别非常大,因為異常檢測中的正樣本(異常點)非常小。常用的算法有:
(1)一分類支持向量機(One-class SVM):适用于數據特征較多的場景。
(2)基于PCA的異常檢測(PCA-based Anomaly Detection):适用于訓練時間短的場景。
常見的遷移學習類算法包含:歸納式遷移學習(Inductive Transfer Learning) 、直推式遷移學習(Transductive Transfer Learning)、無監督式遷移學習(Unsupervised Transfer Learning)、傳遞式遷移學習(Transitive Transfer Learning)等。
算法的适用場景:
需要考慮的因素有:
(1)數據量的大小、數據質量和數據本身的特點
(2)機器學習要解決的具體業務場景中問題的本質是什麼?
(3)可以接受的計算時間是什麼?
(4)算法精度要求有多高?
有了算法,有了被訓練的數據(經過預處理過的數據),那麼多次訓練(考驗計算能力的時候到了)後,經過模型評估和算法人員調參後,會獲得訓練模型。當新的數據輸入後,那麼我們的訓練模型就會給出結果。業務要求的最基礎的功能就算實現了。
互聯網産品自動化運維是趨勢,因為互聯網需要快速響應的特性,決定了我們對問題要快速響應、快速修複。人工智能産品也不例外。AI 自動化運維是如何工作的呢?
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!