首页 > 代码库 > 机器学习流行算法一览

机器学习流行算法一览

  这篇文章介绍几个最流行的机器学习算法。现在有很多机器学习算法,困难的是进行方法归类,这里我们介绍两种方法进行思考和分类这些算法。第一组算法是学习风格,第二组是在形式和功能上类似。

 

学习风格

  一个算法基于问题建模有不同的方法,无论这个问题是基于经验或环境的交互,或者是基于我们需要输入的数据,学习风格是机器学习首先必须考虑的问题。

  下面我们看看一些算法的主要学习风格或者称为学习模型。

  • Supervised Learning有监督式学习: 输入的数据被称为训练数据,一个模型需要通过一个训练过程,在这个过程中进行预期判断,如果错误了再进行修正,训练过程一直持续到基于训练数据达到预期的精确性。其关键方法是分类和回归,算法是逻辑回归和BP神经网络

  • Unsupervised Learning无监督学习: 没有任何训练数据,基于没有标记的输入数据采取推导结构的模型,其关键方式是关联规则学习和聚合,算法有Apriori 算法和k-means.

  • Semi-Supervised Learning半监督式学习: 输入数据是标记和非标记的混合案例,模型必须学习其中结构然后按照预期组织数据,其关键方法是分类和回归。

  • 强化学习:模型必须能从一个环境刺激中进行应对和反应。反馈不会作为一个教学过程的形式,但是可以环境的奖惩。其关键方法是系统和机器人控制。算法有Q-learning和Temporal difference learning。

  当为了商业决策建模而处理数据时,你通常使用监督和无监督学习方法。目前的一个热点话题是图像分类等领域的半监督学习,很少有标记的例子大型数据集的方法。强化学习是更容易在机器人控制与其他控制系统等领域有应用。

 

相似度算法

  算法通常在功能或形式上呈现一定相似度。例如,基于树的方法和神经网络方法的启发。这是一个有用的分组方法,但它是不完美的。仍然有一些算法容易地融入多个类别,如学习矢量量化Learning Vector Quantization,它既是一个神经网络的启发方法又是一个基于实例的方法的算法。

  也有一些描述问题域和算法类别上有相同名称的算法,如回归分析和聚合。因此,像机器学习算法本身一样,没有完美的模型,只有适合的模型。

下面我们陈列出一些流行的机器学习算法。

 

Regression回归

  回归是关注变量之间关系的建模,利用模型预测误差测量进行反复提炼。回归方法是统计工作,已纳入统计机器学习。这可能是令人困惑,因为我们可以用回归来引用各类的问题及各类算法。回归其实是一个过程。一些示例算法是:

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

 

基于实例的方法

  基于实例的学习模型是使用那些对于模型很重要训练数据,这类方法通常使用基于示例数据的数据库,用新数据和数据库数据以一种相似度方式从中找到最佳匹配,从而作出预测。出于这个原因,基于实例的方法也被称为赢家通吃所有的方法和基于记忆的学习。重点放在存储实例之间的相似性度量表现上。

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

 

Regularization 方法

  基于方法的扩展 (典型是基于regression回归方法) 可能比较复杂,越简单可能会利于推广,下面列出的Regularization方法是因为它们比较流行 强大简单。

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

 

决策(Decision)树学习

  决策树方法是建立一种基于数据的实际属性值的决策模型。决策使用树型结构直至基于一个给定记录的预测决策得到。决策树的训练是在分类和回归两方面的数据上进行的。

  • 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贝叶斯

贝叶斯方法是明确使用贝叶斯定理进行分类和回归:

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

 

Kernel Methods内核方法

Kernel Methods最有名的流行的支持向量机的方法, Kernel Methods更关注将数据映射到高维空间向量,在那里可以进行一些分类或回归问题的建模。

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

 

聚集Clustering方法

  Clustering聚集方法, 类似回归,是属于描述问题和方法的类别,聚集方法通常被建模于质心centroid-based和层次组织。所有的方法都是有关使用数据中固有的结构以便更好将数据组织为存在最大共性的分组。

  • k-Means
  • Expectation Maximisation (EM)

 

关联规则学习

  关联规则的学习方法是提取那些能解释观察到的变量之间的数据关系的规则。这些规则可以用于在大型多维数据集里发现重要的和商业上对某个组织或公司有用的的关联。

  • Apriori algorithm
  • Eclat algorithm

 

人工神经网络

  人工神经网络模型的灵感来自于生物神经网络的结构和功能。他们是一类的模式匹配,常用于回归和分类问题,因为各种各样的问题类型有数百种分支的算法。一些经典的流行的方法:

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

 

深度学习

  深度学习方法是一个现代的人工神经网络方法升级版,利用丰富而又廉价的计算,建立更大和更复杂的神经网络,许多方法都是涉及半监督学习(大型数据中包含很少有标记的数据)。

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

 

Dimensionality Reduction降维方法

  类似群集clustering方法, 降维是寻求和利用数据的内在结构,但在这种情况下,使用无监督的方式只能较少的信息总结或描述数据。以监督方式使用是有用的,能形成可视化的三维数据或简化数据。

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

 

Ensemble集成方法

  集成方法是由多个独立训练的弱模型组成,这些模型以某种方式结合进行整体预测。大量的精力需要投入学习什么弱类型以及它们的组合方式。这是一个非常强大的很受欢迎的技术类别:

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

弱者是灰色的,组合预测是红色的。具体显示的是温度/臭氧数据.