Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.Machine learning is the current buzz-phrase meant to encompass the computer algorithms used to make decisions, predictions, or classifications based on data.机器学习是当前的流行语,旨在涵盖用于根据数据做出决策、预测或分类的计算机算法。
当我加入时联合管理计划2014 年,我刚从一所学校获得统计学博士学位,该校在农业实验和混合建模方面拥有悠久的卓越历史。 这就是我习惯的世界:旨在最大限度地通过明智的计划接收到的信息的小型实验,几乎总是一些需要混合模型技术来分析的实验设计特征(最简单的是裂区设计),以及确定的目标什么样的治疗可以带来最好的结果。 无论与我一起工作的科学家是动物科学、昆虫学、食品科学还是教育领域的科学家,都是如此。
加入 JMP 后不久,围绕大数据的热议就达到了它的顶峰。 几年后,机器学习兴起。 机器学习的崛起落后于大数据并不奇怪。 人们应该如何处理他们收集到的所有数据? 当然,使用机器学习工具箱中的工具对其进行分析。
我的正规教育并没有特别为我做好这些事情的准备,但当我开始作为统计学家开发人员的职业生涯时,这些主题是我需要快速掌握的内容! 因此,我做了现在每个学生在迈入新主题时都会做的事情:我访问了维基百科。
“机器学习是一个跨学科的使用统计技术给出的领域计算机系统“学习”的能力(例如,逐步提高特定任务的表现)数据,无需明确编程。”
这有点令人震惊。 计算机系统如何能够在没有明确编程的情况下“学习”任何东西? 我们还没有实现天网,但是,我知道! 是时候继续挖掘了。 大英百科全书说,“机器学习,在人工智能(计算机科学的一门学科)中,与实现可以自主学习的计算机软件有关的学科。”
现在我已经失去了与定义中的统计数据的联系,但至少更明显的是我们对实现可以自主学习的软件感兴趣。 “无需显式编程”是指一旦数据传递给算法,算法就会完成剩下的工作,而无需我们进一步指示。
基于这些定义和我对该短语常见用法的看法,我开始认为机器学习是当前的流行短语,旨在涵盖用于基于数据做出决策、预测或分类的计算机算法。
监督学习与无监督学习
也是如此联合管理计划做机器学习? 绝对地! 从技术上讲,我们从第一个版本就已经做到了! 1989 年的时候我们就这么超前了吗? 我想是这样的。 但是,让我们进一步详细了解人们在谈到机器学习时所想到的算法。
通常,机器学习算法分为不同类型——监督学习和无监督学习。 通过监督学习,算法可同时处理预测变量(X 列)和响应(Y 列)。 使用的训练数据通过告诉算法对于给定的预测变量值应该是什么响应来“监督”算法。 在无监督学习中,算法仅使用预测变量,并且任何模式都仅由它们确定。 没有提供“真相”——事实上我们可能不知道“真相”。
JMP 中的哪些机器学习算法属于哪些类别?
监督
|
无监督
|
决策树 *
|
聚类
|
神经网络 *
|
自组织映射
|
引导森林*
|
关联分析
|
回归
|
奇异值分解
|
K 最近邻 *
|
|
朴素贝叶斯 *
|
|
*这些平台的一些功能是JMP专业版仅有的。
许多人对列表中的回归感到惊讶,它当然不属于通常认为的机器学习,但它是监督学习最直接的形式。 Fit Y by X 位于 JMP 1 中! JMP 3 中添加了聚类,此后机器学习选项不断出现。
对于熟悉其中一种或多种算法的人来说,您可能会注意到它们之间的相似之处。 许多模型都能产生惊人的预测准确性,但如果您试图解释系数或截止值的含义,您可能很难做到这一点。 我可以通过决策树的切点来得出预测,但这些切点的位置背后没有内在含义。 我不知道神经网络模型中的参数估计在“现实世界”中意味着什么,但神经网络是目前预测性能最好的机器学习模型之一。
相比之下,回归模型提供的参数估计对用户具有内在意义。 如果系数为正,我们知道将该预测变量的值增加一个单位将使响应增加该系数值。 这与 Galit Shmueli 博士所说的相关“解释还是预测?”这种权衡中的最佳妥协之一是拟合模型平台的广义回归特性。 正如我的同事 Clay Barker 所讨论的,使用套索或弹性网络可以提高预测性能,但模型仍然可以解释。
但缺乏可解释性重要吗? 也许,也许不是。 如果用例严格专注于实现对未来事件的最准确预测,则不需要可解释的模型。 另一方面,如果利益相关者想要更具体的方法来“提高他们的分数”,那么可解释的模型可能是首选。 任何模型的关键是你能否将输出付诸行动。
仍然需要人类
这引出了我的最后一点。 即使计算机算法可以完成所有令人惊奇的事情,仍然需要人类分析师来处理更高级别的问题。
- 分析中应包含或排除哪些数据? 有些算法具有选择重要变量的能力,但如果一开始就没有将变量提供给计算机,即使它具有高度预测性,也不会被选择!
- 收益递减点在哪里? 如果模型太复杂而无法在需要的时间内运行,那么它就没有用处。 也许不太复杂的模型可以提供几乎同样好的结果并且可以快速运行。 一个著名的例子是 Netflix 奖的获得者。 获胜模型的表现比几乎所有人的预期都要好,但所需的数据量和处理过程使其无法在 Netflix 需要建议用户下一步应该观看什么的实时环境中运行。
- 模型是否存在固有偏差? 显然,计算机算法不会有人类所具有的偏见,但算法有可能产生与有偏见的特征高度相关的模型。 在抵押贷款中,有些特征在做出贷款决策时是非法的。 然而,有几个法律因素可能与非法因素高度相关。 即使种族不是数据的直接一部分,算法也可能生成几乎完全拒绝特定种族的模型。 这种模式可能会产生法律后果。
- 模型应该什么时候更新? 因为建模的目的是产生某种我们可以采取行动的输出,所以一旦采取行动,模型就需要更新。 需要进行此更新,因为实施的更改将影响模型的未来输入。 如果我们继续使用旧模型,我们就有可能超出原始数据的范围进行推断。 模型应该在什么时候更新是一个只有人类才能回答的问题。
在我的下一篇文章,我将告诉你我最喜欢的两种机器学习算法:K 最近邻算法和朴素贝叶斯算法。 我们将根据我自己收集的一些有趣数据来看看这两种方法的实际应用。