基于自编码神经网络的无监督特征提取方法与流程

文档序号:12272425阅读:1740来源:国知局
基于自编码神经网络的无监督特征提取方法与流程

本发明涉及机械故障诊断技术领域,具体涉及基于自编码神经网络的无监督特征提取方法。



背景技术:

机械故障诊断在工业生产中起着越来越重要的作用,故障诊断就是在设备运行中或基本不拆卸设备的情况下,掌握设备的运行状况,根据对被诊断对象测试所取得的有用信息进行分析处理,判断被诊断对象的状态是否处于异常状态或故障状态,判断劣化状态发生的部位或零部件,并判定产生故障的原因,以及预测状态劣化的发展趋势等。其目的是提高设备效率和运行可靠性,防患于未然,避免故障的发生。

机械故障诊断中,设备运行数据的先验知识中包含有设备运行状态、运行工况等重要信息,大多数特征提取方法的研究重点也聚焦在如何充分挖掘并利用先验知识上。然而,对于海量的机械状态信号,相关先验知识往往很难甚至无法获取。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供基于自编码神经网络的无监督特征提取方法,在无先验知识的条件下,可以挖掘设备海量状态数据的内在规律并提取特征。

为了达到上述目的,本发明采用的技术方案为:

基于自编码神经网络的无监督特征提取方法,包括以下步骤:

(1)训练数据矩阵的构建:

采集设备运行数据,在设备运行数据中每一组数据上任意选取一个点,从该点之后截取m个点构成数据矩阵,从该数据矩阵任意选取n组数据用来构建训练数据矩阵,剩下的数据构建测试数据矩阵,由此就构建了自编码神经网络的m×n维训练数据矩阵;

(2)把训练数据矩阵的各个分量值归一化到[0,1]之间:

将训练数据矩阵中的所有元素作为一个整体进行归一化,归一化处理过程为:其中:{xi}为设备运行数据,为归一化后的数据,max(xi)为中的最大值,min(xi)为中的最小值;

(3)参数学习,得到自编码神经网络模型:

自编码神经网络由输入层、隐藏层和输出层构成,参数学习过程,即对自编码神经网络的训练过程,在训练过程中,自编码神经网络规定网络的期望输出等于网络的输入,即自编码神经网络参数学习的目标是使得网络的输出等于网络的输入,

自编码神经网络的参数为(W,b)=(W(1),b(1),W(2),b(2)),其中表示第p层第j神经元与第p+1层第i神经元之间的权值,是第p+1层第i神经元的偏置项,

自编码神经网络在包含m个样本的数据集上的整体代价函数为:

hW,b(x)表示自编码神经网络的输出,np表示网络的层数,sp表示第p层的神经元个数,表示第p层第j神经元与第p+1层第i神经元之间的权值;

代价函数J(W,b)取得最小值时的W,b就是训练完毕的自编码神经网络的参数;

(4)计算隐藏层的输出,获取特征:

基于自编码神经网络的无监督特征提取方法提取到的特征其实就是隐藏层的输出,当自编码神经网络的参数在训练过程中确定后,将测试数据x输入到网络中,利用前向算法计算得到隐藏层神经元的激活值构成的向量a,而这个a就是对原始数据x提取的特征表示;

(5)按照“对折取值”法确定最佳隐藏层神经元的个数:

5.1)确定自编码神经网络输入层的神经元个数,输入层神经元的个数等于训练数据的维数;

5.2)然后确定隐藏层神经元个数的取值范围,最小值nmin默认为1,最大值nmax设置为网络输入层的神经元个数;

5.3)确定好取值范围后,找出取值范围的中间点m1,该点将取值范围分成两个范围[nmin,m1]和[m1,nmax],然后找出这两个范围各自的中间点m2m3,将以上5个值nmin,m1,m2,m3,nmax作为隐藏层单元数,并将它们对应的自编码神经网络提取的特征利用模式识别的方法进行分类,通过比较5个值对应的分类结果判断出隐藏层神经元个数在哪个区间上取值时自编码神经网络提取特征的有效性更好;

如果隐藏层神经元个数为m3,nmax时对应的分类结果比隐藏层神经元个数为m1,nmin时对应的分类结果好,那么说明隐藏层神经元个数在区间[m1,nmax]内取值自编码神经网络特征提取的有效性更好,那么下一步就在区间[m1,nmax]内使用同样的方法确定更小的取值区间,直至找到合理的隐藏层神经元个数,最终确定自编码神经网络的结构。

本发明的有益效果为:在网络的训练学习中,自编码神经网络规定网络的期望输出等于网络的输入,即自编码神经网络学习的目标是使得网络的输出等于网络的输入,比如y(i)=x(i),这样的学习目标使得自编码神经网络的训练过程中不需要训练数据提供期望网络输出。本发明在缺乏先验知识的情形下,基于自编码神经网络的无监督特征提取方法可以挖掘设备海量状态数据的内在规律并提取特征。

附图说明

图1为本发明的框架流程图。

图2为自编码神经网络模型的结构示意图。

图3为基于自编码神经网络的特征提取过程示意图,(a)自编码神经网络参数训练示意图,(b)用自编码神经网络参数计算隐藏层输出示意图。

图4为实例构建的自编码神经网络结构示意图。

具体实施方式

下面结合附图和实例对本发明作进一步详细描述。

参照图1,将基于自编码神经网络的无监督特征提取方法运用到齿轮箱数据的无监督特征提取中,包括以下步骤:

(1)训练数据矩阵的构建:

采集设备运行数据,在设备运行数据中每一组数据上任意选取一个点,从该点之后截取m个点构成数据矩阵,从该数据矩阵任意选取n组数据用来构建训练数据矩阵,剩下的数据构建测试数据矩阵,由此就构建了自编码神经网络的m×n维训练数据矩阵;

1.1)采集齿轮箱运行数据,将加速度传感器的安装位置设在输入轴端盖上方,齿轮箱的运行工况通过改变输入轴的转速或输出轴的载荷来人为调整;针对齿轮箱的h个不同运行状态,各采集g组数据,共采集g×h组数据,在每一组数据的上任意选取一个点,从该点之后截取m个点构成g×h组新的数据矩阵;

1.2)构建训练数据矩阵,从代表每种运行状态的g组数据中随机选取n1组数据作为诊断技术的训练数据,余下的g-n1组数据则作为测试数据,故共有n=h×n1组训练数据,h×(g-n1)组测试数据,因此,训练数据矩阵的大小为m×n,在本实例中构建的训练数据矩阵大小为512*10000;

(2)把训练数据矩阵的各个分量值归一化到[0,1]之间:

训练数据矩阵中每组训练数据的各个元素之间没有对应关系,因此在归一化时,不再是对训练数据矩阵以列或行为单位进行归一化处理,而是将训练数据矩阵中的所有元素作为一个整体进行归一化,归一化处理过程为:其中:{xi}为设备运行数据,为归一化后的数据,max(xi)为中的最大值,min(xi)为中的最小值;

(3)参数学习,得到自编码神经网络模型:

参照图2,自编码神经网络由输入层、隐藏层和输出层构成,参数学习过程,即对自编码神经网络的训练过程,在训练过程中,自编码神经网络规定网络的期望输出等于网络的输入,即自编码神经网络参数学习的目标是使得网络的输出等于网络的输入,

自编码神经网络的模型参数为(W,b)=(W(1),b(1),W(2),b(2)),其中表示第p层第j神经元与第p+1层第i神经元之间的权值,是第p+1层第i神经元的偏置项,自编码神经网络的训练目的是为了找到合适的参数(W,b)使得网络在训练数据集上的实际输出与网络输入之间的差别达到最小,即使得代价函数J(W,b)取得最小值;

首先按前向算法计算出自编码神经网络的输出hW,b(x),然后计算自编码神经网络的代价函数,自编码神经网络在包含m个样本的数据集上的整体代价函数为:

hW,b(x)表示自编码神经网络的输出,np表示网络的层数,sp表示第p层的神经元个数,表示第p层第j神经元与第p+1层第i神经元之间的权值;

最后找到合适的自编码神经网络的模型参数(W,b)使代价函数J(W,b)取得最小值,网络模型训练之前先将每一个参数和初始化为很小的接近于0的随机值,迭代优化过程中(W,b)的更新公式为:

式中:α——学习速率;——偏导数;——偏导数,代价函数J(W,b)取得最小值时的W,b就是训练完毕的自编码神经网络的模型参数;

(4)计算隐藏层的输出,获取特征:

基于自编码神经网络的无监督特征提取方法提取到的特征其实就是隐藏层的输出,如图3所示,当自编码神经网络的模型参数在训练过程中确定后,将测试数据x输入到网络中,利用前向算法计算得到隐藏层神经元的激活值构成的向量a,而这个a就是对数据x提取的特征表示;

对采集数据进行特征提取,从每组数据中的任意点开始选与取输入层个数相对应的点数,输入到自编码神经网络中,得到隐藏层神经元的激活值作为该组数据的特征向量;于是高维的训练数据便转换成了低维的训练数据,其中每一列表示一组数据,同时高维的测试数据转换成低维的测试数据,如此便完成了基于自编码神经网络的特征提取过程;

(5)按照“对折取值”法确定最佳隐藏层神经元的个数:

5.1)确定自编码神经网络输入层的神经元个数,输入层神经元的个数等于训练数据的维数,本实施例中,输入层神经元的个数为512个;

5.2)然后确定隐藏层神经元个数的取值范围,最小值nmin默认为1,最大值nmax设置为网络输入层的神经元个数,本实施例中隐藏层神经元个数范围为[1,512];

5.3)确定好取值范围后,找出取值范围的中间点m1,该点将取值范围分成两个范围[nmin,m1]和[m1,nmax],然后找出这两个范围各自的中间点m2m3,将以上5个值nmin,m1,m2,m3,nmax作为隐藏层神经元个数,并将它们对应的自编码神经网络提取的特征利用K近邻分类方法进行分类,通过比较5个值对应的分类结果判断出隐藏层神经元个数在哪个区间上取值时自编码神经网络提取特征的有效性更好;

本实施例中在取值范围内选取64,128,256,384,512这几个二分点作为隐层单元数,然后将对应自编码神经网络提取的特征用K近邻方法进行分类,表1为第一次K近邻方法的分类结果;当网络隐层单元数小于128时K近邻分类的正确率较高,说明此时自编码神经网络提取的特征性能较好,因此,下一步应集中在[1,128]范围内寻找合适的隐藏层神经元个数,在[1,128]范围内选取若干个二分点,得到它们的K近邻分类结果如表2所示,可以看出,隐藏层神经元个数在[32,48]区间内K近邻分类的正确率高,说明此时自编码神经网络提取的特征性能好,因此,应继续在[32,48]区间内选取二分点,然后比较它们的K近邻分类结果,最终,经过比较发现当隐藏层神经元个数取42时,K近邻分类效果最好,故选取自编码神经网络的隐藏层神经元个数为42,也就是说自编码神经网络提取的特征向量维数为42,于是,自编码神经网络的结构确定为512-42-512,如图4所示,图4为本实施例构建的自编码神经网络模型的结构示意图。

表1

表2

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1