机器学习工作流程(第1部分)

本译文自 EROGOL 发表在 http://www.erogol.comMachine Learning Work-Flow (Part 1),文中版权、图像代码等数据均归作者所有。为了本土化,翻译内容略作修改。

到目前为止,我打算编写一系列的文章来讲解基本的机器学习工作流程(主要是监督学习)。在这篇文章中,我的目标是提出鸟瞰图,我将在后面的章节中详细讲解每个组件。我决定写这个系列有两个原因; 第一个原因是经过一段时间的理论研究和工业实践,我想把把所有学到的东西都整理到一起;第二个是给初学者和爱好者提供一个简单的指南。

下面,我们对题目所提到的工作流程进行概述。我们用颜色来区别每个区域。每个盒子的色调都是从黄色红色 。黄色盒子的颜色越深,说明在这个盒子里的组件越倾向于统计知识库。同样红色盒子越深(变暗),盒子里的组件更倾向于机器学习知识库。通过这样说之后,也就意味着,如果没有很好的统计和理解,我们就无法构建一个方便的机器学习通道。作为一个脚注,这个模式被后现代主义的表示学习算法所改变,我将在后面的文章中谈到这一点。

我们先来看看架构。我们从我们需要从中提取特征表示的原始数据(文档,图像,录音等)开始。特征提取是指将机器学习算法不能识别的原始数据转化为算法可以识别的特征的过程。(例如Bag Of Words表示将每个不同长度的文档转换成相同长度的向量表示)

下一步的Sanity-Check是确保特征值的质量和便利性。我相信每一个ML课程和社区都会忽视这一步。但是,现阶段的任何错误都是非常致命,因为它们太难修复。例如,你做的一切都是正确的,但是最终的预测精度与预期都低于期望值。于是你一遍又一遍地调试所有的管道,但是就是没找到错误的地方。然后在几个小时之后,您在第2965个特征向量处实现了空值。然后你就草了。我敢非常肯定,如果你在这个领域有一定的经验,那么你肯定遭遇过相同或者类似的情况。

之后; 我们需要将我们的数据解析、训练、验证以及保留集合。此步骤与模型培训评估步骤中的方法相关。例如,如果您希望在模型训练部分使用神经网络,并且进行交叉验证评估,那么这可能是最好的选择。使用具有K倍交叉验证的训练数据进行训练和超参数优化,然后用验证数据断言最终模型。在最后阶段使用保留集合来进行最终的性能量化。

特征预处理是与ML模型相关的另一个模块。在这一步,我们将训练数据转换成适合ML算法规范的数据。例如,SVM要求平均值= 0,标准偏差= 1。如果你忘记数据的预处理,你很可能会看到ML算法有非常奇怪的行为。也许花费太长时间来调整模型权重,这样你得到值可能有在一个有趣的范围内波动。此外,不要忘记在预处理之后全面性的检查。例如,为了规范化,将得到的值频繁的除以0,很显然得到值是空的

模型训练 是有趣的部分。你有一堆算法正在等待被使用。不幸的是,这在整个工作流程中只占5%。但从执行的角度来看,这是迄今为止最浪费时间的一步。在这一步常见的错误之一没有任何的推理就使用随机的使用算法。这就像在大海捞针一样。使用算法,就应该对症下药。损失函数,学习算法,正则化项和其他参数的选择完全是问题特定的。我将在接下来的文章中进一步解释... 模型训练 包括超参数优化和对数据的首次洞察,以及前面步骤的质量。例如,假设您使用网格搜索进行K-fold交叉验证的参数选择,并且您观察到每个不同候选值的每个折叠的得分都非常不同。这是训练数据不足或特征表示不恰当的早期指标。那么你需要再来一次。

模型评估 测量你最近训练过的模型在验证集上的质量,这在以前的任何步骤中都没有涉及到。首先,我们也使用同样的方法对数据进行预处理,然后我们输入模型。这个步骤是根据质量测量(ROC,RMNS,F-Score)的选择来定义的,假定与用于训练的测量相同。请记住,不同的措施会为您的模型提供不同的思路。

不要把你的训练模型扔掉。假设您训练了5个性能差距较小的不同神经网络,然后 用平均值,最大值或任何其他投票架构进行集成。你可以看看Kaggle的获胜者,他们中的大多数神经网络,都是支持向量机或随机森林(es)的集合。他们甚至在集合中也使用差的模型。这是因为范围越大,对于你的模型集合也越好。这里有一些限制。考虑最终模型的运行时期望。当你增加你的集合的大小,计算和内存的需求也增加。我们在这里讨论可扩展性与准确性的权衡。也许最好的例子就是100万美元的Netflix挑战 Netflix由于可伸缩性问题而没有实现赢家算法。

现在,我们正在最后一步。完了,就可以关掉你的电脑。测量你的最终模型(模型集合)的性能与外出的设置。不要忘记预处理,就像验证和训练集一样。这是表明最终模型的真实生活表现的最关键的一步。如果您的测量结果与验证数据不一样,则意味着您的集成模式没有起到左右,你就要对它进行更改。但是,请确保以前没有任何错误,从所有可能的角度来看,所有的集合模型都非常有可能。否则,在这一步糟糕的表现会让你处于一个非常危险的境地,根据任何一个步骤的任何模型,有许多不同的组合缺陷。

这是暂时的。我试图用少量的细微差别来解释我提出的ML工作流程。我打算详细解释每一个这些步骤的细节,每周都会发布一些新的职位(至少计划是这样)。更重要的是,请在这篇文章留下你的任何可以重塑或者讨论这个想法。如果有得话,请指证我的错误。

原文链接:http://www.erogol.com/machine-learning-work-flow-part-1/

原文作者:EROGOL

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

采用深度学习算法为Spotify做基于内容的音乐推荐

1184
来自专栏大数据挖掘DT机器学习

分别用sklearn和tensorflow做房价预测

本篇是后面用tensorflow做回归时的一个参照,忍不住要说的是sklearn真是简单好用,要不是他没有卷积cnn等时髦模型,真是不想用其他家的了。 经典的s...

3983
来自专栏量子位

Google Pixel 2拍照黑科技:单摄搞定背景虚化+内部潜伏神秘芯片

安妮 夏乙 发自 凹非寺 量子位 出品 | 公众号 QbitAI ? Google最新亲儿子Google Pixel 2系列一发布,拍照效果的好评就已铺天盖地。...

3444
来自专栏AI研习社

计算机视觉中,有哪些比较好的目标跟踪算法?(上)

相信很多来这里的人和我第一次到这里一样,都是想找一种比较好的目标跟踪算法,或者想对目标跟踪这个领域有比较深入的了解,虽然这个问题是经典目标跟踪算法,但事实上,可...

4489
来自专栏AI科技评论

深度丨目前最受欢迎的 LSTM 教程:谷歌大脑科学家亲解

AI 科技评论按:这篇文章非常经典,出自 Google Brain 科学家 Christopher Olah 的博客,小编保证这是相对通俗易懂的一篇入门介绍了,...

3475
来自专栏大数据挖掘DT机器学习

浅入浅出深度学习理论与实践

前言 之前在知乎上看到这么一个问题:在实际业务里,在工作中有什么用得到深度学习的例子么?用到 GPU 了么?,回头看了一下自己写了这么多东西一直围绕着tradi...

27110
来自专栏机器之心

教程 | 深度学习初学者必读:张量究竟是什么?

选自Kdnuggets 作者:Ted Dunning 机器之心编译 参与:晏奇、吴攀 今天很多现有的深度学习系统都是基于张量代数(tensor algebra...

2695
来自专栏AI科技评论

开发 | MxNet李沐:机器学习简介——动手学深度学习0.1

AI科技评论注:本文作者为深度学习平台MxNet的作者李沐,文章由AI科技评论整理自作者的机器学习网站“动手学深度学习”。在这个网站中,李沐介绍了他做这个项目的...

5934
来自专栏深度学习

机器学习教材中的 7 大经典问题

一、神经网络不宜超过三层 这是最有名错误判断,现在的教科书几乎已经不再有这样的结论,但如果看15年、20年前的机器学习教科书,会有一个很有趣的结论:神经网络不能...

3348

机器学习的稳健算法

机器学习通常被认为是解决困难问题的一个魔法解决方案,它将使我们从单纯的人类中解脱出来。但事实上,对于数据科学家和机器学习工程师来说,有很多问题比带有限规则集的图...

19111

扫码关注云+社区