機(jī)器學(xué)習(xí)算法都有哪一些
掃描二維碼
隨時(shí)隨地手機(jī)看文章
機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)(Machine Learning, ML)是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計(jì)學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門學(xué)科。專門研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改善自身的性能。
嚴(yán)格的定義:機(jī)器學(xué)習(xí)是一門研究機(jī)器獲取新知識(shí)和新技能,并識(shí)別現(xiàn)有知識(shí)的學(xué)問。這里所說的“機(jī)器”,指的就是計(jì)算機(jī),電子計(jì)算機(jī),中子計(jì)算機(jī)、光子計(jì)算機(jī)或神經(jīng)計(jì)算機(jī)等等。
機(jī)器學(xué)習(xí)概論
機(jī)器學(xué)習(xí)分為四大塊: classification (分類), clustering (聚類), regression (回歸), dimensionality reducTIon (降維)。
classificaTIon & regression
舉一個(gè)簡(jiǎn)單的例子:
給定一個(gè)樣本特征 x, 我們希望預(yù)測(cè)其對(duì)應(yīng)的屬性值 y, 如果 y 是離散的, 那么這就是一個(gè)分類問題,反之,如果 y 是連續(xù)的實(shí)數(shù), 這就是一個(gè)回歸問題。
如果給定一組樣本特征 S={x∈RD}, 我們沒有對(duì)應(yīng)的 y, 而是想發(fā)掘這組樣本在 D 維空間的分布, 比如分析哪些樣本靠的更近,哪些樣本之間離得很遠(yuǎn), 這就是屬于聚類問題。
如果我們想用維數(shù)更低的子空間來表示原來高維的特征空間, 那么這就是降維問題。
無論是分類還是回歸,都是想建立一個(gè)預(yù)測(cè)模型 H,給定一個(gè)輸入 x, 可以得到一個(gè)輸出 y:
y=H(x)
不同的只是在分類問題中, y 是離散的; 而在回歸問題中 y 是連續(xù)的。所以總得來說,兩種問題的學(xué)習(xí)算法都很類似。所以在這個(gè)圖譜上,我們看到在分類問題中用到的學(xué)習(xí)算法,在回歸問題中也能使用。分類問題最常用的學(xué)習(xí)算法包括 SVM (支持向量機(jī)) , SGD (隨機(jī)梯度下降算法), Bayes (貝葉斯估計(jì)), Ensemble, KNN 等。而回歸問題也能使用 SVR, SGD, Ensemble 等算法,以及其它線性回歸算法。
clustering
聚類也是分析樣本的屬性, 有點(diǎn)類似classificaTIon, 不同的就是classificaTIon 在預(yù)測(cè)之前是知道 y 的范圍, 或者說知道到底有幾個(gè)類別, 而聚類是不知道屬性的范圍的。所以 classification 也常常被稱為 supervised learning, 而clustering就被稱為 unsupervised learning。
clustering 事先不知道樣本的屬性范圍,只能憑借樣本在特征空間的分布來分析樣本的屬性。這種問題一般更復(fù)雜。而常用的算法包括 k-means (K-均值), GMM (高斯混合模型) 等。
dimensionality reduction
降維是機(jī)器學(xué)習(xí)另一個(gè)重要的領(lǐng)域, 降維有很多重要的應(yīng)用, 特征的維數(shù)過高, 會(huì)增加訓(xùn)練的負(fù)擔(dān)與存儲(chǔ)空間, 降維就是希望去除特征的冗余, 用更加少的維數(shù)來表示特征。 降維算法最基礎(chǔ)的就是PCA了, 后面的很多算法都是以PCA為基礎(chǔ)演化而來。
機(jī)器 學(xué)習(xí)常見算法
機(jī)器學(xué)習(xí)領(lǐng)域涉及到很多的算法和模型,這里遴選一些常見的算法:
正則化算法(Regularization Algorithms)
集成算法(Ensemble Algorithms)
決策樹算法(Decision Tree Algorithm)
回歸(Regression)
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)
深度學(xué)習(xí)(Deep Learning)
支持向量機(jī)(Support Vector Machine)
降維算法(Dimensionality Reduction Algorithms)
聚類算法(Clustering Algorithms)
基于實(shí)例的算法(Instance-based Algorithms)
貝葉斯算法(Bayesian Algorithms)
關(guān)聯(lián)規(guī)則學(xué)習(xí)算法(Association Rule Learning Algorithms)
圖模型(Graphical Models)
正則化算法(Regularization Algorithms)
正則化算法是另一種方法(通常是回歸方法)的拓展,這種方法會(huì)基于模型復(fù)雜性對(duì)其進(jìn)行懲罰,它喜歡相對(duì)簡(jiǎn)單能夠更好的泛化的模型。
正則化中我們將保留所有的特征變量,但是會(huì)減小特征變量的數(shù)量級(jí)(參數(shù)數(shù)值的大小θ(j))。這個(gè)方法非常有效,當(dāng)我們有很多特征變量時(shí),其中每一個(gè)變量都能對(duì)預(yù)測(cè)產(chǎn)生一點(diǎn)影響。
算法實(shí)例:
- 嶺回歸(Ridge Regression)
- 最小絕對(duì)收縮與選擇算子(LASSO)
- GLASSO
- 彈性網(wǎng)絡(luò)(Elastic Net)
- 最小角回歸(Least-Angle Regression)
集成算法(Ensemble algorithms)
集成方法是由多個(gè)較弱的模型集成模型組,其中的模型可以單獨(dú)進(jìn)行訓(xùn)練,并且它們的預(yù)測(cè)能以某種方式結(jié)合起來去做出一個(gè)總體預(yù)測(cè)。這類算法又稱元算法(meta-algorithm)。最常見的集成思想有兩種bagging和boosting。
boosting
基于錯(cuò)誤提升分類器性能,通過集中關(guān)注被已有分類器分類錯(cuò)誤的樣本,構(gòu)建新分類器并集成。
bagging
基于數(shù)據(jù)隨機(jī)重抽樣的分類器構(gòu)建方法。
算法實(shí)例:
Boosting
Bootstrapped Aggregation(Bagging)
AdaBoost
層疊泛化(Stacked Generalization)(blending)
梯度推進(jìn)機(jī)(Gradient Boosting Machines,GBM)
梯度提升回歸樹(Gradient Boosted Regression Trees,GBRT)
隨機(jī)森林(Random Forest)
總結(jié):當(dāng)先最先進(jìn)的預(yù)測(cè)幾乎都使用了算法集成。它比使用單個(gè)模型預(yù)測(cè)出來的結(jié)果要精確的多。但是該算法需要大量的維護(hù)工作。
決策樹算法(Decision Tree Algorithm)
決策樹學(xué)習(xí)使用一個(gè)決策樹作為一個(gè)預(yù)測(cè)模型,它將對(duì)一個(gè) item(表征在分支上)觀察所得映射成關(guān)于該 item 的目標(biāo)值的結(jié)論(表征在葉子中)。
決策樹通過把實(shí)例從艮節(jié)點(diǎn)排列到某個(gè)葉子結(jié)點(diǎn)來分類實(shí)例,葉子結(jié)點(diǎn)即為實(shí)例所屬的分類。樹上的每一個(gè)結(jié)點(diǎn)指定了對(duì)實(shí)例的某個(gè)屬性的測(cè)試,并且該結(jié)點(diǎn)的每一個(gè)后繼分支對(duì)應(yīng)于該屬性的一個(gè)可能值。分類實(shí)例的方法是從這棵樹的根節(jié)點(diǎn)開始,測(cè)試這個(gè)結(jié)點(diǎn)的屬性,然后按照給定實(shí)例的屬性值對(duì)應(yīng)的樹枝向下移動(dòng)。然后這個(gè)過程在以新結(jié)點(diǎn)的根的子樹上重復(fù)。
算法實(shí)例:
- 分類和回歸樹(Classification and Regression Tree,CART)
- Iterative Dichotomiser 3(ID3)
- C4.5 和 C5.0(一種強(qiáng)大方法的兩個(gè)不同版本)
回歸(Regression)算法
回歸是用于估計(jì)兩種變量之間關(guān)系的統(tǒng)計(jì)過程。當(dāng)用于分析因變量和一個(gè) 多個(gè)自變量之間的關(guān)系時(shí),該算法能提供很多建模和分析多個(gè)變量的技巧。具體一點(diǎn)說,回歸分析可以幫助我們理解當(dāng)任意一個(gè)自變量變化,另一個(gè)自變量不變時(shí),因變量變化的典型值。最常見的是,回歸分析能在給定自變量的條件下估計(jì)出因變量的條件期望。
算法實(shí)例:
普通最小二乘回歸(Ordinary Least Squares Regression,OLSR)
線性回歸(Linear Regression)
邏輯回歸(Logistic Regression)
逐步回歸(Stepwise Regression)
多元自適應(yīng)回歸樣條(Multivariate Adaptive Regression Splines,MARS)
本地散點(diǎn)平滑估計(jì)(Locally Estimated Scatterplot Smoothing,LOESS)
人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)是受生物神經(jīng)網(wǎng)絡(luò)啟發(fā)而構(gòu)建的算法模型。它是一種模式匹配,常被用于回歸和分類問題,但擁有龐大的子域,由數(shù)百種算法和各類問題的變體組成。
人工神經(jīng)網(wǎng)絡(luò)(ANN)提供了一種普遍而且實(shí)際的方法從樣例中學(xué)習(xí)值為實(shí)數(shù)、離散值或向量函數(shù)。人工神經(jīng)網(wǎng)絡(luò)由一系列簡(jiǎn)單的單元相互連接構(gòu)成,其中每個(gè)單元有一定數(shù)量的實(shí)值輸入,并產(chǎn)生單一的實(shí)值輸出。
算法實(shí)例:
感知器
反向傳播
Hopfield 網(wǎng)絡(luò)
徑向基函數(shù)網(wǎng)絡(luò)(Radial Basis Function Network,RBFN)
深度學(xué)習(xí)(Deep Learning)
深度學(xué)習(xí)是人工神經(jīng)網(wǎng)絡(luò)的最新分支,它受益于當(dāng)代硬件的快速發(fā)展。
眾多研究者目前的方向主要集中于構(gòu)建更大、更復(fù)雜的神經(jīng)網(wǎng)絡(luò),目前有許多方法正在聚焦半監(jiān)督學(xué)習(xí)問題,其中用于訓(xùn)練的大數(shù)據(jù)集只包含很少的標(biāo)記。
算法實(shí)例:
深玻耳茲曼機(jī)(Deep Boltzmann Machine,DBM)
Deep Belief Networks(DBN)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)
Stacked Auto-Encoders
支持向量機(jī)(Support Vector Machines)
支持向量機(jī)是一種監(jiān)督式學(xué)習(xí) (Supervised Learning)的方法,主要用在統(tǒng)計(jì)分類 (Classification)問題和回歸分析 (Regression)問題上。支持向量機(jī)屬于一般化線性分類器,也可以被認(rèn)為是提克洛夫規(guī)范化(Tikhonov Regularization)方法的一個(gè)特例。這族分類器的特點(diǎn)是他們能夠同時(shí)最小化經(jīng)驗(yàn)誤差與最大化幾何邊緣區(qū),因此支持向量機(jī)也被稱為最大邊緣區(qū)分類器?,F(xiàn)在多簡(jiǎn)稱為SVM。
給定一組訓(xùn)練事例,其中每個(gè)事例都屬于兩個(gè)類別中的一個(gè),支持向量機(jī)(SVM)訓(xùn)練算法可以在被輸入新的事例后將其分類到兩個(gè)類別中的一個(gè),使自身成為非概率二進(jìn)制線性分類器。
SVM 模型將訓(xùn)練事例表示為空間中的點(diǎn),它們被映射到一幅圖中,由一條明確的、盡可能寬的間隔分開以區(qū)分兩個(gè)類別。
降維算法(Dimensionality Reduction Algorithms)
所謂的降維就是指采用某種映射方法,將原高維空間中的數(shù)據(jù)點(diǎn)映射到低維度的空間中。降維的本質(zhì)是學(xué)習(xí)一個(gè)映射函數(shù) f : x-》y,其中x是原始數(shù)據(jù)點(diǎn)的表達(dá),目前最多使用向量表達(dá)形式。 y是數(shù)據(jù)點(diǎn)映射后的低維向量表達(dá),通常y的維度小于x的維度(當(dāng)然提高維度也是可以的)。f可能是顯式的或隱式的、線性的或非線性的。
這一算法可用于可視化高維數(shù)據(jù)或簡(jiǎn)化接下來可用于監(jiān)督學(xué)習(xí)中的數(shù)據(jù)。許多這樣的方法可針對(duì)分類和回歸的使用進(jìn)行調(diào)整。
算法實(shí)例:
主成分分析(Principal Component Analysis (PCA))
主成分回歸(Principal Component Regression (PCR))
偏最小二乘回歸(Partial Least Squares Regression (PLSR))
Sammon 映射(Sammon Mapping)
多維尺度變換(Multidimensional Scaling (MDS))
投影尋蹤(Projection Pursuit)
線性判別分析(Linear Discriminant Analysis (LDA))
混合判別分析(Mixture Discriminant Analysis (MDA))
二次判別分析(Quadratic Discriminant Analysis (QDA))
靈活判別分析(Flexible Discriminant Analysis (FDA))
聚類算法(Clustering Algorithms)
聚類算法是指對(duì)一組目標(biāo)進(jìn)行分類,屬于同一組(亦即一個(gè)類,cluster)的目標(biāo)被劃分在一組中,與其他組目標(biāo)相比,同一組目標(biāo)更加彼此相似。
優(yōu)點(diǎn)是讓數(shù)據(jù)變得有意義,缺點(diǎn)是結(jié)果難以解讀,針對(duì)不同的數(shù)據(jù)組,結(jié)果可能無用。
算法實(shí)例:
K-均值(k-Means)
k-Medians 算法
Expectation Maximi 封層 ation (EM)
最大期望算法(EM)
分層集群(Hierarchical Clstering)
貝葉斯算法(Bayesian Algorithms)
貝葉斯定理(英語:Bayes’ theorem)是概率論中的一個(gè)定理,它跟隨機(jī)變量的條件概率以及邊緣概率分布有關(guān)。在有些關(guān)于概率的解說中,貝葉斯定理(貝葉斯更新)能夠告知我們?nèi)绾卫眯伦C據(jù)修改已有的看法。貝葉斯方法是指明確應(yīng)用了貝葉斯定理來解決如分類和回歸等問題的方法。
算法實(shí)例:
樸素貝葉斯(Naive Bayes)
高斯樸素貝葉斯(Gaussian Naive Bayes)
多項(xiàng)式樸素貝葉斯(Multinomial Naive Bayes)
平均一致依賴估計(jì)器(Averaged One-Dependence Estimators (AODE))
貝葉斯信念網(wǎng)絡(luò)(Bayesian Belief Network (BBN))
貝葉斯網(wǎng)絡(luò)(Bayesian Network (BN))
關(guān)聯(lián)規(guī)則學(xué)習(xí)算法(Association Rule Learning Algorithms)
關(guān)聯(lián)規(guī)則學(xué)習(xí)方法能夠提取出對(duì)數(shù)據(jù)中的變量之間的關(guān)系的最佳解釋。比如說一家超市的銷售數(shù)據(jù)中存在規(guī)則 {洋蔥,土豆}=》 {漢堡},那說明當(dāng)一位客戶同時(shí)購買了洋蔥和土豆的時(shí)候,他很有可能還會(huì)購買漢堡肉。有點(diǎn)類似于聯(lián)想算法。
算法實(shí)例:
Apriori 算法(Apriori algorithm)
Eclat 算法(Eclat algorithm)
FP-growth
圖模型(Graphical Models)
圖模型(GraphicalModels)在概率論與圖論之間建立起了聯(lián)姻關(guān)系。它提供了一種自然工具來處理應(yīng)用數(shù)學(xué)與工程中的兩類問題——不確定性(Uncertainty)和復(fù)雜性(Complexity)問 題,特別是在機(jī)器學(xué)習(xí)算法的分析與設(shè)計(jì)中扮演著重要角色。圖模型的基本理念是模塊化的思想,復(fù)雜系統(tǒng)是通過組合簡(jiǎn)單系統(tǒng)建構(gòu)的。概率論提供了一種粘合劑使 系統(tǒng)的各個(gè)部分組合在一起,確保系統(tǒng)作為整體的持續(xù)一致性,提供了多種數(shù)據(jù)接口模型方法。
圖模型或概率圖模型(PGM/probabilistic graphical model)是一種概率模型,一個(gè)圖(graph)可以通過其表示隨機(jī)變量之間的條件依賴結(jié)構(gòu)(conditional dependence structure)。
算法實(shí)例:
貝葉斯網(wǎng)絡(luò)(Bayesian network)
馬爾可夫隨機(jī)域(Markov random field)
鏈圖(Chain Graphs)
祖先圖(Ancestral graph)