粗糙集理论是由波兰华沙理工大学的Z.Pawlak教授首先提出的一个分析数据的数学理论,主要用于研究不完整、不精确知识的表达、学习与归纳[1]。由于粗糙集理论非常实用,因此在它创立后的不长时间内就得到了迅速而广泛的应用[2]。
在利用神经网络对内燃机故障进行诊断时,有时往往由于所选择的特征参数过多,造成所使用的神经网络规模过于庞大以及学习训练时间超长等问题,降低了整个系统的实用性。
那么,是否其中的知识都是必需的?是否其中存在着冗余的或不相容的知识?如果存在冗余成分,如何区分开并消除它?而粗糙集理论的出现,为我们解决此类问题提供了一种新的思路与方法。
本文将目前广受关注的粗糙集理论及方法引入内燃机故障诊断系统,对其在故障诊断特征参数属性值优化中的运用进行了探索,对故障诊断决策表进行属性约简,剔除其中不必要的属性。
1 粗糙集理论[1,3]
在粗糙集理论中,知识是以信息系统的形式来表示的。一个信息系统是用二维表格来表达的数据集。这种数据表也被称为知识表达系统,简称KRS.在这张表中,列表示属性,行表示对象,如事件或实例。可见,一个属性对应一个等价关系,一张表可看作是定义的一族等价关系,即知识库。
如果将一个新的属性加入信息系统,而这个属性表示对对象的分类,这时,系统被称为决策系统。决策表是一类特殊而且重要的知识表达系统,它指当满足某些条件时,决策应当如何进行。多数涉及决策的问题都可以用决策表的形式来表示,这一工具在决策应用中起着重要的作用。
粗糙集理论利用约简和核这两个基本概念来进行数据约简。约简在粗糙集中是一个很重要的概念,反映了一个决策表的本质信息。
令R为一等价关系族,且r∈R,如果
ind(R)=ind(R-r)
称r为R中可省略的,否则称r为R中不可省略的,其中ind(R)表示(R)上的不可分辨关系。r为R可省略的这一概念可以这样来理解,R是表达研究对象的属性集合,在近似表达中有一些特征作用不大,则可以去除其中的这些属性而不影响我们对对象的表达。去除冗余属性后,余下的属性集仍然保留其等价关系。
而当对于任一r∈R,若R不可省略,则称R是独立的,R独立意味着属性集中的属性是必不可少的,它独立地构成一组表达系统分类知识的特征。
对于属性子集PÍR,若存在Q=P-r,QÍP,使得ind(Q)=ind(P),且Q为最小子集,则称Q为P的约简,用red(P)来表示。
一个属性P集可以有多种约简,P中所有约简属性集都包含的不可省略关系的集合,即约简集red(P)的交集称为P的核,记为core(P),它是表达知识不可缺少的重要属性集。
属性集P的约简与核的关系表示如下,core(P)=∩red(P)
目前,许多实际应用中获得的数据大多是连续值,而在粗糙集理论中,粗糙集方法中对数据的约简是建立在离散数据表的基础上的,因此首先需要将连续属性值进行离散化处理,转化为决策表后再进行后续分析。
连续属性的离散化,可以由领域专家根据经验给出相应的区间,也可以由系统根据某种原则自动地对输入空间进行划分。
一般来讲,连续数据的离散化应尽可能满足以下两点:
1.连续属性离散化后的空间维数应尽可能小,也就是经过离散化后的每一个属性都应包含尽量少的属性值的种类;
2.连续属性值离散化处理后丢失的信息应尽量少;
而采用输出层为竞争层的自组织神经网络对条件属性进行离散化处理,不失为一种较好的方法。这是因为自组织神经网络是一种无教师的竞争学习型前馈网络,网络通过自组织方式利用大量的训练样本数据来调整网络权值,最后网络的输出层特征图反映样本数据的分布情况。因此,根据自组织网络的输出状况,就能得到整个数据区域的大体分布情况,即可从样本数据中得到数据分布的大体本质特征[4]。本文中采用这种方法来对连续属性进行离散化处理。
2 诊断特征参数属性约简[5]
内燃机的燃油系统是内燃机的重要系统之一,其工作状态直接影响整机性能。燃油喷射系统的状态信息主要体现在高压油管压力波形中,当某处发生故障时,必然使原有供油状态发生变化,燃油流动的压力和流速等参数也会产生相应的改变,反映在压力波形上将导致波形形态和波形参数值的变化。因此通过对压力波形的分析,可以提取足够的特征信息,判别系统的工作状态,从而达到诊断系统故障的目的。
在对燃油系统不同状态进行研究的基础之上,表1给出了柱塞处于不同状况时的标准样本。其中,a1,…,a11分别是压力波的时间序列模型参数[6]。
表1 柱塞磨损与不磨损状态时的压力波特征参数
|
a1
|
a2
|
a3
|
a4
|
a5
|
a6
|
a7
|
a8
|
a9
|
a10
|
a11
|
State
|
|
-1.078
|
0.015
|
0.082
|
-0.039
|
-0.059
|
-0.117
|
-0.014
|
0.088
|
0.112
|
0.021
|
6.215
|
Normal
|
|
-1.247
|
0.168
|
0.195
|
-0.064
|
-0.125
|
-0.121
|
0.035
|
0.062
|
0.137
|
-0.026
|
5.242
|
Normal
|
|
-1.332
|
0.385
|
0.104
|
-0.101
|
-0.143
|
-0.129
|
0.101
|
0.006
|
0.072
|
0.051
|
6.101
|
Fault
|
|
-1.111
|
-0.069
|
0.015
|
0.148
|
-0.050
|
0.023
|
-0.026
|
-0.033
|
0.092
|
0.018
|
5.001
|
Fault
|
|
-1.266
|
0.110
|
0.206
|
0.083
|
-0.118
|
-0.046
|
0.014
|
-0.128
|
-0.032
|
0.188
|
6.284
|
Fault
|
|
-1.237
|
0.106
|
0.184
|
0.022
|
-0.101
|
-0.048
|
-0.087
|
0.071
|
0.074
|
0.029
|
5.301
|
Fault
|
|
-1.105
|
-0.076
|
0.274
|
0.058
|
-0.143
|
-0.178
|
0.012
|
0.011
|
0.165
|
0.006
|
3.329
|
Normal
|
|
-1.136
|
-0.094
|
0.279
|
0.035
|
-0.106
|
-0.152
|
0.038
|
0.010
|
0.187
|
-0.007
|
6.469
|
Normal
|
|
-1.114
|
-0.170
|
0.206
|
0.042
|
-0.051
|
-0.080
|
0.022
|
0.128
|
0.197
|
-0.171
|
2.968
|
Fault
|
我们可以在此基础上直接建立神经网络诊断系统,但是,我们会考虑这些特征量是否都是诊断中所需要的,也即其中是否会存在冗余的特征量?如果存在,如何将其区分开来?而这就需要利用粗糙集方法来处理。
对于本系统,选择各特征参数为决策表的条件属性。由于处理的目的是故障属性约简,因此决策属性为各类故障,对其进行编码:0:磨损状态;1:正常状态。
由于特征参数值为连续量,因此在利用粗糙集方法处理之前,需要先对各特征参数利用Kohonon网络进行离散化,具体步骤参见文献[7].训练完毕后,需将输出矢量转换为分类模式,观察输出端出现不同分类值时的输入值,这时,我们取这两个值的中点值,即可得到该属性的离散点值。
由于条件属性较多,每种属性只用分2类即可使数据表相容。表2给出了各条件属性的量化参数。
表2 条件属性的离散区间
|
条件
属性
|
离散区间
|
|
|
0
|
1
|
|
|
a1
|
(-∞,-1.187)
|
[-1.187,+∞]
|
|
a2
|
(-∞,0.061)
|
[0.061,+∞]
|
|
a3
|
(-∞,0.144)
|
[0.144,+∞]
|
|
a4
|
最新评论共有 0 位网友发表了评论
查看所有评论
发表评论
热点关注
| |

