秘籍0x02基础误差分析

13-19章
  1. 快速构建并迭代你的第一个系统 试图在一开始就设计和构建出完美的系统会有些困难,不妨先花几天的时间构建并训练一个最基础的系统。 或许这个最基础的系统离我们所能构建的“最佳”系统相去甚远,但研究里面的基础功能也很有价值:你会很快地找到一些线索来帮助决定在什么方向投入时间
  2. 误差分析:根据开发集样本评估想法。 误差分析(Error Analysis) 指的是检查算法误分类的开发集样本的过程,以便你找到造成这些误差的原因。这将帮助你确定项目优先级(就像上面的例子提到的)并且获得关于新方向的灵感 。 一个想法对误差是否有改进,可以考虑极限的方式。 把精力放在改进空间最大的区域。
  3. 清洗误标注的开发集和测试集样本。 基于统计数据进行决策。
  4. 将大型开发集拆分为两个子集,专注其一。 将开发集明确地分为 Eyeball 和 Blackbox 开发两个子集将很有帮助,它使你了解在人为的误差分析过程中 Eyeball 开发集何时开始发生过拟合。 发生过拟合的时候,可以把更多的Blackbox 中的元素放到Eyeball中。
  5. Eyeball 开发集应该大到能够让你对算法主要的错误类别有所察觉。如果你正在处理一项人类表现良好的任务(比如识别图像中的猫),下面是一些粗略的指导方案 :
    • 如果分类器在 Eyeball 开发集上只犯错 10 次,这个开发集就有点小了。只有 10 个错误样本的话,很难准确估计不同错误类别的影响。但如果数据非常少且不能提供更多的 Eyeball 开发集样本时,聊胜于无,这将有助于确立项目的优先级。
    • 如果分类器在 Eyeball 开发集上样本上犯了约 20 次错误,你将会开始大致了解主要的误差来源。
    • 如果有约 50 个错误样本,你将会比较好地了解主要的误差来源。
    • 如果有约 100 个错误样本,你将会很清楚主要的误差来源。我见过有人手动分析更多的错误样本——有时候多达500个。只要你有足够多的数据,这将是无害的。

    Eyeball 开发集的大小将主要取决于你能够手动分析样本的时间,以及你所拥有的访问数据的权限;

  6. 小结:基础误差分析
    • 当你开始一个新项目,尤其是在一个你不擅长领域时,很难正确猜测出最有前景的方向。
    • 所以,不要在一开始就试图设计和构建一个完美的系统。相反,应尽可能快(可能在短短几天内)地构建和训练一个基本系统。然后使用误差分析去帮助你识别出最有前景的方向,并据此不断迭代改进你的算法。
    • 通过手动检查约 100 个算法错误分类的开发集样本来执行误差分析,并计算主要的错误类别。用这些信息来确定优先修正哪种类型的错误。
    • 考虑将开发集分为人为检查的 Eyeball 开发集和非人为检查的 Blackbox 开发集。如果在 Eyeball 开发集上的性能比在 Blackbox 开发集上好很多,那么你已经过拟合 Eyeball 开发集,并且应该考虑为其获得更多的数据。
    • Eyeball 开发集应该足够大,以便于算法有足够多的错误分类样本供你分析。对很多应用来说,含有1000-10000个样本的 Blackbox 开发集已足够。
    • 如果你的开发集不够大到可以按照这种方式进行拆分,那么就使用 Eyeball 开发集来用于人工误差分析、模型选择和调超参。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏非著名程序员

GitHub 上最火,最热门的机器学习和人工智能,数据科学项目

最近,普拉纳夫 · 达尔(Pranav Dar)发文总结了 2018 年 2 月份 Github 上最火的 5 个数据科学和机器学习项目。

12130
来自专栏GAN&CV

Rules of Machine Learning: Best Practices for ML Engineering

原文地址:https://developers.google.com/machine-learning/rules-of-ml/ 作者:Martin Zin...

15930
来自专栏程序你好

什么是TensorFlow,TensorFlow教程

12920
来自专栏ATYUN订阅号

RStudio发布新接口,在R语言中使用TensorFlow

R语言是一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘、机器学习等。今日RStudio发布博文称,已为TensorFlow创建了R接口,使R用...

39460
来自专栏AI科技评论

深度 | 为了让iPhone实时运行人脸检测算法,苹果原来做了这么多努力

AI 科技评论按:苹果从iOS11开始正式在系统中带有机器学习API,同步提供了许多基于机器学习/深度学习的手机功能。其实这之前苹果就已经做了很多研究和开发,但...

383100
来自专栏ATYUN订阅号

OpenAI开发的分级强化学习算法旨在解决高级操作

我们已经开发了一种分层强化学习算法,它学习用于解决一组任务的高级操作,可以快速解决需要数千个时间步长的任务。我们的算法应用于一组导航问题时,会发现一组用于在不同...

29460
来自专栏数据派THU

精选 Github 近期13款开源工具包!(附数据集、链接)

本文共1700字,建议阅读6分钟。 本文为你精选近期Github上的13款深度学习开源工具包和数据集,一起Star和Fork吧~

20180
来自专栏ATYUN订阅号

【学术】从一个简单的模型开始,可以让机器学习更高效

AiTechYun 编辑:xiaoshan ? 要创建通用人工智能,必须首先掌握逻辑回归 从基础开始 在试图发展对世界的科学认识的时候,大多数的领域在探索重要的...

42670
来自专栏技术翻译

机器学习如何改变软件开发

让我们把几件事弄清楚。虽然神经网络、深度学习、机器学习和人工智能似乎都是一样的,但它们都有各自的历史、起源和等级制度。

29210
来自专栏ATYUN订阅号

干货分享:成为机器学习工程师要知道的多种学习路径(附图)

如果你决心成为一名机器学习工程师的话,在这篇文章中,我们将从简单的线性回归到最新的神经网络,让你了解机器学习的所有方面,你不仅可以学习如何使用它们,还将学习如何...

433100

扫码关注云+社区

领取腾讯云代金券