流行的機器學習算法概述

maysut 8年前發布 | 45K 次閱讀 數據挖掘 算法

來自: http://blog.csdn.net/luopingfeng/article/details/50700788

本文我們會概述一些流行的機器學習算法。

機器學習算法很多,并且它們自身又有很多延伸。因此,如何確定解決一個問題的最好算法是很困難的。

下面我們先說基于學習方式對算法的分類和算法之間的相似性,讓大家有個整體意識;接著再陳述各類算法。

一、基于學習方式對算法的分類

根據如何處理經驗、環境或者任何我們稱之為輸入的數據,算法分為不同種類。機器學習和人工智能課本通常先考慮算法可以適應的學習方式。

這里只討論幾個主要的學習風格或學習模型,并且有幾個基本的例子。這種分類或者組織的方法很好,因為它迫使你去思考輸入數據的角色和模型準備的過程,然后選擇一個最適合你的問題的算法,從而得到最佳的結果。

  • 監督學習: 輸入數據被稱為訓練數據,并且有已知的結果或被標記。比如說一封郵件是否是垃圾郵件,或者說一段時間內的股價。模型做出預測,如果錯了就會被修正,這個過程一直持續到對于訓練數據它能夠達到一定的正確標準。問題例子包括分類和回歸問題,算法例子包括邏輯回歸和反向神經網絡。
  • 無監督學習: 輸入數據沒有被標記,也沒有確定的結果。模型對數據的結構和數值進行歸納。問題例子包括Association rule learning和聚類問題,算法例子包括 Apriori 算法和K-均值算法。
  • 半監督學習: 輸入數據是被標記的和不被標記的數據的混合,有一些預測問題但是模型也必須學習數據的結構和組成。問題例子包括分類和回歸問題,算法例子基本上是無監督學習算法的延伸。
  • 增強學習: 輸入數據可以刺激模型并且使模型做出反應。反饋不僅從監督學習的學習過程中得到,還從環境中的獎勵或懲罰中得到。問題例子是機器人控制,算法例子包括Q-learning以及Temporal difference learning。

當整合數據模擬商業決策時,大多數會用到監督學習和無監督學習的方法。當下一個熱門話題是半監督學習,比如圖像分類問題,這中問題中有一個大的數據庫,但是只有一小部分圖片做了標記。增強學習多半還是用在機器人控制和其他控制系統的開發上。

二、機器學習算法的相似性

算法基本上從功能或者形式上來分類。比如,基于樹的算法,神經網絡算法。這是一個很有用的分類方式,但并不完美。因為有許多算法可以輕易地被分到兩類中去,比如說Learning Vector Quantization就同時是神經網絡類的算法和基于實例的方法。正如機器學習算法本身沒有完美的模型一樣,算法的分類方法也沒有完美的。

三、各類流行的機器學習算法

Regression

Regression(回歸分析)關心的是變量之間的關系。它應用的是統計方法,幾個算法的例子包括:

  • Ordinary Least Squares
  • Logistic Regression
  • Stepwise Regression
  • Multivariate Adaptive Regression Splines (MARS)
  • Locally Estimated Scatterplot Smoothing (LOESS)

Instance-based Methods

Instance based learning(基于實例的學習)模擬了一個決策問題,所使用的實例或者例子是對模型非常重要的。這種方法對現有數據建立一個數據庫然后把新數據加進去,再用一個相似性測量方法從而在數據庫里找出一個最優匹配,進行一個預測。由于這個原因,這種方法也被稱為勝者為王方法和基于內存的方法。現在關注的焦點在存儲數據的表現形式和相似性測量方法。

  • k-Nearest Neighbour (kNN)
  • Learning Vector Quantization (LVQ)
  • Self-Organizing Map (SOM)

Regularization Methods

這是一個對其他方法的延伸(通常是回歸方法),這個延伸對越簡單的模型越有利,并且更擅長歸納。我在這里列出它是因為它的流行和強大。

  • Ridge Regression
  • Least Absolute Shrinkage and Selection Operator (LASSO)
  • Elastic Net

Decision Tree Learning

Decision tree methods(決策樹方法)建立了一個根據數據中實際值決策的模型。決策樹用來解決歸納和回歸問題。

  • Classification and Regression Tree (CART)
  • Iterative Dichotomiser 3 (ID3)
  • C4.5
  • Chi-squared Automatic Interaction Detection (CHAID)
  • Decision Stump
  • Random Forest
  • Multivariate Adaptive Regression Splines (MARS)
  • Gradient Boosting Machines (GBM)

Bayesian

Bayesian method(貝葉斯方法)是在解決歸類和回歸問題中應用了貝葉斯定理的方法。

  • Naive Bayes
  • Averaged One-Dependence Estimators (AODE)
  • Bayesian Belief Network (BBN)

Kernel Methods

Kernel Method(核方法)中最有名的是Support Vector Machines(支持向量機)。這種方法把輸入數據映射到更高維度上,是的一些歸類和回歸問題更容易建模。

  • Support Vector Machines (SVM)
  • Radial Basis Function (RBF)
  • Linear Discriminate Analysis (LDA)

Clustering Methods

Clustering(聚類),本身就形容了問題和方法。聚類方法通常是由建模方式分類的。所有的聚類方法都是用統一的數據結構來組織數據,使得每組內有最多的共同點。

  • K-Means
  • Expectation Maximisation (EM)

Association Rule Learning

Association rule learning(聯合規則學習)是用來對數據間提取規律的方法,通過這些規律可以發現巨量多維空間數據之間的聯系,而這些重要的聯系可以被組織拿來使用。

  • Apriori algorithm
  • Eclat algorithm

Artificial Neural Networks

Artificial Neural Networks(人工神經網絡)是從生物神經網絡的結構和功能得到啟發的。它屬于模式匹配一類,經常被用于回歸和分類問題,但是它存在上百個算法和變種組成。其中有一些是經典流行的算法(我把深度學習拿出來單獨講):

  • Perceptron
  • Back-Propagation
  • Hopfield Network
  • Self-Organizing Map (SOM)
  • Learning Vector Quantization (LVQ)

Deep Learning

Deep Learning(深度學習)方法是人工神經網絡的一種現代的更新。相比傳統的神經網絡,它有更多更復雜的網絡構成,許多方法都是關心半監督學習,這種學習的問題中有很大的數據,但是其中很少是被標記的數據。

  • Restricted Boltzmann Machine (RBM)
  • Deep Belief Networks (DBN)
  • Convolutional Network
  • Stacked Auto-encoders

Dimensionality Reduction

Dimensionality Reduction(維度縮減),像聚類方法一樣,追求和利用數據中的統一的結構,但是它用更少的信息來對數據做歸納和形容。這對于對數據進行可視化或者簡化數據很有用。

  • Principal Component Analysis (PCA)
  • Partial Least Squares Regression (PLS)
  • Sammon Mapping
  • Multidimensional Scaling (MDS)
  • Projection Pursuit

Ensemble Methods

Ensemble methods(組合方法)由許多小的模型組成,這些模型經過獨立訓練,做出獨立的結論,最后組成一個總的預測。很多研究集中在使用什么模型以及這些模型怎么被組合起來。這是一個非常強大且流行的技術。

  • Boosting
  • Bootstrapped Aggregation (Bagging)
  • AdaBoost
  • Stacked Generalization (blending)
  • Gradient Boosting Machines (GBM)
  • Random Forest

這是一個用組合方法進行擬合的例子(來自維基),每個消防法用灰色表示,最后合成的最終預測是紅色的。

 本文由用戶 maysut 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!