《1 前言》

1 前言

分类是从数据中发现知识的关键技术[1,2,3], 面对不精确、不完整和不确定的信息, 传统的解析法、统计法以及基于规则的方法越来越感到无能为力, 近10年迅速发展起来的智能计算方法[4,5,6,7,8,9] 显示出它的无穷魅力。以粗集理论、模糊逻辑、人工神经网络为代表的智能计算, 在模式识别、分类等问题中的研究十分活跃。

由于粗集理论、模糊逻辑、人工神经网络各自的特点, 粗集理论方法可以描绘知识表达中不同属性的重要性, 进行知识表达空间的简化这一特性在智能计算中发挥了重要作用;模糊逻辑按语言采集的方式获取知识, 也容易引入启发性知识, 特别是在处理具有病态的数据等方面显示出人脑的某些基本特征, 具有自动获取知识、模糊推理、非线性映射等功能。但粗集方法和模糊逻辑在智能计算中其容错性和自适应外部变化的能力, 以及实现实时处理信息的速度等方面常常感到美中不足。神经网络方法模拟形象直觉思维, 用神经网络本身结构表达输入与输出关联知识的隐函数编码, 可以实现有导师和无导师的聚类学习, 特别是网络具有较强的容错性和自适应外部变化的能力, 硬件实现网络并行实时处理信息等特点在智能计算中得到广泛应用, 但不足的是不能确定那些知识是冗余的。

探索它们的有机结合, 取长补短, 可望在知识发现[10,11,12,13] 中增强智能计算的能力。

根据粗集理论方法, 讨论基于粗集概念的等价类知识编码, 从而进行知识模块和属性的化简, 达到简化系统、缩短网络训练时间等目的。利用模糊隶属度函数将输入精确信息映射为模糊变量信息, 以解决病态数据、增强系统分类的非线性映射能力等问题。为了提高系统分类对输入特征的依赖, 将系统参数的重要性因子结合在网络的学习和分类推理中。提出一种新的粗集编码模糊神经分类器的网络实现结构和有导师的最小平方误差学习方法。

《2 粗集编码与系统简化》

2 粗集编码与系统简化

对于一个系统的描述, 采用的系统参数越多, 描述越详尽, 对该系统的认识也越深刻。但是, 利用过多的系统参数作为识别系统的数据, 就将占用大量的存储空间和机器处理时间。这些大量的系统参数中肯定包含许多相关的因素, 是信息的重复和浪费, 这就存在一个冗余信息的删除与简化问题。因此, 利用粗集理论方法, 一是去掉描述系统的重复或相关信息, 二是去掉描述系统的不重要参数。

设由N个输入模式矢量 (对象) 构成的训练集, 每一个输入模式矢量有n个特征变量。即U={Xj}, j=1, 2, …, N;Xj= (x1j, x2j, …, xnj) ∈Rn

首先将特征变量xi分为L个等价类, 定义训练集输入中第j (j=1, 2, …, N) 个输入模式矢量 (对象) 的第i (i=1, 2, …, n) 个特征变量xi 等价类为

[(xi)]R=xi{(xmax-xmin)(k-1)Lxik(xmax-xmin)kL}k=1,2,,L(1)

通过把输入矢量的特征变量进行等价类划分, 使输入数据全部归一为L个等价类的值。

定义训练集N个输入模式矢量 (对象) 的第i个特征变量xi 对于输出模式分类W的重要性因子[6]

αxi(W)=card[ΡX(W)-ΡX-xi(W)]card(U),i=1,2,,n(2)

这里U由训练集N个输入模式矢量 (对象) 组成, PX (W) 代表根据特征集X划分为模式W的对象集合, 也称为WX正域[6]。card表示集合的基数, PX (W) -PX-xi (W) 表示系统去掉第i 个特征变量xi 时, 对于输出模式分类的正域的减小。

显然, 若某些特征变量xi对于输出模式分类W的重要性因子αxi (W) 大, 则表明在进行分类时它的作用大, 若αxi (W) 很小, 则表明在进行分类时它不重要, 若αxi (W) =0, 可以消去该变量, 从而达到条件属性简化的目的。

下面举例说明上述过程, 一个分类知识表达系统的决策表如表1所示。

其中, 输入特征集 P= (a, b, c) , 分类结果集合W= (d, e) 。

把输入矢量的特征变量进行等价类划分, 使输入数据全部归一为3个等价类的值。为简单起见, 用1, 2, …, 8表示表1中的输入训练样本, 得到下列等价类:

表1 一个分类知识表达系统的决策表 Table 1 A decision table of knowledge classification representation

《表1》

U样本abcde
1~51 2 2 1 0 0
6~82113.201
9~1133.11211
12~16422210
17~20520.9112
21~24633.1211
25~28732301
29~3180.93312

条件属性的等价类为U| (a, b, c) ={{1}, {5}, {2}, {8}, {3}, {4}, {6}, {7}};

结果属性的等价类为U| (d, e) ={{1}, {2, 7}, {3, 6}, {4}, {5, 8}} ;

去掉条件属性a的等价类为U| (b, c) ={{1}, {5}, {2}, {8}, {7}, {3}, {4}, {6}};

去掉条件属性b的等价类为 U| (a, c) ={{1, 5}, {2, 8}, {3, 6}, {4}, {7}};

去掉条件属性c的等价类为 U | (a, b) ={{1, 4}, {2}, {8}, {3}, {5}, {6}, {7}}。

PP (W) ={1, 2, 3, 4, 5, 6, 7, 8}; 分别去掉a, b, c 时, 由特征子集 {b, c}, {a, c}, {a, b}近似分类的正域为:

PP-a (W) ={1, 2, 3, 4, 5, 6, 7, 8}, PP-b (W) ={3, 4, 6, 7}, PP-c (W) ={2, 8, 3, 5, 6, 7};

因此, 可得特征a, b, c对于分类的重要性:

αa(W)=8/8-8/8=0αb(W)=8/8-4/8=0.5αc(W)=8/8-6/8=0.125

由此可见, 特征a是最不重要的, 因为如果去掉特征a, 它使该系统模式识别的正域没有改变。而特征bc是分类不可省略的, 而且这里特征bc分类的重要性还大。

输入模式矢量 (对象) 的第i个特征变量xi对于输出模式分类W的重要性是不同的, 在进行模式分类时, 考虑该因素将有利于正确分类。

《3 输入精确信息映射为模糊变量信息》

3 输入精确信息映射为模糊变量信息

在模式分类中, 常常遇到由于环境、测试、传输以及处理过程中引起数据的不精确、不完整, 甚至产生病态数据等问题, 为此, 根据模糊理论方法, 利用模糊隶属度函数将输入精确信息映射为模糊变量信息, 解决分类中病态定义的数据问题[3]。模糊化的模糊隶属函数为高斯函数形隶属函数, 表达为

μA(x)=exp[-12(x-ciσi)2](3)

这里, 高斯函数形隶属函数由二个参数 {ci, σi} 确定;ci 确定函数的中心, σi 确定函数的宽度, 高斯函数形隶属函数如图1所示。

《图1》

图1 高斯函数形隶属函数
Fig.1 Gaussian membership function

图1 高斯函数形隶属函数 Fig.1 Gaussian membership function  

ci的确定:设输入矢量的一个特征映射为C个模糊变量, 若一个特征的精确值为x, 输入矢量特征数据的值域为 (xmin, xmax) , 则各隶属函数的中心为

ci=xmax-xminC-1(i-1)+xmini=1,2,,C(4)

例如, 把输入矢量的一个特征映射为3个模糊变量, 其函数的中心如图1所示。σi的确定主要是保证隶属函数之间有足够的交叠, 取σi为同一个值。

设模式分类的训练集由N个输入模式矢量 (对象) 组成, 每一个输入模式矢量有n个特征变量, 通过粗集方法简化后成为s个特征变量, s维输入模式矢量通过高斯函数形隶属函数模糊化后, 得到3s维输入模糊变量的隶属度μ (Xj) = (μ (x1j) , μ (x1j) , μ (x1j) 2, …, (μ (xsj) , μ (xsj) , μ (xsj) ) 。

同样, 设特征变量xi对应的模糊变量 (xi) , (xi) , (xi) 分为L个等价类, 定义训练集输入中第j (j=1, 2, …, N) 个输入模式矢量 (对象) 的第i (i=1, 2, …, s) 个特征变量xi对应的模糊变量 (xi) , (xi) , (xi) 等价类为:

[(xi)]R={(xi)(k-1)/Lμ(xik)k/L},k=1,2,,L(5a)[(xi)]R={(xi)(k-1)/Lμ(xik)k/L},k=1,2,,L(5b)[(xi)]R={(xi)(k-1)/Lμ(xik)k/L},k=1,2,,L(5c)

通过把输入矢量的特征变量映射为模糊变量, 把模糊变量 (xi) , (xi) , (xi) 再进行等价类划分, 不仅使输入数据模糊化, 而且使模糊变量 (xi) , (xi) , (xi) 数据全部归一为L个等价类的值。例如, 假设这里定义L=5, 则使模糊变量 (xi) , (xi) , (xi) 数据全部归一为:1/5, 2/5, 3/5, 4/5, 1。

设训练集信息S= (U, A) 可划分为Q类, 根据输出的每一类, 假设为多输入对象映射为一个输出结果, 由输入对象构成的等价类族Ul构成对S= (U, A) 的Q个划分, 即Sl= (Ul, Al) , l=1, 2, …, Q, 其中, Al是第l个划分时的条件属性C和决策属性dl, 即Al=C∪{dl};并设由输入对象构成的等价类族Ul 是由nk 个输入对象组成, 则根据输出的第l类, 由输入对象及决策属性构成的知识分类表为一个nk 行, 3s+|dl|列的属性决策表, 整个训练集由输入对象及决策属性构成的知识分类表为一个l=1Qnlk=Ν行, 3s+|dl|列的属性决策表。

同样, 如果定义一个模糊变量的隶属度门限函数为T, 例如, 设T=2/5, 若隶属度小于T=2/5的模糊变量的等价类消去, 则将使由输入对象及决策属性构成的知识分类表大为简化。

对输入特征数据进行模糊化, 模糊化的模糊隶属函数为高斯函数形隶属函数, ci, σi按上述规则确定。输入特征数据通过模糊隶属函数映射成为模糊变量, 得到表1所示的分类知识表达系统用模糊变量表达的简化决策表如表2所示。用x1, x2, x3分别代表a, b, c, 用1, …, 8表示训练样本;Wl, l=1, …, 5表示分类结果。

《4 粗模糊神经分类器》

4 粗模糊神经分类器

基于粗集概念的等价类知识编码, 不仅求出了系统分类输出对于输入特征的依赖系数 (或称为系统参数的重要性因子) , 对于αxi (W) ≈0的输入特征xi进行化简, 达到降低系统空间维数的目的, 使输入矢量由n维降低为s维, 即Xj= (x1j, x2j, …, xsj ) TR5, 然后利用模糊隶属度函数将输入精确信息映射为模糊变量信息, 以便解决病态数据、增强系统分类的非线性映射能力等问题。

表2 一个分类知识表达系统的模糊化决策表 Table 2 A fuzzy decision table of knowledge classification representation

《表2》

训练
样本
μ (x2) μ (x2) μ (x2) μ (x3) μ (x3) μ (x3) 分类
结果
1 0.1 0.9 0.05 0 0.1 0.95W1
20.950.100.10.10.1W2
30.10.950.10.90.950.95W3
400.10.950.980.10.05W4
50.100.10.0500W5
60.90.10.9500.10.95W3
700.950.050.10.90.05W2
80.10.9800.950.10W5

因此用能进行并行信息处理的基于粗集概念的模糊神经网络分类器实现如图2所示。该系统可分为3部分:

第一部分 将输入精确信息Xj= (x1j, x2j, …, xsj ) TR5 通过模糊隶属函数映射为模糊变量信息μ (Xj) = (μl (x1j) , μm (x1j) , μs (x1j) , …, [μl (xsj) , μm (xsj) , μs (xsj) ]T 可表达为 μ (Xj) =μp (xij) , p=1, 2, 3, i=1, 2, …, s。这里模糊隶属函数表达为

μp(x)=exp[-12(x-ciσi)2],p=1,2,3(6)

其中 μp (x) 代表 μl (xi) , μm (xi) , μs (xi) , i=1, 2, …, s

第二部分 结合系统参数的重要性因子的模糊推理。为了提高系统分类对于输入特征的依赖, 将系统参数的重要性因子结合在网络的学习和模糊推理中。推理第一级的输出为

vp=f(i=1sαxi(W)μp(xi)),p=1,2,3(7)

推理第二级的输出将作为系统解模糊神经网络的加权系数rpk 表达为

up=f[vprpp(k=13vkrpk)-1],p=1,2,3,k=1,2,3(8)

其中系数rpk 将通过学习过程来确定。

《图2》

图2 一个粗模糊神经分类器系统结构
Fig.2 A rough fuzzy neural classifier

图2 一个粗模糊神经分类器系统结构 Fig.2 A rough fuzzy neural classifier  

这两级推理的输出通过非线性函数 f (x) =[1+exp (-αx) ]-1, 其中α是一个选取的常数。

第三部分 系统的解模糊神经网络, 输入精确信息和模糊推理学习信息将通过网络形成一个精确信息决策输出。解模糊神经网络是一个前向多层神经网络, 它的第一层输入是分类对象精确信息Xj= (x1j, x2j, …, xsj) TRs, 输出为

Cp=f(i=1sxiΤip),i=1,2,,s,p=1,2,3(9)

其中模糊推理的加权系数Tip将通过学习过程来确定, 通过同前面一样的非线性函数f (x) 产生输出。

第二层将把模糊推理输出up作为系统解模糊神经网络的加权系数, 输出通过与前面一样的非线性函数f (x) , 并根据输出分类的形式进行归一化, 产生决策输出

dj=Af(p=13Cpup)(10)

其中A是根据输出分类的形式进行归一化的因子。

由上述推理可见, 该系统不仅空间维数结构大为简化, 而且要学习确定的网络系数大大减少, 使系统训练学习的时间大为缩短。

利用BP算法确定系统中的学习系数。首先定义一个输入对象XjX 对于分类为Wl的误差为

elj=Wl-dj,j=1,2,,Ν,l=1,2,,Q(11)

对于整个训练集, 一个平方误差函数定义为

E=12l=1Qj=1Νelj2=12l=1Qj=1Ν(Wl-dj)2(12)

利用标准的梯度下降法, 将平方误差函数最小化。

对于解模糊网络的加权系数rpk, 对式 (12) 进行链式微分[13] 可得

Erpk=Eeljeljdjdjupuprpk=-eljf1Cpf3urpk,p=1,2,3,k=1,2,3(13)

其中f1=df(y)dy|y=p=13Cpupf3=df(y)dy|y=vprpp(k=13vkrpk)-1, 并且

urpk={-vprppvk(k=13vkrpk)2pkk=13vkrpk-vprppvk(k=13vkrpk)2p=k(14)

因此, 更新解模糊网络的加权系数rpk 的修改量表达为

Δrpk=-η(t)Erpk=η(t)eljf1Cpf3urpk,p=1,2,3,k=1,2,3,(15)

其中 η (t) =1/|t| 表示一个学习系数。

对于Tip, 对式 (12) 进行链式微分可得

EΤip=EeljeljdjdjCpCpΤip=-eljf1upf2xi,i=1,2,,s,p=1,2,3,(16)

其中f1=df(y)dy|y=p=13Cpupf2=df(y)dy|y=i=1sxiΤip

因此, 更新模糊推理的加权系数Tip, 的修改量表达为

ΔΤip=-η(t)Erpk=η(t)eljf1upf2xi,i=1,2,,s,p=1,2,3(17)

《5 结语》

5 结语

笔者提出了一个集粗集理论、模糊逻辑和人工神经网络为一体的模式识别的综合软计算范例, 该粗模糊神经分类器有以下特点:

1) 基于粗集理论的概念进行知识编码、属性简化、从而简化了分类系统;不仅网络结构分区功能清楚, 而且网络空间维数低, 使得学习算法简单, 网络训练时间短。

2) 提出将系统参数的重要性因子结合到模糊推理方法之中, 提高了网络推理对于输入特征的依赖性。利用模糊隶属度函数将输入精确信息映射为模糊变量信息, 解决了分类中病态定义的数据问题, 提高了系统逻辑推理能力。

3) 将模糊推理的结果作为一个简单多层感知器的加权系数, 这不仅降低了网络结构空间复杂性, 使学习算法简单, 网络训练时间短, 实质上是将输入的确定信息和模糊信息相结合, 使系统的非线性特性更加丰富, 从而提高系统的分类能力。