人工神经网络作业Word文档格式.docx
《人工神经网络作业Word文档格式.docx》由会员分享,可在线阅读,更多相关《人工神经网络作业Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![人工神经网络作业Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/31/47a1966b-9de7-4144-9356-7970e709367d/47a1966b-9de7-4144-9356-7970e709367d1.gif)
3
4
5
6
阅卷人签字
7
8
9
试题总页数
10
SOM神经网络在滚动轴承振动诊断中的应用
摘要:
SOM网络是一种重要的无导师学习训练算法的神经网络,使用该算法进行训练后,可以将高维输入空间映射到二维空间上,并对故障现象进行自动分类,从而得出它们对应的故障原因。
本文归纳和总结了SOM神经网络多参数诊断法的实施步骤,阐述了轴承故障与振动信号之间的关系以及神经网络的工作原理和实现过程,通过实验研究,提取了反映滚动轴承故障类型的振动信号的特征参数,以构建训练神经网络的特征向量,利用MATLAB人工神经网络工具箱模拟和仿真SOM神经网络,然后用训练后的SOM神经网络对故障模式进行识别。
关键词:
振动;
滚动轴承;
故障诊断;
SOM神经网络
1故障轴承振动与信号的关系
故障滚动轴承在受载运转时,当缺陷部位与工作表面接触,都将产生一次冲击力。
这种冲击力将激起轴承系统的振动,并通过适当的振动传递通道,以振动和声音的形式传出。
信号传递过程,如图1所示。
滚动轴承工作时,由传感器拾取的振动信号成分比较复杂,损伤引起的固有衰减振动只是其中的组成部分。
当损伤微小时,往往被其他信号淹没而难以被发现。
信号处理的目的就是突出这些损伤特征成分。
图1轴承振动信号传递过程
2SOM神经网络的结构和学习算法
2.1神经网络结构
自组织特征映射神经网络是芬兰神经网络专家Kohnen于1981年提出的,网络结构由输入层和输出层组成。
输入层为单层神经元排列,其作用是通过权向量将外界信息转到输出层神经元。
输出层也叫竞争层,输出层的神经元同它周围的神经元侧向连接,成棋盘状平面。
其神经元排列有多种形式,其最典型的是二维形式。
在初始状态下,这些二维的处理单元阵列上没有这些信号特征的分布拓扑图。
利用SOM模型的这一特性,可以从外界环境中按照某种测度或者是某种可有序化的拓扑空间来抽取特征或者是表达信号的、概念性的元素。
自组织特征映射神经网络模型结构如图2所示。
图2SOM神经网络结构示意图
采用的学习算法是在胜者为王的基础上改进的。
其自组织学习过程可以描述为:
对于每一个网络的输入,不仅获胜神经元本身要调整权向量,其周围的神经元在其影响下也要不同程度地调整权向量。
这一调整过程,就是学习—竞争—学习。
随着不断学习,所有权矢量都在输入矢量空间相互分离,形成各自代表输入空间的一种模式,即为网络的自组织聚类功能。
2.2SOM神经网络学习
SOM网络采用的学习算法称为Kohonen算法,按如下步骤进行:
(1)初始化。
将网络数值向量集
(j=1,2,…,m)赋予[0,1]区间随机值,确定学习率初始值
,确定邻域初始值
的领域
,确定总学习次数
,
为输出层神经元数目。
(2)接受输入。
从输入向量集中随机选取向量
提供给网络输入层,并进行归一化处理。
其公式如下:
(3)寻找获胜节点。
计算
和
的点积,从中选出点积最大的获胜节点
;
计算欧式距离,找出距离最小的获胜节点。
(4)定义优胜邻域。
设
为中心确定
时刻的权值调整域,一般初始邻域
较大,训练过程中
随训练时间收缩。
(5)调整权值。
对优胜邻域
内的所有节点调整权值
其中:
为神经元的权值;
为训练时间
和第
个神经元与获胜神经元
之间的拓扑距离
函数。
(6)结束检查。
训练结束是以学习率
是否衰减到0或某个预定的正小数为条件,不满足条件则回到
(2)。
3滚动轴承故障诊断的SOM神经网络
3.1滚动轴承常见故障特征参数选择
描述滚动轴承振动时域波形的常用指标有均方根值,在峰值因子、波形因子、脉冲因子、裕度因子和峭度等参数指标当中,均方根植是有量纲参数指标,其余是无量纲参数指标。
因为有量纲参数指标依赖历史数据并且对载荷和转速的变化比较敏感,而无量纲参数指标基本不受轴承型号、转速和载荷等因素的影响,无需考虑相对标准或与以前的数据进行比较,另外,它们不受信号绝对水平的影响,所以即使测试条件略有变化,对参数的计算结果也不会产生太大的影响。
选择峰值因子、波形因子、脉冲因子、裕度因子和峭度等5个无量纲参数组成表征滚动轴承运行状态的特征向量,并作为SOM神经网络的输入参数。
3.2SOM神经网络样本数据的建立
通过实验测得滚动轴承各种故障状态下的上述5个参数作为振动数据,经数据采集系统后,对数据进行时域信号处理,不停的对轴承的状态进行监测,对每种典型的故障形式分别进行三组标准样本的数据采集,最后提取采集的特征向量组成神经网络学习样本。
由于原始的采集数据值比较大,而且不便于后期的分析,故将原始的测量数据采用
公式进行归一化处理,得到表1如下所示:
表1
3.3神经网络样本设计
从实验采集中得到15个样本,每个样本用5个指数来表示轴承的状态。
网络的输入模式为即一共有15组样本,每个样本包含5个元素,这5个元素组成了滚动轴承运行状态的标准样本。
利用训练函数train对网络进行训练,经过训练的网络可以对输入向量进行正确分类。
但是网络的训练步数如果不合适,太少或太多都将会导致很不理想的结果,所以训练的步数的设定对于网络的性能影响比较大,所以这里将步数设置为250,如图3所示。
步数设置为400,如图4所示。
步数设置为500,如图5所示,并分别观察其权值分布。
图3训练250步时的权值分布
图4训练400步时的权值分布
图5训练500步时的权值分布
当训练步数为500步时,网络达到了较好的分类效果(过多的步数不仅运行慢,而且效果不明显),此时网络的竞争层为10×
6的结构。
神经元自组织分布,每个神经元可以区分不同的样本。
网络训练结束后,权值也就固定了。
以后每输入一个值,网络就会自动地对其进行分类。
此时获胜神经元的连接权值,分别代表了相应该类故障样本的“聚类”中心,记录下每个训练样本在竞争层的输出位置。
各种故障的“聚类”中心在图中基本能够均匀分布,这样有利于对故障种类的清晰识别和诊断。
从而可得到结论:
利用SOM网络对滚动轴承故障模式进行了成功的识别与分类。
利用sim函数来观察网络对训练样本数据的分类结果。
进行诊断时,只要输入样本激活的获胜神经元落入该“聚类”中心邻域内,就可诊断出该样本故障是“聚类”中心所对应的故障。
聚类结果,如图6所示。
图6标准样本训练结果图
图7SOM网络拓扑学结构
图8临近神经元之间的距离情况
由图7可知,竞争层神经元有
个;
都代表一种故障类型,空格处表示对所有输入都不兴奋图8中蓝色代表神经元,红色代表神经元之间直接的连接,每个菱形中的颜色表示神经元之间距离的远近,从黄色到黑色,颜色越深说明神经元之间的距离越远。
3.4神经网络的检验
为了检验建立的SOM网络的可靠性,分别进行试验采集滚动轴承正常状态、外圈损坏、保持架损坏、内圈损坏的振动信号各一组,进行轴承故障的识别验证。
检验样本的数据,如表2所示。
表2神经网络检验样本
神经网络检测结果如下所示:
y=(1,1)1
(12,2)1
(12,3)1
(4,4)1
(6,5)1
(6,6)1
(41,7)1
(51,8)1
(53,9)1
(10,10)1
(29,11)1
(20,12)1
(47,13)1
(59,14)1
(56,15)1
yc=11212466415153102920475956
rr=2115522955
从结果可以看到待检验样本完全落在了标准样本聚类的结果范围内,达到了很好地分类结果,证明该方法对于滚动轴承的故障诊断是准确有效的。
4结论
通过检验样本(表2)数据的网络实际输出与期望值的比较,可以发现它们十分接近,输出结果比较理想。
在分析自组织特征映射神经网络的结构和学习算法的基础上,利用自组织特征映射神经网络对滚动轴承进行故障诊断。
该神经网络对被控对象的数学模型依赖程度较低,具有自学习、自适应、联想记忆、较强的容错性和非线性模式识别的能力,同时应用神经网络工具箱进行仿真的结果表明,基于SOM神经网络的诊断模型是准确和可靠的,适合于滚动轴承多故障复杂模式的故障诊断。
本实验说明运用SOM神经网络可以有效的识别轴承的故障状态,同时也说明把滚动轴承振动信号进行时域分析所得的无量纲参数作为轴承故障分析的参数特征向量是可行的,为滚动轴承诊断问题提供了一个较好的解决方案。
参考文献:
[1]李春华,肖洋.基于SOM神经网络的矿井提升机减速器齿轮故障诊断[J].矿山机械,2007(35).
[2]余金宝,谷立臣,孙颖宏.利用SOM网络可视化方法诊断液压系统故障[J].工程机械,2007(38).
[3]朱大奇,史慧.人工神经网络原理及应用[M].北京:
科学出版社.2006:
144-163.
[4]闻新,周鑫,等.MATLAB神经网络仿真与应用[M].北京:
科学出版社,2003.
[5]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:
清华大学出版社,2005.
程序如下:
X=[0.41520.12210.55590.62480.3009;
0.41110.12040.55100.65280.2946;
0.41360.12350.53990.65650.3016;
0.43380.09850.53730.66840.2580;
0.44390.09540.52310.67110.2644;
0.45070.08940.52680.67150.2549;
0.32860.05720.54130.69950.3263;
0.32210.05880.54130.70170.3279;
0.32810.05360.54400.70430.3122;
0.26080.04530.53930.77850.1815;
0.26710.04590.53570.77910.1802;
0.25980.04500.55150.77350.1674;
0.40990.07280.49920.73130.2066;
0.39710.06720.49830.73650.2169;
0.40160.06690.51600.72520.2050]'
;
%%网络建立和训练
%newsom建立SOM网络。
minmax(X)取输入的最大最小值。
竞争层10*6=60个神经元
net=newsom(minmax(X),[106]);
w1_init=net.iw{1,1};
plotsom(w1_init,net.layers{1}.distances);
a=[250400500];
fori=1:
net=init(net);
net=train(net,X);
figure;
end
y=sim(net,X)
%%输出结果
yc=vec2ind(y)
%%网络作分类的预测
%测试样本输入
t=[0.40290.12410.55580.65100.2991;
0.44870.09480.53010.66770.2507;
0.32710.05460.55240.69390.3217;
0.26860.04660.52120.78620.1896;
0.39390.06860.50770.73110.2188]'
%sim()来做网络仿真
r=sim(net,t);
%变换函数将单值向量转变成下标向量。
rr=vec2ind(r)
%%网络神经元分布情况
%查看网络拓扑学结构
plotsomtop(net)
%查看临近神经元直接的距离情况
plotsomnd(net)
%查看每个神经元的分类情况
plotsomhits(net,X)