[译]机器学习分类

机器学习 2017-01-15

起步

在这篇文章中,我们将介绍最流行的机器学习算法。

在场中浏览主要算法以获得可用的方法的感觉是有用的。

有很多算法可用,当算法名称被抛出时,它可以感觉压倒性,你希望只知道它们是什么,它们适合的地方。

我想给你两种方法来思考和分类你可能在现场遇到的算法。

首先是由算法分组学习方式。 第二个是由算法分组相似的外形还是功能(如类似的动物组合在一起)。 这两种方法都是有用的,但我们将集中在通过相似性的算法分组,并进行各种不同的算法类型的游览。

阅读本文后,您将更好地了解用于监督学习的最流行的机器学习算法以及它们之间的相关性。

ensemble.png

(最佳拟合线的一个很酷的例子。弱成员是灰色的,组合预测是红色的。 从维基百科,从公共领域获得许可。)

算法按学习风格分组

存在不同的方法,算法可以基于其与经验或环境或任何我们想要调用输入数据的交互来对问题建模。

它在机器学习和人工智能教科书中流行,以首先考虑算法可以采用的学习风格。

只有几个主要的学习风格或学习模型,算法可以拥有,我们将通过他们在这里与他们适合的算法和问题类型的几个例子。

这种分类法或组织机器学习算法的方法是有用的,因为它迫使您考虑输入数据和模型准备过程的角色,并选择一个最适合您的问题,以获得最佳结果。

让我们来看看机器学习算法中的四种不同的学习风格:

监督学习

Supervised-Learning-Algorithms.png

输入数据称为训练数据,并且每次具有已知的标签或结果,例如垃圾邮件/非垃圾邮件或股票价格。

通过训练过程准备模型,其中需要进行预测并在那些预测错误时被校正。训练过程继续,直到模型对训练数据达到期望水平的准确度。

示例问题是分类和回归。

示例算法包括逻辑回归和反向传播神经网络。

无监督学习

Unsupervised-Learning-Algorithms.png

输入数据未标记,并且没有已知结果。

通过推导存在于输入数据中的结构来准备模型。这可能是提取一般规则。可以通过数学过程系统地减少冗余,或者可以通过相似性来组织数据。

示例问题是聚类,维数降低和关联规则学习。

示例算法包括:Apriori算法和k均值。

半监督学习

Semi-supervised-Learning-Algorithms.png

输入数据是标记和未标记示例的混合。

有一个所需的预测问题,但是模型必须学习结构来组织数据以及进行预测。

示例问题是分类和回归。

示例算法是对假设如何建模未标记数据的其他灵活方法的扩展。

小结

当处理数据以建模业务决策时,您通常使用受监督和非监督的学习方法。

目前的热门话题是半监督学习方法在诸如图像分类的领域,其中存在具有很少标记示例的大数据集。

按相似性分组的算法

算法通常根据它们的功能(如何工作)的相似性来分组。例如,基于树的方法和神经网络启发的方法。

我认为这是分组算法最有用的方法,这是我们将在这里使用的方法。

这是一个有用的分组方法,但它不是完美的。仍然有算法可以很容易地适合多个类别,如学习向量量化,这是一个神经网络启发的方法和基于实例的方法。还有类别具有相同的名称,描述问题和类的算法,如回归和聚类。

我们可以通过列出算法两次或通过选择主观上是“最佳”拟合的组来处理这些情况。我喜欢这种后面的方法不重复算法保持简单。

在本节中,我列出了许多流行的机器学习算法,分组方式我认为是最直观的。该列表在组或算法中并不详尽,但我认为它是有代表性的,并且将有助于您了解土地的位置。

请注意:有一个强烈的偏向用于分类和回归算法,最普遍的两种监督的机器学习问题,你会遇到。

如果你知道一个算法或一组算法没有列出,将它放在评论中并与我们共享。让我们潜入。

回归算法

Regression-Algorithms.png

回归涉及使用模型进行的预测中的误差的度量来迭代地细化的变量之间的关系的建模。

回归方法是统计学的主力,并被加入统计机器学习。这可能是混乱的,因为我们可以使用回归来引用问题的类和算法的类。真的,回归是一个过程。

最流行的回归算法是:

  • 普通最小二乘回归(OLSR)
  • 线性回归
  • 逻辑回归
  • 逐步回归
  • 多元自适应回归样条(MARS)
  • 局部估计散点图平滑(LOESS)

基于实例的算法

Instance-based-Algorithms.png

基于实例的学习模型是具有被认为是模型重要或需要的训练数据的实例或示例的决策问题。

这种方法通常构建示例数据的数据库,并使用相似性度量将新数据与数据库进行比较,以便找到最佳匹配并进行预测。因此,基于实例的方法也称为获胜者采取所有方法和基于记忆的学习。关注存储实例的表示和实例之间使用的相似性度量。

最流行的基于实例的算法是:

  • k-最近邻(kNN)
  • 学习向量量化(LVQ)
  • 自组织地图(SOM)
  • 本地加权学习(LWL)

正则化算法

Regularization-Algorithms.png

对另一种方法(通常是回归方法)的扩展,基于它们的复杂性惩罚模型,偏向于更简单的模型,它们也更好地推广。

我已经单独列出正则化算法,因为它们是流行的,强大的,通常是简单的修改对其他方法。

最流行的正则化算法是:

  • 里奇回归
  • 最低绝对收缩和选择算子(LASSO)
  • 弹性网
  • 最小角回归(LARS)

决策树算法

Decision-Tree-Algorithms.png

决策树方法构建基于数据中的属性的实际值做出的决策的模型。

决策在树结构中分叉,直到对给定记录做出预测决定。决策树被训练用于分类和回归问题的数据。决策树通常是快速和准确的,并且是机器学习中的最大收藏。

最流行的决策树算法是:

  • 分类和回归树(CART)
  • 迭代分光镜3(ID3)
  • C4.5和C5.0(不同版本的强大方法)
  • 卡方自动交互检测(CHAID)
  • 决策树桩
  • M5
  • 条件决策树

贝叶斯算法

Bayesian-Algorithms.png

贝叶斯方法是明确应用贝叶斯定理的问题,如分类和回归的方法。

最流行的贝叶斯算法是:

  • 朴素贝叶斯
  • 高斯朴素贝叶斯
  • 多项天真贝叶斯
  • 平均一致依赖估计器(AODE)
  • 贝叶斯信念网络(BBN)
  • 贝叶斯网络(BN)

聚类算法

Clustering-Algorithms.png

聚类,如回归,描述问题的类和方法的类。

聚类方法通常由诸如基于质心和层次的建模方法组织。所有方法都涉及使用数据中的固有结构来将数据最佳地组织成具有最大共性的组。

最流行的聚类算法是:

  • k-均值
  • k中值
  • 期望最大化(EM)
  • 分层聚类

关联规则学习算法

Assoication-Rule-Learning-Algorithms.png

关联规则学习方法提取最好地解释数据中变量之间观察到的关系的规则。

这些规则可以发现可以由组织利用的大多维数据集中的重要的和商业上有用的关联。

最流行的关联规则学习算法是:

  • Apriori算法
  • Eclat算法

人工神经网络算法

Artificial-Neural-Network-Algorithms.png

人工神经网络是受生物神经网络的结构和/或功能启发的模型。

它们是一类通常用于回归和分类问题的模式匹配,但是它们实际上是一个由数百种算法和变体组成的庞大子域,用于所有类型的问题类型。

注意,我已经分离出深度学习从神经网络,因为在该领域的大规模增长和受欢迎程度。这里我们关注更古典的方法。

最流行的人工神经网络算法是:

  • 感知器
  • 反向传播
  • Hopfield网络
  • 径向基函数网络(RBFN)

深度学习算法

Deep-Learning-Algorithms.png

深度学习方法是利用大量廉价计算的人工神经网络的现代更新。

他们关注构建更大更复杂的神经网络,并且如上所述,许多方法涉及半监督学习问题,其中大数据集包含非常少的标记数据。

最流行的深度学习算法是:

  • 深波兹曼机(DBM)
  • 深度信任网络(DBN)
  • 卷积神经网络(CNN)
  • 堆叠自动编码器

尺寸减少算法

Dimensional-Reduction-Algorithms.png

像聚类方法一样,降维寻找和利用数据中的固有结构,但在这种情况下以无监督的方式或顺序使用较少的信息来概括或描述数据。

这可以用于可视化维数据或简化数据,然后可以在监督学习方法中使用。许多这些方法可以适用于分类和回归。

  • 主成分分析(PCA)
  • 主成分回归(PCR)
  • 部分最小二乘回归(PLSR)
  • Sammon映射
  • 多维定标(MDS)
  • 投影追求
  • 线性判别分析(LDA)
  • 混合判别分析(MDA)
  • 二次判别分析(QDA)
  • 灵活判别分析(FDA)

合成算法

Ensemble-Algorithms.png

集合方法是由多个较弱模型组成的模型,这些模型是独立训练的,并且其预测以某种方式组合以进行整体预测。

很多努力被放在什么类型的弱学习者结合和组合它们的方式。这是一个非常强大的类技术,因此是非常受欢迎。

  • 提升
  • 自举聚合(Bagging)
  • AdaBoost
  • 堆叠广义(混合)
  • 梯度升降机(GBM)
  • 梯度提升回归树(GBRT)
  • 随机森林

其他算法

许多算法没有涵盖。

例如,支持向量机进入什么组?它自己的?

我没有涵盖机器学习过程中的特殊任务的算法,例如:

  • 特征选择算法
  • 算法精度评估
  • 性能测量 我也没有涵盖机器学习的特殊子字段的算法,例如:

  • 计算智能(进化算法等)
  • 计算机视觉(CV)
  • 自然语言处理(NLP)
  • 推荐系统
  • 加固学习
  • 图形模型

更多…

英文原文:http://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/


本文由 hongweipeng 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

如果对您有用,您的支持将鼓励我继续创作!