基于深度学习的轴承故障识别-数据预处理

我这几天在公共号上看一个数据挖掘数据分析的大佬分享经验,讲到数据预处理的重要性,说在学习的时候都是下载下来标准数据集,数据齐齐整整的,等工作实际上项目遇到的数据都是大量噪点。数据预处理经常被低估重要性,说到深度学习可能会想到神经网络,想到网络层,想到算法,但是潜意识总觉得数据处理是另一块的东西。我自己的看法是,比起黑箱的深度学习过程, 数据预处理直观得多,效果也很明显。
说了一大堆,我这个毕设用的数据集也是标准数据集,也没有啥要处理的噪点,所以主要就是做了一下数据增强。
【基于深度学习的轴承故障识别-数据预处理】数据增强的目的就是在不实质性增加数据的情况下,让有限的数据产生等价于更多数据的价值。就像张飞让部下在马尾绑树枝跑来跑去假装人多一样,用一定的方式使数据对训练集而言显得更多。
如果处理的是图片,可以将图片做几何变换(翻转,旋转,缩放等),也可以做颜色变换(模糊,噪声,填充等),生成对抗网络也是很好的数据增强方式。更多的可以看参考1言有三的文章。
这里数据增强的方法用的是重叠采样,采集训练样本时,选定样本长度为l,步长为s偏移,若数据集共有n个数据,则可以得到[n-(l-s)]个训练样本,用这种方法扩充数据量。
基于深度学习的轴承故障识别-数据预处理
文章图片
重叠采样(图片来自哈工大张伟的论文) 另外,数据样本有限,划分数据集的时候,可以采用交叉验证法或者留一法等方法。
交叉验证法(cross validation)即将数据集划分成k个互斥子集,为了确保数据的一致性,子集通过分层采样获取。训练时,k-1个子集作为训练集,余下的一个子集是测试集。此方法实际性能的稳定性很大程度取决于k的取值,故通常称为“k折交叉验证”(k-fold cross validation),k最常用的取值是10,此时称为10折交叉验证。
基于深度学习的轴承故障识别-数据预处理
文章图片
k折交叉验证(图片来自周志华机器学习) 当k的取值与数据集的样本数相同,即每个子集只有一个样本时,为交叉验证法的一个特例:留一法(Leave-One-Out)。这种方法下训练集仅比整个数据集少一个样本,样本利用率最高,保证了训练集的数量和训练后模型的性能。
关于这方面的更多内容详见周志华机器学习2.2.1章节。
1.言有三.【技术综述】深度学习中的数据增强方法都有哪些?
2.张伟.基于卷积神经网络的轴承故障诊断算法研究[D].哈尔滨:哈尔滨工业大学,2017.
3.周志华.机器学习,26-27
点击此处返回总目录:基于深度学习的轴承故障识别

    推荐阅读