机器学习是一个伟大的工具,它正在改变我们的世界。在许多优秀的应用中,机器学习(尤其是深度学习)比传统方法优越得多。从用于图像分类的Alex-Net到用于图像分割的U-Net,人们看到了计算机视觉和医学图像处理领域的巨大成功。

近日,机器学习专家Andreas Maier在一篇文章中列出了人们会犯的关于机器学习的七个常见错误。

这些问题很严重,可能导致错误的结论,甚至机器学习专家在工作时也会犯这样的错误。即使是专家,也很难发现其中的许多错误,因为这需要详细查看代码和实验设置才能弄清楚。只有当你完全确定自己没有落入这些谬误中的任何一个时,你才应该继续前进或公开你的成果。

错误1:数据和模型滥用

初学者常常会犯数据和模型滥用这个错误。在常见的情况下,实验设计存在缺陷,例如训练数据用作测试数据。使用简单的分类器,这导致大多数问题的识别率达到100%。在更复杂,更深入的模型中,精度可能不是100%,而是98–99%。

因此,如果在第一张照片中获得了如此高的识别率,则应仔细检查实验设置。但是,如果使用新数据,模型将完全崩溃,甚至可能产生比随机猜测更糟糕的结果,即准确度低于1 / K,其中K是类别数,例如两类问题的比例不到50%。

在同一行中,还可以通过增加参数的数量来轻松过拟合模型,从而完全记住训练数据集。另一个变体是使用过小的训练集,它不能代表您的应用程序。所有这些模型都可能会破坏新数据,即在实际应用场景中使用时。

错误2:不公平的比较

即使是机器学习方面的专家也会犯这种错误。如果想要证明你的新方法比最先进的方法更好,它通常会被提交。特别是研究论文往往会屈服于这一点,以说服评审者他们的方法具有优越性。

在最简单的情况下,从某个公共存储库下载一个模型,并使用这个模型,而不需要对模型进行微调或适当的超参数搜索,这个模型是针对当前的问题开发的,你可以调整所有参数以获得优质的测试数据性能。

关于这个错误,最近的一个例子是Isensee等人在论文中证明了原始的U-net几乎胜过所有自2015年以来针对十个不同问题提出的对该方法的改进。

因此,在应用于新建议的方法时,应该始终对比较新的模型执行相同数量的参数调优。

错误3:微不足道的进步

在做了所有的实验之后,你最终找到了一个比最先进的模型产生更好结果的模型。然而,即使在这一点上,你也没有完成。机器学习中的所有内容都是不精确的。

此外,由于学习过程的概率性,你的实验受到许多随机因素的影响。为了考虑这种随机性,需要执行统计测试。

这通常是通过使用不同的随机种子多次运行实验来执行的。

这样,你可以报告所有实验的平均性能和标准偏差。使用显著性检验,如t检验,你现在可以观察到的改善仅仅是与机会有关的概率。

为了使您的结果有意义,此概率应至少低于5%或1%。为此,你不必是统计专家。

有在线工具可以计算它们,例如识别率比较或相关比较。如果进行重复实验,请确保应用Bonferroni校正,即你所需的显著性水平除以相同数据上的实验重复次数。

错误4:混淆和错误的数据

数据质量是机器学习的较大陷阱之一。它可能会导致严重的偏见,甚至导致AI存在种族主义倾向。但是,问题不在于训练算法,而在于数据本身。

错误5:不恰当的标签

Protagoras曾说过:“一切事物的尺度是人。”这也适用于许多分类问题的标签或基本事实。

我们训练机器学习模型来反映人为类别。在许多问题中,我们认为在定义类的时候类就已经很清楚了。但查看数据时,就会发现它经常包含一些模棱两可的情况。

错误6:交叉验证混乱

这与错误1几乎是相同的,但它是变相的错误。

因此,即使是专家也可能会犯此类错误。典型的设置是第一步需要选择模型,体系结构或特征。因为只有几个数据样本,所以你决定使用交叉验证来评估每个步骤。

因此,你可以将数据拆分为N折,选择具有N-1折的特征/模型,并在第N折上求值。重复此N次后,可以计算平均性能并选择性能优秀的功能。

现在,您知道什么是很好的功能,然后继续使用交叉验证为机器学习模型选择最好的参数。这似乎是正确的,但这是有缺陷的,因为你已经在第一步中看到了所有测试数据并平均了所有观察值。

这样,所有数据中的信息都会传递到下一步,您甚至可以从完全随机的数据中获得良好的结果。

为了避免这种情况,你需要遵循一个嵌套过程,将第一步嵌套在第二个交叉验证循环中。当然,这非常昂贵,并且会产生大量实验运行。请注意,仅由于对相同数据进行大量实验,在这种情况下,仅由于偶然原因,你也会产生良好的结果。

因此,统计测试和Bonferroni校正同样是强制性的(参见错误三)。我通常会尽量避免进行大型的交叉验证实验,并尝试获取更多数据,以便进行训练/验证/测试拆分。

错误7:对结果的过度解释

除了所有先前的过失之外,我认为在当前阶段,我们在机器学习中经常犯的比较大的过错是,过度解释和夸大了自己的结果。

当然,每个人都对通过机器学习创建的方案感到满意,并且你也有权为此感到自豪。但是,应该避免将结果推断在看不见的数据或状态上。

你应该小心说话,每个主张都应基于事实。

你可以在讨论中清楚地表明推测的基础上假设该方法的普遍适用性,但要真正声明这一点,必须提供实验或理论证据。现在,很难让你的方法具有应有的可见性,尽管提出重要的观点有助于推广自己的方法,但我还是建议你踏实低调并坚持事实。

机器学习“七宗罪”:影响可信度的七个常见错误相关推荐

  1. 新入职项目经理务必避免的七个常见错误

    在国内,好多项目经理都是技术专家出身,所以标题给了"新入职".由于旧习惯,身上可能存在众多需要改进的地方. 一.不明确自身的职责 你不在是个码农?公司聘请你不是为了让你去写代码,而 ...

  2. 吐槽中小民营IT企业管理七宗罪

    傲慢.妒忌.暴怒.懒惰.贪婪.贪食及色欲,电影<七宗罪>中借七个典型的命案告诉我们,人性中最丑陋的七大恶行.在实际的工作中自己对企业的经营和日常管理有了一些更深刻的认识,偏偏自己又是一个很 ...

  3. 七宗罪:我们是如何错误预估人工智能的

    荒谬的预估往往会导致对未来的恐惧.而为什么有人会对AI和机器人的技术前景如此恐慌?下文中,这七种错误往往导致AI和机器人前景的荒谬预测. 很多人对人工智能和机器人行业的快速发展感到十分焦虑,一部分人担 ...

  4. 【机器学习】机器学习实践中的 7 种常见错误

    编译:伯乐在线 - yixingqingkong,英文:Cheng-Tao Chu 编注:本文作者是 Codecademy 的分析主管 Cheng-Tao Chu,其专长是数据挖掘和机器学习,之前在 ...

  5. 机器学习实践中的 7 种常见错误

    转载自:http://blog.jobbole.com/70684/ 编注:本文作者是 Codecademy 的分析主管 Cheng-Tao Chu,其专长是数据挖掘和机器学习,之前在 Google. ...

  6. 程序员的四境界、七宗罪与七武器

    程序员的四个境界 国学大师王国维先生认为古今成大事业.大学问者,必经过三种境界,第一种境界:"昨夜西风凋碧树.独上高楼,望尽天涯路":第二种境界:"衣带渐宽终不悔,为伊消 ...

  7. 程序员的四境界、七宗罪与七武器 [转载]

    ==================转自友人blog================ 国学大师王国维先生认为古今成大事业.大学问者,必经过三种境界,第一种境界:"昨夜西风凋碧树.独上高楼,望 ...

  8. [提升] 程序员的四境界、七宗罪与七武器

    国学大师王国维先生认为古今成大事业.大学问者,必经过三种境界,第一种境界:"昨夜西风凋碧树.独上高楼,望尽天涯路":第二种境界:"衣带渐宽终不悔,为伊消得人憔悴" ...

  9. 麻省理工科技评论:AI预言的七宗罪(上)

    错误的推断,有限的想象力,以及其他常见的错误使我们无法更有效地思考未来.我们对人工智能和机器人的未来充满了歇斯底里的情绪:它们将会变得多么强大.多么迅速,以及它们将对就业产生怎样的影响. 来源:ATY ...

最新文章

  1. 将Tensor核心引入标准Fortran
  2. php mysql 数据字典_php如何生成mysql数据字典
  3. [蓝桥杯2016初赛]平方怪圈-数论,模拟
  4. Java8多线程ForkJoinPool:处理异常
  5. 用户首次登录之前必须更改密码_技术丨带你玩转Win10系统的用户账户
  6. 再见收费的Navicat!操作所有数据库靠它就够了!
  7. C#开发笔记之15-如何用C#获取某月最大天数?
  8. sas 检测到开型代码语句的递归_对于标准答案的递归很多人都看不懂,其实就是一个深度优先的遍历。我写了段伪代码,将递归步骤还原并注释了一下,供大家参考,希望大家有所收获。...
  9. flask 返回json_flask中request.json做了什么
  10. ios swift 实现饼状图进度条,swift环形进度条
  11. 是什么让它3年融资破4亿?神策背后的探索与巨变
  12. 无线传感器网络 | 期末复习知识点1
  13. 黑科技 —— Type-C 接口与 USB3.1
  14. calico/node is not ready: BIRD is not ready: BGP not established with 172.19.77.23
  15. VMware Fusion Player 个人免费版
  16. 世界各国电压频率和电源插头规格对照表
  17. tespeed - 测试网速的Python工具
  18. 有效降低BUCK纹波的方法(粘贴的)
  19. 如何删除tmp计算机桌面,教你Win10系统中tmp文件删除不了应该如何解决?
  20. 将蓝牙rssi(信号强度)转换成距离

热门文章

  1. Spring 注解之@RestController与@Controller的区别
  2. Recall(召回率)和 sensitivity(灵敏性)是同一个概念,其他无相同点
  3. CUDA是Nvidia开发的一种并行计算平台和编程模型,用于在其自己的GPU(图形处理单元)上进行常规计算
  4. mkdir命令使用详解
  5. 复旦张奇:如何解决NLP中的鲁棒性问题?
  6. 智源大会“人工智能伦理、治理与可持续发展论坛”超5000人线上参会,专家敦促全球多边协作...
  7. 如何破除“唯论文”?详解伯克利“科研重工业模式”的成功经验
  8. 史上最萌的统计学入门书,快来看看长啥样
  9. 如果没有杜撰,可还有历史?
  10. Android开发傲娇之作