前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >理解任何机器学习算法的6个问题

理解任何机器学习算法的6个问题

作者头像
BAStriver
发布2018-02-06 16:27:22
7250
发布2018-02-06 16:27:22

有很多机器学习算法,每个算法都是一个独立的研究。

你必须选择你研究机器学习算法的细节水平。如果您是对应用预测建模感兴趣的开发人员,那么这将是一个不错的享受过程。

这篇文章描述了这个过程,并给你提供一个你可以用来快速理解任何机器学习算法的模板。

了解机器学习算法的最佳过程

照片由dmums拍摄,并且保留部分权利。

那么我们开始吧。

关于机器学习算法你需要知道什么呢?

关于机器学习算法你需要知道什么才能够很好地用它来分类或预测问题?

我认为关于某个算法如何运作以及为什么这样运作你知道得越多,不代表你就可以更好地使用它。但是我却相信有一个收益递减的地方,在这里你可以停下来,当且仅当你需要了解更多以获得更好的结果时,利用你所知道的有效方法并深入一个算法的理论和研究。

让我们来看看这6个问题,它们将揭示机器学习算法以及如何最好地使用它。

获取你的自由算法思维图

方便机器学习算法的示例思维图

我已经创建了一个按类型组织的60种算法的便捷思维图

下载,打印并使用。

免费下载

你也可以访问独家的机器学习算法电子邮件迷你课程。

所有算法的6个提问

有6个问题可以提及到所有机器学习算法的核心:

  1. 如何参考这个技术(例如名字是什么)?
  2. 如何表达一个学习过的模型(例如系数是什么)?
  3. 如何学习新模型(例如从数据到表现的优化过程)?
  4. 如何从一个学习模型做出预测(例如将模型应用到新数据中)?
  5. 如何最好的准备你的数据建模与技术(例如作出假设)?
  6. 如何获得更多关于技术的信息(例如在哪里找)?

你会注意到我已经把所有这些问题都写成了“How-To”。我故意把这个问题的实际问题从理论上更为关注的原因中分离出来。如果你正在使用它作为一个工具来获得结果,我认为知道一个技术的工作原理并不重要,我们要知道它是如何工作的。更多关于这个在下一节。

让我们依次仔细看看这些问题。

1.你如何参考技术?

这显而易见,但重要。你需要知道技术的规范名称。

您需要能够从其他领域识别经典名称或方法的名称,并知道它是相同的东西。这也包括算法的首字母缩略词,因为有时它们不够直观。

这将帮助您从扩展和算法适合的系列树中挑选基本算法,并与类似的算法联系起来。

2.如何表现学习模式?

我真的很喜欢这个问题。

这是教科书和论文中常常忽略的问题,也许是工程师在思考如何实际使用和部署模型时的第一个问题。

该陈述是数字和数据结构,由学习算法从数据学习的不同细节以供预测算法使用这一点引起了我们注意。这是您最终确定模型时保存到磁盘或数据库的内容。当新的有训练数据可用时,这是你需要更新的东西。

我们来举个具体的例子。在线性回归的情况下,它表现为回归系数的向量。它就是这样。在决策树的情况下它包含节点的树本身,它们连接以及选择变量和截止阈值的方式。

3.如何学习模型?

给定一些训练数据,算法需要创建模型或填写模型陈述。这个问题讲的是如何发生。

通常学习包括直接用简单的算法从训练数据中估计参数。

在大多数其他算法中,它涉及使用训练数据作为成本或损失函数的一部分以及优化算法来最小化函数。更简单的线性技术也可以使用线性代数来实现这个结果,而其他的可以使用数值优化。

通常机器学习算法学习模型的方式与算法本身是同义的。这是运行机器学习算法的有挑战性和耗时的部分。

学习算法可能是参数化的,列出可用作起点的参数值或配置启发式的常用范围通常是一个不错的方法。

4.如何用模型进行预测?

一旦学习了模型,就可以用来预测新数据。请注意,我们专门讨论了用于分类和回归问题的预测性建模机器学习算法。

这通常是使用机器学习算法的快速但微不足道的部分。通常它是如此微不足道以致于甚至都没有在文献中提及或讨论过。

这可能是微不足道的,因为预测可能就像填充等式中的输入并计算那样简单,或者遍历决策树来查看哪个叶节点要标注。在其他算法中,如k-最近邻,这个预测算法可能主要的体现了(k-NN只有“存储整个训练集”这个训练算法)。

5.如何为算法准备数据?

机器学习算法做出假设。

即使是最轻松的非参数方法也会对您的训练数据进行假设。审查这些假设是好的,甚至是至关重要的。更好的做法是将这些假设转化为可执行的特定数据准备操作。

这个问题是在建模之前冲掉你可以在数据上使用的转换,或者至少让你暂停思考数据转换。我的意思是,最好把算法的要求和假设当作准则来尽可能地获得最好的模型,而不是你的数据必须坚持的硬性规则。

就像您无法预知哪种算法最适合您的数据,您无法知道最适合您的数据的最佳变换,以最大限度地利用算法。真正的数据是混乱的,最好用一些不同的算法来尝试大量的数据展示,看看有什么值得深入研究的。机器学习算法的要求和假设有助于指出需要展示的数据。

6.如何获得关于算法的更多信息?

有些算法在数据问题上会比其他算法更好。

当他们这样做的时候,你需要知道在哪里找得到能更深入了解的技术信息。这可以帮助进一步为数据定制算法,并调整学习和预测算法的参数。

收集和列出您可以参考的资源是个不错的方式,如果您需要更深入地研究和参考。这些资源可能包括:

  • 期刊文章
  • 会议文件
  • 书籍包括教科书和专着
  • 网页

我认为知道更实用的参考资料也不错,例如示例教程和开源实现,您可以查看内部以获得更确切的想法。

有关研究机器学习算法的更多信息,请参阅如何研究机器学习算法

概要

在这篇文章中你会发现有6个问题,你可以问一个学习机器,如果得到解答,会给你一个非常好的和实用的想法,一个关于它是如何工作的、以及如何有效地使用它的想法。

这些问题集中在用于分类和回归等预测建模问题的机器学习算法上。

这些问题,简言之是:

  1. 算法的通用名称是什么?
  2. 模型使用了什么样的表示形式?
  3. 算法如何从训练数据中学习?
  4. 你怎么能从模型预测新的数据?
  5. 如何最好地为算法准备数据?
  6. 你可以在哪里找到关于算法的更多信息?

有关定义算法描述模板这一主题的另一篇文章,请参阅如何学习机器学习算法

对机器学习数学感到沮丧?

看看算法在几分钟内是如何工作的

...只有算术和简单的例子

在我的新电子书中有:主机器学习算法

它涵盖了10个顶级算法的解释和例子,如:线性回归、k-最近邻、支持向量机等。

最后,让我们拉开机器学习算法的帷幕

越过学术界的限制,期待结果。

点击这里学习更多

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于机器学习算法你需要知道什么呢?
  • 获取你的自由算法思维图
    • 1.你如何参考技术?
      • 2.如何表现学习模式?
        • 3.如何学习模型?
          • 4.如何用模型进行预测?
            • 5.如何为算法准备数据?
              • 6.如何获得关于算法的更多信息?
                • 概要
                  • 最后,让我们拉开机器学习算法的帷幕
              • 对机器学习数学感到沮丧?
              • 看看算法在几分钟内是如何工作的
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档