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

简介: 深度学习项目流程,带你走出迷茫

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


71936af133bbe5d7804893ef5bd2a7e8dab4db94


作者: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,审校:李烽。

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

相关文章
|
4月前
|
机器学习/深度学习 人工智能 安全
探索AI的未来:从机器学习到深度学习
【10月更文挑战第28天】本文将带你走进AI的世界,从机器学习的基本概念到深度学习的复杂应用,我们将一起探索AI的未来。你将了解到AI如何改变我们的生活,以及它在未来可能带来的影响。无论你是AI专家还是初学者,这篇文章都将为你提供新的视角和思考。让我们一起探索AI的奥秘,看看它将如何塑造我们的未来。
154 3
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
ModelScope深度学习项目低代码开发
低代码开发平台通过丰富的预训练模型库、高度灵活的预训练模型和强大的微调训练功能,简化深度学习项目开发。以阿里魔搭为例,提供大量预训练模型,支持快速迭代与实时反馈,减少从头训练的时间和资源消耗。开发者可轻松调整模型参数,适应特定任务和数据集,提升模型性能。ModelScope平台进一步增强这些功能,提供模型搜索、体验、管理与部署、丰富的模型和数据资源、多模态任务推理及社区协作,助力高效、环保的AI开发。
209 65
|
21天前
|
存储 人工智能 云栖大会
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
【云栖大会】阿里云设计中心 × 教育部协同育人项目成果展,PAI ArtLab助力高校AIGC教育新路径
|
5月前
|
机器学习/深度学习 并行计算 PyTorch
【机器学习】探索GRU:深度学习中门控循环单元的魅力
【机器学习】探索GRU:深度学习中门控循环单元的魅力
|
3月前
|
机器学习/深度学习 人工智能 算法
探索机器学习:从线性回归到深度学习
本文将带领读者从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过代码示例,展示如何实现这些算法,并解释其背后的数学原理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和知识。让我们一起踏上这段激动人心的旅程吧!
|
4月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
90 6
|
4月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
67 1
|
3月前
|
机器学习/深度学习 人工智能 算法
机器学习与深度学习:差异解析
机器学习与深度学习作为两大核心技术,各自拥有独特的魅力和应用价值。尽管它们紧密相连,但两者之间存在着显著的区别。本文将从定义、技术、数据需求、应用领域、模型复杂度以及计算资源等多个维度,对机器学习与深度学习进行深入对比,帮助您更好地理解它们之间的差异。
|
4月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
216 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
4月前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
434 1

热门文章

最新文章