模式识别

更新时间:2024-03-26 01:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

神经网络在特征提取中的应用

于大永

(郑州大学 郑州 450001)

[摘要] 本文提出了一种对非平稳信号进行特征提取及模式识别的方法: 根据多数信号是非平稳的特点,采用基于小波包分解能量的方法对信号的各频带进行分解,得到信号在不同频带内的能量分布特性.仅根据能量谱并不能完全区分不同类型信号,通过对信号高阶统计特性的分析,提取出高阶谱特征频率,结合这两种方法提取出的特征作为神经网络的输入向量进行模式识别。

关键词:高阶谱、高阶统计量、小波包、神经网络、特征识别 1.概述

机械故障诊断是以机械学为基础的一门综合技术。机械故障诊断的关键是如何从机械故障振动信号中提取故障特征,信号分析和处理是特征提取最常用的方法。机械故障振动信号本质上是非高斯、非平稳信号,近年来,为满足对机器故障进行早期检测、诊断的需要,非高斯、非平稳信号处理方法在机械故障诊断领域受到了广泛的关注。如何确实有效地结合振动信号自身特点,创新性的应用非高斯、非平稳信号处理理论解决机械故障诊断中的信号降噪、故障特征提取等问题是当前机械故障诊断领域迫切需要研究的重点课题之一。基于此,本文提出了一种对非平稳信号进行特征提取及模式识别的方法: 根据信号是非平稳的特点,采用基于小波包分解能量的方法对信号的各频带进行分解,得到信号在不同频带内的能量分布特性.仅根据能量谱并不能完全区分不同类型信号,通过对信号高阶统计特性的分析,提取出高阶谱特征频率,结合这两种方法提取出的特征作为神经网络的输入向量进行模式识别。 2. 小波包能量特征提取原理

故障信号多数是一种非平稳信号,小波包分析作为一种比小波分析更为精细的分解方法,它的每一层分解不仅对低频部分,而且对高频部分也进行分解,从而提高了信号的时频分辨率,可见小波包分析具有更广泛的应用价值。

小波包分解算法为:

1?d?h0(k?2l)dj?1,k,n??j,l,2n2k? ?1?dh1(k?2l)dj?1,k,n?j,l,2n?1??2k?式中:{dj?1,k,n}为上层小波包分解结果;{dj,l,2n}与{dj,l,2n?1}为下一级分解结果;j 为尺度指标;l为位置指标;n 为频率指标;k 为变量;h0和h1为分解采用的多分辨率滤波器

1

系数。

小波包重构算法为:

dj?1,l,n??(h0(l?2k)dj,k,2n?h1(l?2k)dj,k,2n?1)

k按照能量方式表示的小波包分解结果称为小波包能量谱。

设信号采样频率为 2f ,若对信号进行 j 层小波包分解,则可形成 2j 个等宽频带,每个区间频宽为f / ( 2j ).小 波 包 分 解 后 ,得 到 j 层 小 波 包 系 数Cj,m,k,k=0,1,?,2j?1,m 为小波包空间位置标识。

根据Parseval能量积分等式,信号 x (t )在时域上的能量为:

x(t)2??????x(t)dt

2由Parseval能量积分等式关联起来可知,上式与 x (t )的小波包变换系数Cj,k具有能量量纲,因此用小波包能量谱表示原始信号中的能量分布是可靠的。

选取信号归一化能量作为信号的特征参数,基于小波包分析的能量特征提取步骤有3步:

(1) 对信号进行 j 层小波包分解;

(2) 选择 n 个对信号能量最为敏感的若干频带,求出各频带的能量并对其进行归一化处理,即

2Tj,k??Cj,m,km

T'j,k?Tj,k?Tn

j,k式中:Tj,k为小波包分解能量;T'j,k为归一化能量。

(3) 将上述归一化能量作为信号特征向量,将其作为后续分类器输入,即

T?[T1',T2',?,Tn']

式中 T 为小波包分解归一化能量特征组成的特征向量。 3. 高阶谱特征提取

高阶谱是另外一种处理非线性非高斯信号的有力工具,高阶累积量的多维傅里叶变换定义为高阶谱(或称多谱).与功率谱相比,高阶谱可以抑制高斯噪声,分辨率高,并能够得到信号相位、能量和非线性等有用信息.通过把小波包能量谱与高阶谱结合起来,能够多方面提取信号的特征信息,具有一定的实际应用价值.高阶谱中双谱的阶数最低,计算较为简单,但包含了高阶谱的所有特征,所以本文中采用了基于三阶谱也称双谱的特征提取方法.

双谱可以由信号的离散傅里叶变换表示为:

2

Bx(f1,f2)?E[X(f1)X(f2)X*(f1?f2)]

式中:X(fi)为信号的离散傅里叶变换;fi为频率变量;i=1,2;E[ ]表示数学期望。 双谱为复值谱,有2个频率变量f1和f2,双谱在f1和f2构成的频率平面内共有12个对称区域,因此,无需计算所有频率点上的双谱值,只需要计算主区域内的双谱值,再根据其对称性即可以求出(f1,f2)平面上的所有双谱值.双谱估计有直接法和间接法2种:直接法先估计其傅里叶序列,然后对该序列作三重相关运算,即可得到双谱估计;间接法先估计三阶累积量,再取累积量序列的傅里叶变换得到双谱。本文中双谱估计采用间接法.

间接法进行双谱估计的主要步骤有4步: (1)

将长度为 N 的实验数据 {x(i)}分成 K 段,每段有M 个数据,即 N=KM,进行去均值操作。

(2)

设{xj(i)}(i?1,2,?,M;j?1,2,?K)为第 j 段数据,计算每段数据的三阶

1c3x,j(m,n)?M?i?k1?xk2j(i)xj(i?m)xj(i?n)

1,?m,?n}累积量估计:k1?max{k2?min{M,M?m,M?n}(3)

对c3x,j(m,n)进行统计平均,得到 K 组数据的累积量估计,即:

1c3x,j(m,n)?K??cj?11k3x,j(m,n)

(4)

根据三阶累积量c3x,j(m,n)进行二维傅里叶变换,得到双谱估计。

4. BP神经网络的原理

神经网络是由大量简单的处理单元组成的一种非线性、自适应、自组织系统。它是在现代神经科学研究成果的基础上,试图通过模拟人类神经系统对信息进行加上、记忆和处理的方式,设计出的一种具有人脑风格的信息处理系统。

自40年代Hebb提出的神经网络学习规则以来,人们相继提出了各种各样的学习算法。BP算法的学习过程是由正向传播和反向传播两个过程组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,使得误差信号最小。该误差信号被称为代价函数,因此,BP算法实际上是通过使代价函数最小化过程完成输入到输出的映射。

BP算法把神经网络各节点的输出误差归结为各个节点的“过错”,通过将网络输出层

3

单元的误差逐层向输入层逆向传播以“分摊”给各个单元,从而获得各层单元的参考误差以调整相应的连接权值。

图1 BP神经网络模型

标准的BP网络由三层神经元组成,其结构如图1所示。

最下面为输入层,中间层为隐含层,最上面为输出层。网络中相邻层采取全互联方式连接,同层各神经元之间没有任何连接,输出层与输入层之间也没有任何连接。在此我们假设输入层、隐含层、输出层神经元的个数分别为L、M和N。

可以证明:在隐含层节点可以根据需要自由设置的情况下,那么用三层前向神经网络可以实现以任意精度逼近任意连续函数。

BP神经网络中的动力学过程有两类:一类是学习过程,在这类过程中,神经元之间的连接权将得到调整,使之与环境信息相符合。连接权的调整方法称为学习算法。另一类过程是指神经网络的计算过程,在该过程中将实现神经网络的活跃状态的模式变换。与学习过程相比,计算过程的速度要快的多,因而,计算过程又称为快过程。与之对应,学习过程通常称为慢过程。

可以 按如下步骤来设计BP网络的具体的学习过程:

1. 结构及参数的确定:输入输入层、隐含层、输出层的神经元数目,学习效率?。

惯性项校正系数?以及误差收敛因子?;

2. 网络状态初始化:用较小的(绝对值为1以内)随机数对网络权值知wji、阀值

置初值;

3. 提供学习样本:输入向量xp?????j?p?1,2,???,p?和目标向量tp?p?1,2,???p?;

4

4. 学习开始:对每一个样本进行如下操作:

? 计算网络隐含层及输出层各神经元的输出

??l??l?l??Opj?fjneIpj?fj??wljiOil?1???j? ?i???? 计算训练误差

?2??2??2??2??1?Opj??tpj?Opj? 输出层 ?pj?Opj?1??1??1??2??2??1?Opj???pk?pj?Opjwkj 隐含层

k? 计算并保存各权值修正量

l??l??l?1?l?l??w?ji???pjOpi??w?ji(n)?w?ji(n?1)??

? 修正权值和阀值

l??n?1??w?jil???w?jil? w?ji?l???jl??n?1????jl??n????pj

?t?5. 是否满足Opj?n??tpj?n???,若是,则执行下一步;否则,返回第2步;

6. 停止。 其程序流程图2所示

与其他求输入/输出关系式方法不同的是,神经网络的输入/输出是根据网络结构表示的,并且网络的权值往往是通过训练得到的,而不是根据某种性能指标计算出来的。所以,应用神经网络解决实际问题的关键在于设计网络,而网络的设计主要包括两方面的内容,一是网络结构,另一个是网络权值的确定。第一个方面涉及到对不同网络结构所具有的功能及其本质的认识,第二个方面涉及到对不同网络权值训练所用的学习规则的掌握。

5

图2 BP算法流程图

5. 神经网络识别系统设计

1. 输入特征向量的设计

由于神经元的映射函数为有界函数,一般BP人工神经网络的输入值取在??1,?1?之间,而实际工作中所采集的样本值不可能如此规范,因此必须对其进行一些 “加工”处理。根据提取的特征值不同,设计如下三种方法: (1)输入特征向量为L1范数时:

for(i?1;i?7;i??)p[i]?log10?p[i]?;

p[1]?p[1]?3;

for(i?2;i?7;i??)(2)当输入特征向量为能量时:

p[i]?1;

6

for(i?1;i?7;i??)p[i]?log10?p[i]?;

p[1]?p[1]?5;

for(i?2;i?4;i??)for(i?5;i?7;i??)p[i]?3; p[i]?2;

(3)当输入特征向量为小波包能量谱特征和双谱特征频率向量时:

for(i?1;i?7;i??)p[i]?log10?p[i]?;

p[1]?p[1]?6;

for(i?2;i?4;i??)for(i?5;i?7;i??)2. 网络的结构参数设计

p[i]?4; p[i]?3;

本文采用含有三层即输入层、隐含层、输出层的BP网络。将小波包能量谱和高阶谱特征数据作为神经网络故障诊断系统的输入。而对于BP网络,输入节点数等于输入模式的维数,即特征个数。信号能量特征维数是10,因此网络的输入节点数设计为10。输出节点取类别数为3。

隐含节点数目如果太少,则网络可能根本无法训练;如果隐含节点数目刚刚够,则网络可以训练,但鲁棒性不好,抗噪音能力差,无法辨识以前未见过的模式;如果隐含节点数目过大,则除了需要很多训练样本外,还可能会建立一个“老祖母”网络,具有了所有模式,而无法认识新的内容,同时训练时也必然耗费更多的时间,并占有更多的内存。

一般情况下可按下式给出:

nH?nI?nO?l

式中 nH为隐含层节点数目;

nI为输入层节点数目;

nO为输出层节点数目;

l为1-10之间的整数;

本文隐含节点数设计为8。

惯性系数按经验取0.7,学习效率取0.1, 精度要求取0.001,最大训练次数为 10000,希望输出矩阵如下所示。其中,?y1,y2,y3?表示信号三种形式的希望输出矢量矩阵。

? 7

?y1??0.990.010.01??y???0.010.990.01? ?2?????y3????0.010.010.99??6. 结论

对于常见的非平稳信号,如管道的振动信号、现场拍摄到的故障图相等,本文提出的方法应能很好的对其进行识别,提取出特征信息。 参考文献:

[1] 孙洁娣,靳世久等. 基于小波包能量及高阶谱的特征提取方法[J].天津大学学报, 2010, 43(6): 562-566. [2] 刘雪霞, 张琦, 谭业发等. 高阶谱分析技术在轴承故障信号特征提取中的应用[J]. 机床与液压. 2008,36(7):155-157

[3] 杜宁平,史军,朱红涛. 高阶统计量分析在油气预测中的应用[J]. 海洋地质动态. 2004(08) [4]杨晨阳,屈剑明,李少洪,毛士艺.高阶统计量在检测中的应用[J]信号处理.1995(11)

8

本文来源:https://www.bwwdw.com/article/vsyr.html

Top