机器学习项目中常见的误区

http://blog.jobbole.com/86131/

机器学习项目中常见的误区

2015/04/22 · IT技术 · 机器学习

分享到:7

本文由 伯乐在线 - ruan.answer 翻译,Daetalus 校稿。未经许可,禁止转载!
英文出处:machinelearningmastery。欢迎加入翻译组

在最近的一次报告中,Ben Hamner向我们介绍了他和他的同事在Kaggle比赛中看到的一些机器学习项目的常见误区。

这个报告于2014年2月在Strate举办,名为《机器学习小精灵》。

在这篇文章中,我们将从Ben的报告中了解一些常见的误区,它们是什么及如何避免陷入这些误区。

机器学习的过程

在报告之前,Ben向我们展示了一个解决机器学习问题大体流程。

机器学习流程,摘自Ben Hamner的《机器学习小精灵》

这个流程包括如下9步:

  1. 以一个行业问题开始
  2. 源数据
  3. 切分数据
  4. 选择一个评价标准
  5. 进行特征提取
  6. 训练模型
  7. 特征选择
  8. 模型选择
  9. 生产系统

Ben强调这个过程是迭代的过程,而非线性的。

他也谈及在这个过程中的每一步都可能出错,每个错误都可能使整个机器学习过程难以达到预期效果。

鉴别狗和猫

Ben提出了一个研究建造一个“自动猫门”的案例,这个“门”对猫开放而对狗关闭。这是一个启发性的例子,因为它设计到了处理数据问题上的一系列关键问题。

鉴别狗和猫,摘自Ben Hamner的《机器学习小精灵》

样本大小

这个例子的第一个卖点就是,模型学习的准确度与数据样本大小有关,并展示更多的样本与更好的准确度之间的关系。

他通过不断增加训练数据,直到模型准确度趋于稳定。这个例子能够很好让你了解,你的系统对样本大小及相应调整有多敏感。

错误的问题

第二个卖点就是这个系统失败了,它对所有的猫都拒之门外。

这个例子突出了理解我们需要解决的问题的约束是非常重要的,而不是关注你想解决的问题。

机器学习工程中的误区

Ben接着讨论了解决机器学习问题中的4个常见误区。

虽然这些问题非常常见,但是他指出它们相对比较容易被识别及解决。

过拟合,摘自Ben Hamner的《机器学习小精灵》

  • 数据泄露:利用模型中的生产系统不能访问的数据。在时序问题中这个问题特别常见。也可能发生在像系统id的数据上,id可能表示一个类标签。运行模型并且仔细查看有助于系统的特征。完整检查并考虑其是否有意义。(检查参考论文《数据挖掘中的泄露 | Leakage in Data Mining》)。
  • 过拟合:在训练数据上建模太精密,同时模型中又存在一些噪声点。这时过拟合会降低模型的扩展能力, 其在更高的维度与更复杂的类界限下更甚。
  • 数据采用和切分:相对于数据泄露,你需要非常小心地知道训练、测试、交叉检验数据集是否是真正的独立数据集。对于时序问题,很多想法和工作需要保证可以按时间顺序给系统回复数据和验证模型的准确性。
  • 数据质量:检查你的数据的一致性。Ben给了一个航班起飞及着陆地点的数据,很多不一致,重复及错误的数据需要被识别及明确地处理。这些数据会直接损害建模及模型的扩展能力。

总结

Ben的《机器学习小精灵》是一个快速且实用的报告。

你将会得到一个关于机器学习常见误区的有用速成学习,并且这些技巧能很容易地用在处理数据的工作当中。

时间: 2024-10-24 10:22:36

机器学习项目中常见的误区的相关文章

Gartner:区块链项目最常见的七大误区

Gartner:区块链项目最常见的七大误区 CIO需要知道区块链的能力与限制 对区块链的关注持续走高,但是在炒作与市场行情之间仍存在巨大的鸿沟.在Gartner的 2019 CIO Agenda Survey中,收到了超过3000位各行业CIO的回答,结果显示,只有11%的CIO表示已经部署了或计划短期内开发区块链应用.这可能是由于大部分的项目都没能挺过初始试验阶段. “根据Gartner最近的新兴技术炒作周期显示,区块链正滑向幻灭的低谷.”Gartner的高级研究员,阿德里安·莱奥说,“区块链

C#项目中常用到的设计模式

1. 引言 一个项目的通常都是从Demo开始,不断为项目添加新的功能以及重构,也许刚开始的时候代码显得非常凌乱,毫无设计可言.但是随着项目的迭代,往往需要将很多相同功能的代码抽取出来,这也是设计模式的开始.熟练运用设计模式应该是每一个软件开发人员的必备技能.今天给大家介绍几个常用的设计模式. 2. 单例模式 单例模式恐怕是很多开发人员最先接触到的模式之一,可以认为就是一个全局变量.它的初始化过程无非就是一开始就new 一个instance,或者惰性初始化等需要用到的时候new 一个instanc

[小白学iOS编程05]应用中常见的文件

注:[小白学iOS编程]是本小白根据某视频学习iOS编程过程的笔记记录,内容比较容易,高手勿喷. 转自请注明原博客地址:http://blog.csdn.net/fan_yufan/article/details/45955537 项目中常见的文件 1 Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 在旧版本Xcode创建的工程中,这个配置文件

java 项目中几种O实体类的概念

经常会接触到vo,do,dto的概念,本文从领域建模中的实体划分和项目中的实际应用情况两个角度,对这几个概念进行简析. 得出的主要结论是:在项目应用中,vo对应于页面上需要显示的数据(表单),do对应于数据库中存储的数据(数据表),dto对应于除二者之外需要进行传递的数据. 一.实体类 百度百科中对于实体类的定义如下: 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关. 根据以上定义,我们可以了解到,实体类有两方面内容,存储

吴恩达《深度学习》-课后测验-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-Week2 Autonomous driving (case study) (case study)( 自动驾驶 (案例研究))

Week2 Autonomous driving (case study) (case study)( 自动驾驶 (案例研究)) \1. To help you practice strategies for machine learning, in this week we'll present another scenario and ask how you would act. We think this "simulator" of working in a machine l

机器学习项目流程(一)

机器学习项目流程 在这我们会从头开始做一个机器学习项目,向大家展示一个机器学习项目的一个基本流程与方法.一个机器学习主要分为以下几个步骤: 从整体上了解项目 获取数据 发现并可视化数据,以深入了解数据 为机器学习算法准备数据 选择模型并训练 模型调优 展示解决方案 部署.监控.以及维护我们的系统 我们不会遍历所有步骤,仅从一个例子展示一个常规的流程. 使用真实数据 在学习机器学习时,最好是使用真实数据,不要用人工代码生成的模拟数据.一些可以获取数据的地方如: 开放数据集 UC Irvine Ma

iOS之多控制器管理--项目中的常见文件

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

原文:WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟踪处理.本文介绍我在我在我的框架里面使用WCF服务的时候,出现的一个常见错误的处理方法,它的提示信息是:基础连接已经关闭: 连接被意外关闭.这种情况我碰到的有两种,一种是返回DataTable的时候出现的,一种是返回实体类

【转】常见算法在实际项目中的应用

原文转自:http://blog.jobbole.com/52669/ 近日Emanuele Viola在Stackexchange上提了这样的一个问题,他希望有人能够列举一些目前软件.硬件中正在使用的算法的实际案例来证明算法的重要性,对于大家可能给到的回答,他还提出了几点要求: 使用这些算法的软件或者硬件应该是被广泛应用的: 例子需要具体,并给出确切的系统.算法的引用地址: 在经典的本科生或者博士的课程中应该教过这些算法或者数据结构: Vijay D的回复获得了最佳答案,他的具体回复内容如下: