機(jī)器學(xué)習(xí)算法分類
機(jī)器學(xué)習(xí)起源于人工智能,可以賦予計算機(jī)以傳統(tǒng)編程所無法實現(xiàn)的能力,比如飛行器的自動駕駛、人臉識別、計算機(jī)視覺和數(shù)據(jù)挖掘等。
機(jī)器學(xué)習(xí)的算法很多。很多時候困惑人們的是,很多算法是一類算法,而有些算法又是從其他算法中延伸出來的。這里,我們從兩個方面來給大家介紹,第一個方面是學(xué)習(xí)的方式,第二個方面是算法的類似性。
學(xué)習(xí)方式將算法按照學(xué)習(xí)方式分類可以讓人們在建模和算法選擇的時候考慮能根據(jù)輸入數(shù)據(jù)來選擇最合適的算法來獲得最好的結(jié)果。
監(jiān)督學(xué)習(xí)
在監(jiān)督學(xué)習(xí)中,輸入數(shù)據(jù)被稱為“訓(xùn)練數(shù)據(jù)”,每組訓(xùn)練數(shù)據(jù)有一個明確的類標(biāo)。在建立預(yù)測模型的時候,監(jiān)督學(xué)習(xí)建立一個學(xué)習(xí)過程,將預(yù)測結(jié)果與“訓(xùn)練數(shù)據(jù)”的實際結(jié)果進(jìn)行比較,不斷的調(diào)整預(yù)測模型,直到模型的預(yù)測結(jié)果達(dá)到一個預(yù)期的準(zhǔn)確率。
監(jiān)督式學(xué)習(xí)的常見應(yīng)用場景如分類問題和回歸問題。常見算法有Linear Regression,LogisTIc Regression,Neural Network,SVMs。
非監(jiān)督學(xué)習(xí)
在非監(jiān)督學(xué)習(xí)中,數(shù)據(jù)并未被特別標(biāo)識,學(xué)習(xí)模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。
常見的應(yīng)用場景包括關(guān)聯(lián)規(guī)則的學(xué)習(xí)以及聚類等。常見算法包括K-means Clustering ,Principal Component Analysis和Anomaly DetecTIon。
半監(jiān)督學(xué)習(xí)
在此學(xué)習(xí)方式下,輸入數(shù)據(jù)部分被標(biāo)識,部分沒有被標(biāo)識,這種學(xué)習(xí)模型可以用來進(jìn)行預(yù)測,但是模型首先需要學(xué)習(xí)數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理的組織數(shù)據(jù)來進(jìn)行預(yù)測。應(yīng)用場景包括分類和回歸,算法包括一些對常用監(jiān)督式學(xué)習(xí)算法的延伸,這些算法首先試圖對未標(biāo)識數(shù)據(jù)進(jìn)行建模,在此基礎(chǔ)上再對標(biāo)識的數(shù)據(jù)進(jìn)行預(yù)測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(jī)(Laplacian SVM.)等。
強(qiáng)化學(xué)習(xí)
在強(qiáng)化學(xué)習(xí)(Reinforcement Learning)中,輸入數(shù)據(jù)作為對模型的反饋,不像監(jiān)督模型那樣,輸入數(shù)據(jù)僅僅是作為一個檢查模型對錯的方式。在強(qiáng)化學(xué)習(xí)中,輸入數(shù)據(jù)直接反饋到模型,模型必須對此立刻作出調(diào)整。常見的應(yīng)用場景包括動態(tài)系統(tǒng)以及機(jī)器人控制等。常見算法包括Q-Learning以及時間差學(xué)習(xí)(Temporal difference learning)。
在企業(yè)數(shù)據(jù)應(yīng)用的場景下, 人們最常用的可能就是監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)的模型。 在圖像識別等領(lǐng)域,由于存在大量的非標(biāo)識的數(shù)據(jù)和少量的可標(biāo)識數(shù)據(jù), 目前半監(jiān)督式學(xué)習(xí)是一個很熱的話題。 而強(qiáng)化學(xué)習(xí)更多的應(yīng)用在機(jī)器人控制及其他需要進(jìn)行系統(tǒng)控制的領(lǐng)域。
算法類似性 回歸算法
回歸算法是試圖采用對誤差的衡量來探索變量之間的關(guān)系的一類算法?;貧w算法是統(tǒng)計機(jī)器學(xué)習(xí)的利器。在機(jī)器學(xué)習(xí)領(lǐng)域,人們說起回歸,有時候是指一類問題,有時候是指一類算法,這一點常常會使初學(xué)者有所困惑。常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(LogisTIc Regression),逐步式回歸(Stepwise Regression),多元自適應(yīng)回歸樣條(MulTIvariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)。
基于核的算法
基于核的算法中最著名的莫過于支持向量機(jī)(SVM)了。 基于核的算法把輸入數(shù)據(jù)映射到一個高階的向量空間, 在這些高階向量空間里, 有些分類或者回歸問題能夠更容易的解決。 常見的基于核的算法包括:支持向量機(jī)(Support Vector Machine, SVM), 徑向基函數(shù)(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等。
聚類算法
聚類,就像回歸一樣,有時候人們描述的是一類問題,有時候描述的是一類算法。聚類算法通常按照中心點或者分層的方式對輸入數(shù)據(jù)進(jìn)行歸并。所以的聚類算法都試圖找到數(shù)據(jù)的內(nèi)在結(jié)構(gòu),以便按照最大的共同點將數(shù)據(jù)進(jìn)行歸類。常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。
降維算法
像聚類算法一樣,降低維度算法試圖分析數(shù)據(jù)的內(nèi)在結(jié)構(gòu),不過降低維度算法是以非監(jiān)督學(xué)習(xí)的方式試圖利用較少的信息來歸納或者解釋數(shù)據(jù)。這類算法可以用于高維數(shù)據(jù)的可視化或者用來簡化數(shù)據(jù)以便監(jiān)督式學(xué)習(xí)使用。常見的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回歸(Partial Least Square Regression,PLS)。
集成學(xué)習(xí)算法
集成算法用一些相對較弱的學(xué)習(xí)模型獨立地就同樣的樣本進(jìn)行訓(xùn)練,然后把結(jié)果整合起來進(jìn)行整體預(yù)測。集成算法的主要難點在于究竟集成哪些獨立的較弱的學(xué)習(xí)模型以及如何把學(xué)習(xí)結(jié)果整合起來。這是一類非常強(qiáng)大的算法,同時也非常流行。常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,隨機(jī)森林(Random Forest)等。(競賽中多用到該類算法,效果較好)
基于實例的算法
基于實例的算法常常用來對決策問題建立模型,這樣的模型常常先選取一批樣本數(shù)據(jù),然后根據(jù)某些近似性把新數(shù)據(jù)與樣本數(shù)據(jù)進(jìn)行比較。通過這種方式來尋找最佳的匹配。因此,基于實例的算法常常也被稱為“贏家通吃”學(xué)習(xí)或者“基于記憶的學(xué)習(xí)”。常見的算法包括 k-Nearest Neighbor(KNN), 學(xué)習(xí)矢量量化(Learning Vector Quantization, LVQ),以及自組織映射算法(Self-Organizing Map , SOM)。
決策樹學(xué)習(xí)
決策樹算法根據(jù)數(shù)據(jù)的屬性采用樹狀結(jié)構(gòu)建立決策模型, 決策樹模型常常用來解決分類和回歸問題。常見的算法包括:分類及回歸樹(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, 隨機(jī)森林(Random Forest)等。
貝葉斯方法
貝葉斯方法算法是基于貝葉斯定理的一類算法,主要用來解決分類和回歸問題。常見算法包括:樸素貝葉斯算法,以及Bayesian Belief Network(BBN)。
人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)算法模擬生物神經(jīng)網(wǎng)絡(luò),是一類模式匹配算法。通常用于解決分類和回歸問題。它是機(jī)器學(xué)習(xí)的一個龐大的分支。重要的人工神經(jīng)網(wǎng)絡(luò)算法包括:感知器神經(jīng)網(wǎng)絡(luò)(Perceptron Neural Network), 反向傳遞(Back Propagation), Hopfield網(wǎng)絡(luò),自組織映射(Self-Organizing Map, SOM)。(現(xiàn)在的深度學(xué)習(xí)就是由人工神經(jīng)網(wǎng)絡(luò)發(fā)展而來)
深度學(xué)習(xí)常見的深度學(xué)習(xí)算法包括:受限波爾茲曼機(jī)(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網(wǎng)絡(luò)(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders)。(發(fā)展至目前,最成功的當(dāng)屬CNN和LSTM。)