机器学习与深度学习

26、应用机器学习过程

2019-02-26  本文已影响15人  攻城狮笔记

通过

预测模型问题实现 高于平均结果的系统过程

随着时间的推移,在应用机器学习问题时,您需要开发一种模式或流程,以便快速获得良好的稳健结果。

开发完成后,您可以在项目之后一次又一次地使用此过程。您的流程越健壮,越发展,您获得可靠结果的速度就越快。

在这篇文章中,我想与您分享我处理机器学习问题的过程的骨架。

您可以将其用作下一个项目的起点或模板。

5步系统过程

我喜欢使用5个步骤:

  1. 定义问题
  2. 准备数据
  3. 抽样检查算法
  4. 改善结果
  5. 目前的结果

这个过程有很多灵活性。例如,“准备数据”步骤通常分解为分析数据(汇总和图表)并准备数据(为实验准备样品)。“抽查”步骤可能涉及多个正式实验。

这是一条伟大的大型生产线,我尝试以线性方式进行。使用自动化工具的好处在于您可以返回几个步骤(例如从“改进结果”回到“准备数据”)并插入数据集的新变换并在中间步骤中重新运行实验以查看有趣的结果出来了,它们与你之前执行的实验相比如何。

生产线

生产线
照片由East Capital提供,保留一些权利

我使用的过程是从数据库(或KDD)中的知识发现的标准数据挖掘过程改编而来,有关详细信息,请参阅什么是数据挖掘和KDD

1.定义问题

我喜欢使用三步过程来定义问题。我喜欢快速行动,我使用这个迷你流程从几个不同的角度很快看到问题:

您可以在帖子中了解有关此过程的更多信息:

2.准备数据

我将数据准备与数据分析阶段相结合,该阶段涉及总结属性并使用散点图和直方图对其进行可视化。我还想详细描述属性和属性之间的关系。这种笨拙的工作迫使我在问题丢失之前考虑问题上下文中的数据

实际的数据准备过程分为以下三个步骤:

您可以在帖子中了解有关准备数据的此过程的更多信息:

3.抽查算法

我默认在测试工具中使用10倍交叉验证。所有实验(算法和数据集组合)重复10次,并收集和报告准确度的均值和标准偏差。我还使用统计显着性检验从噪声中清除有意义的结果。箱形图对于总结每个算法和数据集对的准确度结果的分布非常有用。

我发现了检查算法,这意味着将一堆标准机器学习算法加载到我的测试工具中并执行正式实验。我通常在我准备的数据集的所有转换和缩放版本中运行来自所有主要算法族的 10-20个标准算法。

抽样检查的目标是清除擅长挑选问题结构的算法类型和数据集组合,以便通过重点实验更详细地研究它们。

可以在该步骤中执行具有良好性能算法族的更集中的实验,但是算法调整留待下一步骤。

您可以在帖子中发现有关定义测试工具的更多信息:

您可以在帖子中发现抽查算法的重要性:

4.改善结果

在现场检查之后,是时候从钻机中挤出最好的结果了。我这样做是通过对最佳性能算法的参数进行自动灵敏度分析。我还使用顶级执行算法的标准集合方法设计和运行实验。我花了很多时间思考如何从数据集或已经证明表现良好的算法族中获得更多。

同样,结果的统计显着性在这里至关重要。很容易关注方法并使用算法配置。结果只有在它们很重要且所有配置都已经过考虑并且实验是批量执行时才有意义。我也想在问题上保持自己的个人排行榜。

总之,改进结果的过程包括:

您可以在帖子中发现有关此过程的更多信息:

5.目前的结果

复杂的机器学习问题的结果除非付诸实施,否则毫无意义。这通常意味着向利益相关者展示。即使这是我为自己工作的竞争或问题,我仍然会经历呈现结果的过程。这是一个很好的练习,给了我明确的学习,我可以在下次建立。

我用来呈现结果的模板如下,可以采用文本文档,正式报告或演示幻灯片的形式。

上一篇下一篇

猜你喜欢

热点阅读