2. 四川师范大学 智能信息与量子信息研究所 四川 成都 610066
2. Institute of Intelligent Information and Quantum Information, Sichuan Normal University, Chengdu 610066, China
属性约简是粗糙集理论的重要研究内容之一.目前许多属性约简的方法是基于核属性的,因此,求核是这些方法的基础.常见的核属性求解方法有:基于正区域的方法[1]、基于信息熵的方法[2-3]和基于差别矩阵的方法[4-7].然而,基于核定义求核过程比较烦琐.文献[4]给出一种较简单的基于差别矩阵的求核方法,其时间与空间复杂度均为O(|C||U|2);文献[5]通过实例揭示文献[4]方法应用于不相容决策表信息系统时,存在所求核与正域核不一致的不足,同时给出差别矩阵新定义及求核方法;但是该方法的时间与空间复杂度与文献[4]相同,故求核效率并没有得到改善.为了提高求核效率,文献[6]给出一种改进差别矩阵的定义及求核算法,求核效率比文献[4-5]有所提高,其时间复杂度为max(O(|C||U|lg|U|), O(|C||U1||U|)),空间复杂度为O(|C||U1||U|).文献[7]在文献[6]的基础上,对差别矩阵求核算法做了进一步改进,首先将决策表中重复数据进行合并,然后利用差别矩阵的定义进行求核计算,其时间复杂度为max(O(|C||U|), O(|C||U′/C||U′1|)),空间复杂度为O(|C||U′/C||U′1|).若决策表数据中不存在重复数据,则文献[6-7]所涉及的时间和空间复杂度是等同的.
通过对差别矩阵的研究,本文提出一种压缩差别矩阵的构造方法及相关的属性集求核算法.所提算法能够有效减少差别矩阵中大量的空值存储,并且避开对象之间的盲目比较,由此设计的求核算法的时间复杂度为max(O(|C||U1||U2|), O(|C′||U′1|2)),空间复杂度为max(O(|C||U′1||U′2|), O(|U′1|2)),提高了属性核求解效率.
1 基本概念决策表信息系统S=(U, C, D, V, F),U={x1, x2, …, xn}为非空有限论域,C={c1, c2, …, cm}为条件属性集,D为决策属性集且C∩D=∅,V=∪b∈C∪DVb,其中Vb表示属性b的值域.信息函数F:U×(C∪D)→V为对象赋属性值,即∀b∈C∪D,x∈U,有F(x, b)∈Vb.令R⊆C∪D且R≠∅,则ind(R)={(xi, xj)|F(xi, b)=F(xj, b), ∀b∈R}称为S的不可区分等价关系,其含x的等价类记为[x]R,U/R表示等价关系ind(R)确定的等价类集.设b∈R,若ind(R)=ind(R-{b}),则称b是R中不必要的,否则,称b是R中必要的.设P, Q⊂C∪D,Q的P正域为POSP(Q)=∪X∈U/QP(X),其中P(X)={x∈U[x]P⊆X}.
定义1[4] 决策表信息系统S=(U, C, D, V, F)中,b∈C,如果POSC(D)=POSC-{b}(D),则称b为C中相对D不必要的;否则,称b为C中相对D必要的.C中所有必要属性的集合称为C相对D的核,记为coreC(D).
定义2(不相容决策表的差别矩阵)[6] 决策信息系统S=(U, C, D, V, F)中,令U/D={y1, y2, …, yv},相容子论域
$ {{m}_{ij}}=\left\{ \begin{align} &\{b\in C|F({{x}_{i}}, b)\ne F({{x}_{j}}, b)\}, \forall {{x}_{i}}, {{x}_{j}}\in {{U}_{1}}, d\in D, F({{x}_{i}}, d)\ne F({{x}_{j}}, d); \\ &\{b\in C|F({{x}_{i}}, b)\ne F({{x}_{j}}, b)\}, \forall {{x}_{i}}\in {{U}_{1}}, {{x}_{j}}\in {{U}_{2}}; \\ &\varnothing, 其他 \\ \end{align} \right. $ |
命题1
定义2表明,差别矩阵算法求不相容决策表信息系统中核属性时,首先将论域U中所有对象分为完全相容子论域U1与完全不相容子论域U2,其次将U1中对象两两比较,并将U1中的对象与U2中的对象两两比较,最后根据命题1从差别矩阵中找出简单属性(单个属性).
2 基于差别矩阵的属性集求核算法 2.1 差别矩阵的空值根据定义2可知,差别矩阵求解核属性时会出现空值,这些空值元素的出现会占用大量存储空间,使得求核属性浪费了大量计算时间.因此,提出一种压缩差别矩阵的构造方法.
定理1(空值优化) 在决策表信息系统S=(U, C, D, V, F)中,记相容子论域U1={x1, x2, …, xk}.当xi, xj∈U1∧F(xi, D)=F(xj, D)时,则忽略对象xi,xj的比较运算.
证明 因∀xi, xj∈U1(1≤i≠j≤k),所以信息系统S中,∀b∈C存在如下关系:① F(xi, b)=F(xj, b); ② F(xi, b)≠F(xj, b).由定义2知,当∀xi, xj∈U1, F(xi, d)≠F(xj, d)时,mij={b∈C|F(xi, b)≠F(xj, b)},否则,mij=∅.因此,差别矩阵中的空值与条件属性值的取值无关;显然,当∀xi, xj∈U1∧F(xi, D)=F(xj, D)时,忽略对象xi,xj的比较运算.
算法1 空值优化执行过程.
输入:决策表S=(U, C, D, V, F);输出:可以忽略比较的对象.
步骤1 得到完全相容子论域U1与完全不相容子论域U2, 记U1={x1, x2, …, x|U1|};
步骤2 L=∅;//L用于收集U1中可以忽略比较的对象;
步骤3 for(i=1;i < |U1|; i++)
for(j=2;j≤|U1|; j++)
if(F(xi, D)=F(xj, D))
L=L∪{xi, xj};
步骤4 输出L.
算法1以决策表信息系统中的决策属性值D为划分依据,将论域U划分成相容子论域U1与不相容子论域U2,然后对U1中的对象按照决策属性值的不同划分成多个对象集,进而减少当决策属性值相同时的不必要计算,同时也压缩了差别矩阵中空值元素.一般情形下,算法1的时间复杂度为O(|U1|2).在实际应用中,上述算法虽然有2个循环,但是内循环在循环过程中,当对象xi与xj可以忽略比较,对象xi与xk(k≠j)可以忽略比较时,由传递性可得对象xj与xk可以忽略比较.因此, 算法在执行过程中减少了内循环次数,即算法1的时间复杂度为O(|U1|).
2.2 差别矩阵的属性集求核机理在决策表信息系统S中,若∀b∈C, xi, xj∈U1,F(xi, b)=F(xj, b)∧F(xi, D)=F(xj, D)成立,或∀b∈C, xi, xj∈U2,F(xi, b)=F(xj, b)∧F(xi, D)≠F(xj, D)成立,则利用差别矩阵算法求得的属性集相同,这不但占用大量存储空间,而且也浪费了大量计算时间.
定义3(决策表化简) 在决策表信息系统S=(U, C, D, V, F)中,定义新决策表S′=(U′, C, D, V′, F′).信息函数F′满足:F′(xi, C)=F(xi, C),d∈D且
$ F\prime ({{x}_{i}}, d)=\left\{ \begin{align} &DU+1, \forall {{x}_{i}}\in {{U}_{2}}, \exists {{x}_{j}}\in {{U}_{2}}, F({{x}_{i}}, C)=F({{x}_{j}}, C)\wedge F({{x}_{i}}, d)\ne F({{x}_{j}}, d)时, \\ &将对象{{x}_{i}}, {{x}_{j}}进行合并, DU为累计合并次数; \\ &F({{x}_{i}}, d), \forall {{x}_{i}}\in {{U}_{1}}, \exists {{x}_{j}}\in {{U}_{1}}, F({{x}_{i}}, C)=F({{x}_{j}}, C)\wedge F({{x}_{i}}, d)=F({{x}_{j}}, d)时, \\ &将{{x}_{j}}从S中删除, 取{{x}_{i}}中决策属性值; \\ &F({{x}_{i}}, d), 其他. \\ \end{align} \right. $ |
进而,F′自然确定U′与V′.
根据定义2可知,当∀xi∈U1, xj∈U2时,mij≠∅.当Ǝxk∈U2∧F(xk, C)=F(xj, C)∧F(xi, d)≠F(xj, d)成立,则mij=mik.又因xj, xk∈U2,根据定义2可知mjk=∅.故在利用差别矩阵求解核属性时,当∀xj, xk∈U2时,将U2中具有“相同条件属性值但不同决策属性值”的对象进行合并不影响核属性的求解结果.在决策表S′中,∀xi, xj∈U′,b∈C,均有|mij| < C.基于定理1与定义3,下面分析差别矩阵的属性集求核机理.
定理2 当mik⊂mjk∧|mjk|-|mik|=1∧{(xi, xj)|F(xi, b)≠F(xj, b)}=∅, ∀b∈mik时,mij=mjk-mik∧|mij|=1.
根据定理2可知,当mik∩mjk=∅时,显然mij={mik∪mjk}∧|mij|≥2.定理2揭示了核属性集的关系,即在对象xi,xj比较之前,先判定属性集mik与mjk是否满足数量之差为1.若为1,则判定mikmjk是否成立.因mik,mjk中的属性集合是有序的,因此判断mik⊂mjk时,其时间复杂度为max(O(|mjk|)).
定义4(改进差别矩阵) 决策表信息系统S′=(U′, C, D, V′, F′)中,令U′/D={y′1, y′1, …, y′v},相容子论域
$ {{{{m}'}}_{ij}}=\left\{ \begin{align} &\{b\in C|F\prime ({{x}_{i}}, b)\ne F\prime ({{x}_{j}}, b)\}\forall {{x}_{i}}\in {{{{U}'}}_{1}}, {{x}_{j}}\in {{{{U}'}}_{2}}; \\ &—, 当\forall {{x}_{i}}, {{x}_{j}}\in {{{{U}'}}_{1}}, F\prime ({{x}_{i}}, D)=F\prime ({{x}_{j}}, D); \\ &\varnothing, 其他. \\ \end{align} \right. $ |
其中:“—”表示无需考虑比较的对象.
基于定义4求不相容决策表信息系统中核属性时,只需要将U′1和U′2中对象两两比较,并利用定理2属性集求核机理求解核属性.进而,根据命题1从差别矩阵中找出单个属性.
2.3 属性集求核算法描述假设论域U′中前|U′1|个为完全相容子表,U′2=U′-U′1为论域U′中完全不相容子表.采用分布计数的基数排序思想求解等价类[7],即求解U′/C时的时间复杂度为O(|C||U′|).获得U′1和U′2的时间复杂度为O(|U′/C||U′/D|),其中U′/C表示按照条件属性集C划分后等价类的数目,U′/D表示按照决策属性集D划分后等价类的数目.上述过程与文献[6-7]中求相容子表与不相容子表的过程是一致的,即上述过程中算法的时间复杂度为O(|C||U′|)+O(|U′/C||U′/D|).
算法2 基于差别矩阵的属性集求核算法.
输入:决策表信息系统S=(U, C, D, V, F);输出:决策表信息系统的核coreC(D).
步骤1 执行算法1;
步骤2 根据定义3创建新的决策表S′;
步骤3 coreC(D)=∅, core1C(D)=∅, core2C(D)=∅;
步骤4 for(i=1;i≤|U′1|; i++)
for(j=|U′1|+1;j≤|U′|; j++)
m′ji=∅;M=∅;//用于存储属性集m|U′1|+1, i
for(r=1;r≤|C|; r++)
if(F(xi, cr)≠F(xj, cr))
m′ji=m′ji∪{cr};
M=M∪m|U′1|+1, i;
if(|m′ji|=1)
core1C(D)=core1C(D)∪m′ji;
步骤5 m′ji=∅;M=M∪m|U′1|+1, i;
步骤6 for(i=1;i≤|U′1|-1;i++)
for(j=i+1;j≤|U′1|; j++)
if (|m|U′1|+1, i|-|m|U′1|+1, j|=1)
执行定理2;
m′ji=m|U′1|+1, i-m|U′1|+1, j;
if (|m′ji|=1)
core2C(D)=core2C(D)∪{m′ji};
步骤7 coreC(D)=core1C(D)∪core2C(D);
步骤8 输出coreC(D).
在算法2中,步骤1时间复杂度为O(|U′1|);步骤2时间复杂度为O(|U′2|);步骤4时间复杂度为O(|C||U′1||U′2|);步骤6时间复杂度为O(|C′|)=O(max(m|U′1|+1, i)) < O(|C|).因此,算法2的总时间复杂度为max(O(|C||U1||U|2), O(C′U′12)),空间复杂度则为max(O(|C||U′1||U′2||), O(|U′1|2)).在利用差别矩阵求核过程中,以往的算法需要将每个对象两两进行比较求解核属性.然而,随着对象数目的增多,其算法复杂度在逐渐增大,求取的时间也会越来越长.而且在决策表信息系统中,两个对象之间可能具有相同的条件属性值和大量空值.算法2基于差别矩阵来实施属性集求核思想,用完全相容子表与完全不相容子表之间进行比较,然后利用定理2求得所有的核属性值.
通过比较可知,本文算法的时间和空间复杂度均低于文献[6]和文献[7]所提算法的时间和空间复杂度.
3 实例分析利用一个决策表实例(表 1)来说明本文的求核算法,差别矩阵元素均采用简单形式.其中c1、c2、c3为条件属性,D={d}为决策属性集,共有8个样本对象.根据定义3可知,F′(x3, d)=3.化简后的决策表S′如表 2所示.其中U′1={x1, x6, x7, x8},U′2={x3}.根据定理1知,在表 2中,对象x1、x6、x8是不需要做比较运算的.
![]() |
表 1 决策表S Table 1 Decision table S |
![]() |
表 2 化简后的决策表S′ Table 2 Simplified decision table S′ |
在表 2基础上,根据定义4方法构建差别矩阵SIDM, 如表 3所示.分析差别矩阵SIDM可知coreC(D)={c1, c2}.
![]() |
表 3 差别矩阵SIDM Table 3 Discernibility matrix SIDM |
如果采用文献[6]方法创建差别矩阵IDM为5×8规模, 如表 4所示,共有40个元素;如果采用文献[7]方法创建差别矩阵IDM′为4×5规模,如表 5所示, 共有20个元素.采用本文方法创建的差别矩阵SIDM为2×4规模,实际存储的元素为7个.可见采用本文方法既减少了样本对象的个数,又降低了差别矩阵的空间占用,从而减少了数据的处理量,提高了求核效率.事实上,基于表 1和表 2,“表 4→表 5→表 3”的改变过程清楚地体现了“文献[6]→文献[7]→本文”3种算法的差别矩阵改进过程.
![]() |
表 4 差别矩阵IDM Table 4 Discernibility matrix IDM |
![]() |
表 5 差别矩阵IDM′ Table 5 Discernibility matrix IDM′ |
采用文献[7]中使用的UCI数据集(http://archive.ics.uci.edu/ml/datasets.html),在Intel(R) Core(TM) i5-2400 CPU @ 3.10 GHz、RAM 2 GB环境下,对文献[6]、文献[7]与本文算法进行了比较.UCI数据集及其特征如表 6所示,其中|U/C|表示按照条件属性集C划分后等价类的数目;|IDM|、|IDM′|、|SIDM|分别表示文献[6]、文献[7]以及本文算法差别矩阵实际存储元素的个数.可以看出,本文算法创建的简化差别矩阵中所存储的元素数目|SIDM|要少于文献[6]和文献[7]差别矩阵中存储的元素个数.
![]() |
表 6 UCI数据集及其特征 Table 6 UCI data sets and their features |
图 1与图 2分别给出3种算法在4种UCI数据集上执行时间与执行空间的比较.基于图 1,本文求核算法的执行效率要优于文献[6]和文献[7]的求核算法,并且随着样本对象的增加,该算法效率更加明显.基于图 2,对于不相容决策表(如Patient与Car)和包含重复元素比较多的决策表(如Cancer),本文求核算法在执行过程中对存储空间的需求小于文献[6]和文献[7].
![]() |
图 1 3种算法执行时间比较 Figure 1 Comparison on execution time of 3 algorithms |
![]() |
图 2 3种算法执行空间比较 Figure 2 Comparison on execution space of 3 algorithms |
文献[4]的求核算法不能处理不相容决策表,存在一定的局限性.文献[5]提出了改进算法,并解决了文献[4]算法不能处理不相容决策表的问题,但该算法的时空效率并不太理想.文献[7]则在文献[6]的基础上,对决策表中相同对象合并来提高求核效率.研究发现,利用差别矩阵求解核属性的算法效率还能得到进一步的提高.因此,本文提出了一种基于差别矩阵的属性集求核算法.该算法首先将决策表划分成相容与不相容部分;其次运用定理1找到可以忽略比较的对象,运用定义3化简决策表.算法2给出了基于差别矩阵的属性集求核算法伪码,由此设计的算法的时间与空间复杂度均低于文献[6]和文献[7]的时间与空间复杂度,实验结果表明该算法是有效的.
[1] |
ZHANG C S, RUAN J, TAN Y H. An improved incremental updating algorithm for core based on positive region[J]. Journal of computational information systems, 2011, 7(9): 3127-3133. ( ![]() |
[2] |
钱文彬, 杨炳儒, 徐章艳, 等. 基于信息熵的核属性增量式高效更新算法[J]. 模式识别与人工智能, 2013, 26(1): 42-49. ( ![]() |
[3] |
李少年, 吴良刚. 基于邻域信息熵度量数值属性快速约简算法[J]. 计算机工程与科学, 2016, 38(2): 350-355. ( ![]() |
[4] |
HU X, CERCONE N. Learning in relational databases: a rough set approach[J]. Computational intelligence, 2010, 11(2): 323-338. ( ![]() |
[5] |
叶东毅, 陈昭炯. 一个新的差别矩阵及其求核方法[J]. 电子学报, 2002, 30(7): 1086-1088. ( ![]() |
[6] |
杨明, 孙志挥. 改进的差别矩阵及其求核方法[J]. 复旦学报(自然科学版), 2004, 43(5): 865-868. ( ![]() |
[7] |
杨传健, 姚光顺, 马丽生. 改进的差别矩阵及其快速求核算法[J]. 计算机工程与科学, 2010, 32(3): 78-81. ( ![]() |