分享Andrew Ng在深度学习暑期班中演讲的机器学习项目

更多深度文章,请关注:https://yq.aliyun.com/cloud




作者:Thomas Johnson,位于芝加哥

大家可以去GitHub看项目。

本文尝试从在2016年深度学习暑期学校中Andrew Ng的“应用深度学习的基本要点”谈话中总结了他的推荐机器学习工作流程。任何错误或误解都是我自己的观点。

从此开始

1.在你的任务上衡量一个人的表现

2.你的训练和测试数据来自相同的分布吗?

  • 是的
  • 不是

如果你的训练和测试数据来自相同的分布

1.打乱并将您的数据分成训练/开发/测试集

Ng建议训练/开发/测试拆分约70%/ 15%/ 15%。

2.测量你的训练错误和开发集错误,并计算偏差和方差

计算你的偏差和方差为:

偏差=(训练集错误) - (人为错误)

方差=(开发集错误) - (训练集错误)

3.你的偏差值高吗?

高偏差的例子:


错误类型


错误率


人为错误


1%


训练集错误


5%


开发集错误


6%

 

在进入下一步之前修正高偏差。

4.你有高方差吗?

高方差的例子:


错误类型


错误率


人为错误


1%


训练集错误


2%


开发集错误


6%

一旦你解决了高方差,那么你完成了!

如果你的训练和测试数据不在同一分布上

1.拆分你的数据

如果你的训练和测试数据来自不同的分布,请确保至少您的开发和测试集是从相同的分布。你可以这样做,采取你的测试集,并使用一半作为开发和一半作为测试。

把你的训练集中的一小部分(称之为“训练-开发”),并将您的测试数据分解为开发和测试:


训练(分布1)


测试(分布2)


训练


训练-开发


开发


测试

 

2.测量你的错误,并计算相关指标

计算这些指标,以帮助你了解你的工作重点:


错误类型


公式


偏差


(训练错误)-(人为错误)


方差


(训练-开发错误)-(训练错误)


训练/测试不匹配


(开发错误) - (训练-开发错误)


开发错误


(测试错误) - (开发错误)

 

3.你有高偏差吗?

高偏差的例子:


错误类型


错误率


人为错误


1%


训练集错误


10%


训练-开发错误


10.1%


开发集错误


10.2%

在进入下一步之前修正高偏差。

4.你有高方差吗?

高方差的例子:


错误类型


错误率


人为错误


1%


训练集错误


2%


训练-开发错误


10.1%


开发集错误


10.2%

在进入下一步之前修正高方差。

5.你有训练/测试不匹配吗

训练/测试不匹配的例子:


错误类型


错误率


人为错误


1%


训练集错误


2%


训练-开发错误


2.1%


开发集错误


10%

在进入下一步之前修正训练/测试不匹配。

 

6.你是否过度拟合你的开发集?

过度拟合开发集的例子:


错误类型


错误率


人为错误


1%


训练集错误


2%


训练-开发错误


2.1%


开发集错误


2.2%


测试错误


10%

一旦你解决了拟合开发集,那么你完成了!

如何修正高偏差

Ng提出了这样一种修正高偏差模型的方法:

  • 尝试一个更大的模型
  • 尝试更长时间的训练
  • 尝试一个新的模式架构(这可能很难)

如何修复高方差

Ng提出了一些修正高方差模型的方法:

  • 获取更多数据
  •  这包括数据合成和数据扩充
  • 尝试添加正则化
  • 尝试提前停止
  • 尝试新的模型架构(这可能很难)

如何修复训练/测试不匹配

Ng建议用这种方式来修正一个具有高训练/测试不匹配的模型:

  • 尝试获得更多与你的测试数据类似的数据
  • 尝试数据合成和数据扩充
  • 尝试新的模型架构(这可能很难)

如何解决过度拟合你的开发组

Ng建议只有一种方式来修复设备过度配置:

  • 获取更多的开发数据

据推测,这也将包括数据合成和数据增加。

以上为译文

文章原标题《Deep Learning Project Workflow》,作者:Thomas Johnson译者:tiamo_zn,审校:李烽。

文章为简译,更为详细的内容,请查看原文

时间: 2024-12-03 12:32:31

分享Andrew Ng在深度学习暑期班中演讲的机器学习项目的相关文章

斯坦福大学邢磊演讲干货:深度学习在放疗中的应用

作为医学影像方面的技术专家和实战专家,斯坦福大学医学物理中心主任.汇医慧影首席科学家邢磊教授近日连续受邀参加国内外放射放疗学术会议,包括2017美国医学物理年会(AAPM), 成都图像计算与数字医学国际研讨会, 第一界人工智能在医学中的应用峰会, 美国放射肿瘤学会(ASTRO)年会, 以及由北京医师协会放射专科医师分会等.近年来AI技术被广泛讨论. 如何将AI融合临床,如何帮助影像医生释放更多价值,如何从影像诊断为切入点,用AI来深入肿瘤治疗全链条,也是当前热门话题,这是一场数据和算法的博弈,更

AR算法原理及深度学习在计算机视觉中的应用

去年以来,越来越多的AR技术被用在各大互联网公司APP的营销场景中,其中最多的便是AR识别和追踪.但一段时间内,真正掌握识别追踪核心技术和应用的国内团队并不多,甚至出现了专门提供AR识别SDK的小公司创业机会. 那么,AR识别技术背后的算法原理是什么,以及计算机视觉与深度学习在AR中的应用热点趋势有哪些?本次分享会从图像特征提取.特征匹配与图像变换.深度学习算法等方面给你进行深入浅出的技术展现,让AR识别技术不再成为难以逾越的技术壁垒. 原文链接

深度学习在语音识别中的声学模型以及语言模型的应用

         过去 3 年,深度学习在各个领域取得较大突破,比如计算机视觉领域的物体识别.场景分类,语音分析等,并且其技术推广和应用的速度超过人们预期,比如 Google 的广告系统已经开始使用深度学习盈利,Twitter 也通过深度学习改善App 图片及视频内容服务体验.那具体何为深度学习呢?深度学习是怎么应用在上述的各个领域呢,下面结合自身在语音识别的若干年经验,谈谈深度学习在语音识别中的具体应用. 0. 背景          "深度学习"的概念在上个世纪便被提出,但Hint

atlas-怎么学习正在孵化中的Apache开源项目?

问题描述 怎么学习正在孵化中的Apache开源项目? 最近需要学习一个apache的开源项目atlas,目前还在孵化中,才刚有0.7版本,但是资料特别少,不知如何学习 也看了官方的一些文档(http://atlas.apache.org/),但是特别少,很多东西说得不明不白 同时也上了 incubator.apahce.org/projects/atlas.html, 也说得不明不白的 有人说可以去开源社区,但开源社区在哪呢? 有人说可以用mail list,这个怎么用呢? 有人说在github

一次竞赛案例的分享——基于正则表达式的深度学习应用

本文由北邮@爱可可-爱生活 老师推荐,阿里云组织翻译. 以下为译文: 最近我决定参加CrowdAnalytix主办的 Extraction of product attribute values竞赛,在这个网站上公司可以将数据处理的问题以外包的方式交给有能力处理的人.一直以来,我擅长的是图像和视频数据处理,而这次,我尝试着处理文本. 问题是从不同长度的产品标题和产品描述中提取出制造商零件编号(MPN),这是一个标准的正则表达式问题.在简单浏览数据之后,我发现大约有54000个训练样本.因此,我决

如何理解深度学习分布式训练中的large batch size与learning rate的关系?

问题详情: 在深度学习进行分布式训练时,常常采用同步数据并行的方式,也就是采用大的batch size进行训练,但large batch一般较于小的baseline的batch size性能更差,请问如何理解调试learning rate能使large batch达到small batch同样的收敛精度和速度? 回答: 最近在进行多GPU分布式训练时,也遇到了large batch与learning rate的理解调试问题,相比baseline的batch size,多机同步并行(之前有答案是介

深度学习:神经网络中的前向传播和反向传播算法推导

1. 神经网络 这是一个常见的神经网络的图: 这是一个常见的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层,Layer L3是隐含层,当我们输入x1,x2,x3等数据时,通过隐含层的计算.转换,输出你的期望,当你的输入和输出是一样的时候,成为自编码模型(Auto-Encoder),而当你输入和输出是不一致的时候,也就是我们常说的人工神经网络. 2. 如何计算传播 首先我们先构建一个简单的网络层作为例子: 在这个网络层中有 第一层输入层:里面包含神经元i1,i2,截距:

剑桥大学研究院总结:26条深度学习经验

[编者按]8月初的蒙特利尔深度学习暑期班,由Yoshua Bengio. Leon Bottou等大神组成的讲师团奉献了10天精彩的讲座,剑桥大学自然语言处理与信息检索研究组副研究员Marek Rei参加了本次课程,在本文中,他精炼地总结了学到的26个有代表性的知识点,包括分布式表示,tricks的技巧,对抗样本的训练,Neural Machine Translation,以及Theano.Nvidia Digits等,非常具有参考价值. 八月初,我有幸有机会参加了蒙特利尔深度学习暑期学校的课程

深度学习,未来机器人的进化途径

下次你看到机器人给人递咖啡,问简单的问题,甚至开车,千万不要大惊小怪. 是的,很多所谓的智能或学习机器人仍然只能做简单的事情,它们不能按照人的大脑的方式工作.然而机器学习确实很难,大多数人工智能事实上非常工程化.发现人类与机器人之间的正确的交互方式可能更难. 然而,深度学习(当今人工智能研究员的常用手段)可能成为机器人大脑的进化途径.本月早些时候,我参加了Robotics: Science and Systems会议,对研究机器人技术的数量印象深刻,机器人技术似乎都可以用深度学习技术解决,在过去