吴恩达深度学习笔记(63)-如何进行训练/开发/测试集划分

本文探讨了在机器学习项目中如何合理地划分训练集、开发集和测试集,强调了开发集和测试集应来自同一分布的重要性,避免因分布差异导致的模型性能误差。通过实例说明了错误划分可能导致的资源浪费,并提出了随机洗牌分配数据到开发集和测试集的建议,以确保团队高效迭代和优化模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

训练/开发/测试集划分(Train/dev/test distributions)

设立训练集,开发集和测试集的方式大大影响了你或者你的团队在建立机器学习应用方面取得进展的速度。同样的团队,即使是大公司里的团队,在设立这些数据集的方式,真的会让团队的进展变慢而不是加快,我们看看应该如何设立这些数据集,让你的团队效率最大化。

吴恩达深度学习笔记(63)-如何进行训练/开发/测试集划分
我想集中讨论如何设立开发集和测试集,开发(dev)集也叫做**(development set),有时称为保留交叉验证集(hold out cross validation set)**。

然后,机器学习中的工作流程是,你尝试很多思路,用训练集训练不同的模型,然后使用开发集来评估不同的思路,然后选择一个,然后不断迭代去改善开发集的性能,直到最后你可以得到一个令你满意的成本,然后你再用测试集去评估。

现在,举个例子,你要开发一个猫分类器,然后你在这些区域里运营,美国、英国、其他欧洲国家,南美洲、印度、中国,其他亚洲国家和澳大利亚,那么你应该如何设立开发集和测试集呢?

吴恩达深度学习笔记(63)-如何进行训练/开发/测试集划分
其中一种做法是,你可以选择其中4个区域,我打算使用这四个(前四个),但也可以是随机选的区域,然后说,来自这四个区域的数据构成开发集。然后其他四个区域,我打算用这四个(后四个),也可以随机选择4个,这些数据构成测试集。

事实证明,这个想法非常糟糕,因为这个例子中,你的开发集和测试集来自不同的分布。我建议你们不要这样,而是让你的开发集和测试集来自同一分布。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值