深度学习中数据的拆分打乱

本文探讨了深度学习中数据集制作与划分的重要性,通过一个实例揭示了数据预处理中的错误做法导致模型在线上测试表现不佳。作者强调了理解业务、避免过度使用shuffle以及数据集划分的正确顺序对模型性能的影响,提出算法设计应紧贴具体业务需求。

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

传统的机器学习,即在深度学习流行之前的问题的一般处理流程通常是“预处理->特征变换->分类/回归”。即便现在深度学习似乎要统治业界,但要转换成这样的步骤,也不过是将“特征变换”与“分类/回归”合二为一而已,该做的预处理往往还是要做。《深度学习(Deep Learning Book)》里提过一种对深度学习的诠释思路——深度表示学习,与之类似。

但放到现实问题中来看,机器学习只不过是整个问题解决过程中一个很小的组成部分。比如在公司做业务,你要收集数据、清洗数据、建立合适的数据结构,对大规模数据可能还要顺便把大规模分布式问题解决一下。等费劲千辛万苦拿到“干净”的数据之后,才进入机器学习/模式识别问题的一般步骤。 
而实际上,至少七成时间花在了准备数据的阶段。很多人学机器学习往往只重视算法或者模型,学深度学习的只看网络结构和调参方法,但不要忘了,这是因为有人为你准备好了数据集和评测流程、方法。对于实际问题,这一整套框架都要根据实际情况去设计、改进,使之贴近业务,提供更好的服务。

做科研有做科研的方法,做实际业务是另一套模式。业界需要的大量的算法工程师,往往是做这些看似琐碎的无趣的活,这样看来程序员转算法工程师其实是比较容易的。 
啊哀叹一下为什么我编程这么菜……

扯淡结束。这篇博文要记录的内容,与数据集的制作与划分有关。 
本文还是以大白话写就,您读着也省劲,我写得也轻松。

Part 1. 实例: 一个信号处理问题
就从实际问题的背景开始,由导师的项目说起吧。 
项目需要完成一个系统,我负责实验设计、总体设计和信号处理+识别。这个项目的信号或者说数据是按时间采样得到的,比如说采样率是500Hz每秒就能得到500个点。一次采集在一分钟以上,只需要其中的不到三十秒的数据。 
所以问题就来了:得到一组数据需要至少一分钟,而且这个采集过程不能长时间运行,一次实验最多采三十组数据;更尴尬的是,实验比较特殊,不是想做几组就做几组的。 
也就是说,我们必须要用比较少的采集组数得到数据集,还要训练一个比较可靠的模型,用来做信号的识别/分类。 
一开始我想得很简单——少就少呗,无

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值