送上神圖一幅,不僅介紹了一些最常見算法類別,還為每一個類別列出了一些實際的算法并簡單介紹了它們的優(yōu)缺點
目錄
- 正則化算法(Regularization Algorithms)
- 集成算法(Ensemble Algorithms)
- 決策樹算法(Decision Tree Algorithm)
- 回歸(Regression)
- 人工神經(jīng)網(wǎng)絡(Artificial Neural Network)
- 深度學習(Deep Learning)
- 支持向量機(Support Vector Machine)
- 降維算法(Dimensionality Reduction Algorithms)
- 聚類算法(Clustering Algorithms)
- 基于實例的算法(Instance-based Algorithms)
- 貝葉斯算法(Bayesian Algorithms)
- 關聯(lián)規(guī)則學習算法(Association Rule Learning Algorithms)
- 圖模型(Graphical Models)
正則化算法(Regularization Algorithms)
它是回歸方法的拓展崭孤,這種方法會基于模型復雜性對其進行懲罰类嗤,它喜歡相對簡單能夠更好的泛化的模型。
例子:
- 嶺回歸(Ridge Regression)
- 最小絕對收縮與選擇算子(LASSO)
- GLASSO
- 彈性網(wǎng)絡(Elastic Net)
- 最小角回歸(Least-Angle Regression)
優(yōu)點:
- 其懲罰會減少過擬合
- 總會有解決方法
缺點:
- 懲罰會造成欠擬合
- 很難校準
集成算法(Ensemble Algorithms)
集成方法是由多個較弱的模型集成模型組裳瘪,其中的模型可以單獨進行訓練土浸,并且它們的預測能以某種方式結合起來去做出一個總體預測。
該算法主要的問題是要找出哪些較弱的模型可以結合起來彭羹,以及結合的方法黄伊。這是一個非常強大的技術集,因此廣受歡迎派殷。
例子:
- Boosting
- Bootstrapped Aggregation(Bagging)
- AdaBoost
- 層疊泛化(Stacked Generalization)(blending)
- 梯度推進機(Gradient Boosting Machines还最,GBM)
- 梯度提升回歸樹(Gradient Boosted Regression Trees,GBRT)
- 隨機森林(Random Forest)
優(yōu)點:
- 當先最先進的預測幾乎都使用了算法集成毡惜。它比使用單個模型預測出來的結果要精確的多
缺點:
- 需要大量的維護工作
決策樹算法(Decision Tree Algorithm)
決策樹學習使用一個決策樹作為一個預測模型拓轻,它將對一個 item(表征在分支上)觀察所得映射成關于該 item 的目標值的結論(表征在葉子中)。
樹模型中的目標是可變的经伙,可以采一組有限值扶叉,被稱為分類樹;在這些樹結構中帕膜,葉子表示類標簽枣氧,分支表示表征這些類標簽的連接的特征。
例子:
- 分類和回歸樹(Classification and Regression Tree垮刹,CART)
- Iterative Dichotomiser 3(ID3)
- C4.5 和 C5.0(一種強大方法的兩個不同版本)
優(yōu)點:
- 容易解釋
- 非參數(shù)型
缺點:
- 趨向過擬合
- 可能或陷于局部最小值中
- 沒有在線學習
回歸(Regression)算法
回歸是用于估計兩種變量之間關系的統(tǒng)計過程达吞。當用于分析因變量和一個 多個自變量之間的關系時,該算法能提供很多建模和分析多個變量的技巧荒典。具體一點說酪劫,回歸分析可以幫助我們理解當任意一個自變量變化,另一個自變量不變時寺董,因變量變化的典型值覆糟。最常見的是,回歸分析能在給定自變量的條件下估計出因變量的條件期望遮咖。
例子:
- 普通最小二乘回歸(Ordinary Least Squares Regression搪桂,OLSR)
- 線性回歸(Linear Regression)
- 邏輯回歸(Logistic Regression)
- 逐步回歸(Stepwise Regression)
- 多元自適應回歸樣條(Multivariate Adaptive Regression Splines,MARS)
- 本地散點平滑估計(Locally Estimated Scatterplot Smoothing,LOESS)
優(yōu)點:
- 直接踢械、快速
- 知名度高
缺點:
- 要求嚴格的假設
- 需要處理異常值
人工神經(jīng)網(wǎng)絡(Neural networks)
人工神經(jīng)網(wǎng)絡是受生物神經(jīng)網(wǎng)絡啟發(fā)而構建的算法模型酗电。它是一種模式匹配,常被用于回歸和分類問題内列,但擁有龐大的子域撵术,由數(shù)百種算法和各類問題的變體組成。
例子:
- 感知器
- 反向傳播
- Hopfield 網(wǎng)絡
- 徑向基函數(shù)網(wǎng)絡(Radial Basis Function Network话瞧,RBFN)
優(yōu)點:
- 在語音嫩与、語義、視覺交排、各類游戲(如圍棋)的任務中表現(xiàn)極好划滋。
- 算法可以快速調整,適應新的問題埃篓。
缺點:
- 需要大量數(shù)據(jù)進行訓練
- 訓練要求很高的硬件配置
- 模型處于「黑箱狀態(tài)」处坪,難以理解內部機制
- 元參數(shù)(Metaparameter)與網(wǎng)絡拓撲選擇困難。
深度學習(Deep Learning)
深度學習是人工神經(jīng)網(wǎng)絡的最新分支架专,它受益于當代硬件的快速發(fā)展同窘。
眾多研究者目前的方向主要集中于構建更大、更復雜的神經(jīng)網(wǎng)絡部脚,目前有許多方法正在聚焦半監(jiān)督學習問題想邦,其中用于訓練的大數(shù)據(jù)集只包含很少的標記。
例子:
- 深玻耳茲曼機(Deep Boltzmann Machine委刘,DBM)
- Deep Belief Networks(DBN)
- 卷積神經(jīng)網(wǎng)絡(CNN)
- Stacked Auto-Encoders
優(yōu)點/缺點:見神經(jīng)網(wǎng)絡
支持向量機(Support Vector Machines)
給定一組訓練事例丧没,其中每個事例都屬于兩個類別中的一個,支持向量機(SVM)訓練算法可以在被輸入新的事例后將其分類到兩個類別中的一個锡移,使自身成為非概率二進制線性分類器骂铁。
SVM 模型將訓練事例表示為空間中的點,它們被映射到一幅圖中罩抗,由一條明確的、盡可能寬的間隔分開以區(qū)分兩個類別灿椅。隨后套蒂,新的示例會被映射到同一空間中,并基于它們落在間隔的哪一側來預測它屬于的類別茫蛹。
優(yōu)點:
- 在非線性可分問題上表現(xiàn)優(yōu)秀
缺點:
- 非常難以訓練
- 很難解釋
降維算法(Dimensionality Reduction Algorithms)
和集簇方法類似操刀,降維追求并利用數(shù)據(jù)的內在結構,目的在于使用較少的信息總結或描述數(shù)據(jù)婴洼。
這一算法可用于可視化高維數(shù)據(jù)或簡化接下來可用于監(jiān)督學習中的數(shù)據(jù)骨坑。許多這樣的方法可針對分類和回歸的使用進行調整。
例子:
- 主成分分析(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))
優(yōu)點:
- 可處理大規(guī)模數(shù)據(jù)集
- 無需在數(shù)據(jù)上進行假設
缺點:
- 難以搞定非線性數(shù)據(jù)
- 難以理解結果的意義
聚類算法(Clustering Algorithms)
聚類算法是指對一組目標進行分類,屬于同一組(亦即一個類欢唾,cluster)的目標被劃分在一組中且警,與其他組目標相比,同一組目標更加彼此相似(在某種意義上)礁遣。
例子:
- K-均值(k-Means)
- k-Medians 算法
- Expectation Maximi 封層 ation (EM)
- 最大期望算法(EM)
- 分層集群(Hierarchical Clstering)
優(yōu)點:
- 讓數(shù)據(jù)變得有意義
缺點:
- 結果難以解讀斑芜,針對不尋常的數(shù)據(jù)組,結果可能無用
基于實例的算法(Instance-based Algorithms)
基于實例的算法有時也稱為基于記憶的學習祟霍,不是明確歸納杏头,而是將新的問題例子與訓練過程中見過的例子進行對比,這些見過的例子就在存儲器中沸呐。
之所以叫基于實例的算法是因為它直接從訓練實例中建構出假設醇王。這意味這,假設的復雜度能隨著數(shù)據(jù)的增長而變化:最糟的情況是崭添,假設是一個訓練項目列表寓娩,分類一個單獨新實例計算復雜度為 O(n)
例子:
- K 最近鄰(k-Nearest Neighbor (kNN))
- 學習向量量化(Learning Vector Quantization (LVQ))
- 自組織映射(Self-Organizing Map (SOM))
- 局部加權學習(Locally Weighted Learning (LWL))
優(yōu)點:
- 算法簡單、結果易于解讀
缺點:
- 內存使用非常高
- 計算成本高
- 不可能用于高維特征空間
貝葉斯算法(Bayesian Algorithms)
貝葉斯方法是指明確應用了貝葉斯定理來解決如分類和回歸等問題的方法滥朱。
例子:
- 樸素貝葉斯(Naive Bayes)
- 高斯樸素貝葉斯(Gaussian Naive Bayes)
- 多項式樸素貝葉斯(Multinomial Naive Bayes)
- 平均一致依賴估計器(Averaged One-Dependence Estimators (AODE))
- 貝葉斯信念網(wǎng)絡(Bayesian Belief Network (BBN))
- 貝葉斯網(wǎng)絡(Bayesian Network (BN))
優(yōu)點:
- 快速根暑、易于訓練、給出了它們所需的資源能帶來良好的表現(xiàn)
缺點:
- 如果輸入變量是相關的徙邻,則會出現(xiàn)問題
關聯(lián)規(guī)則學習算法(Association Rule Learning Algorithms)
關聯(lián)規(guī)則學習方法能夠提取出對數(shù)據(jù)中的變量之間的關系的最佳解釋排嫌。比如說一家超市的銷售數(shù)據(jù)中存在規(guī)則 {洋蔥,土豆}=> {漢堡}缰犁,那說明當一位客戶同時購買了洋蔥和土豆的時候淳地,他很有可能還會購買漢堡肉。
例子:
- Apriori 算法(Apriori algorithm)
- Eclat 算法(Eclat algorithm)
- FP-growth
圖模型(Graphical Models)
圖模型或概率圖模型(PGM/probabilistic graphical model)是一種概率模型帅容,一個圖(graph)可以通過其表示隨機變量之間的條件依賴結構(conditional dependence structure)颇象。
例子:
- 貝葉斯網(wǎng)絡(Bayesian network)
- 馬爾可夫隨機域(Markov random field)
- 鏈圖(Chain Graphs)
- 祖先圖(Ancestral graph)
優(yōu)點:
- 模型清晰,能被直觀地理解
缺點:
- 確定其依賴的拓撲很困難并徘,有時候也很模糊