收稿日期: 2008唱04唱07; 修回日期: 2008唱06唱23 基金项目: 湖南省自然科学基金资助项目(06JJ20075);湖南省科技计划资助项目(2008唱
FJ3184)
作者简介:王加阳(1963唱),男,教授,博士,主要研究方向为计算智能与信息融合;胡沛(1983唱),男, 硕士研究生,主要研究方向为智能信息处
理、粗糙集理论及应用(huxiaopei163@163.com).
基于决策分类的决策表分解方法研究 倡
王加阳, 胡 沛
(中南大学 信息科学与工程学院, 长沙 410083)
摘 要: 针对当前基于属性重要性的决策表属性集分解方法存在的不足,提出了一种新型的基于决策分类的决
策表属性集分解方法。 分析了近似分类质量和属性重要性与决策分类之间的关系,利用粗糙集理论,从提高子
决策表中决策分类正确性的角度出发考虑条件属性与决策属性之间的关系,提出了决策表分解的条件属性选择
量度并对决策表实施属性集分解。
关键词: 决策表; 分解; 粗糙集理论
中图分类号: TP18 文献标志码: A 文章编号: 1001唱3695(2009)01唱0108唱03
Research on decomposition of decision table based on decision making
WANG Jia唱yang, HU Pei
(College of Information Science & Engineering, Central South University, Changsha 410083, China)
Abstract: There are some defects in the attribute set decomposition of decision table based on the attribute significance.Thepaper introduced a novel feature decomposition of decision table approach based on decision making.It analyzed the diffe唱rences between the quality of approximation and the attribute significance to decision making.With the rough set theory, therelationships of condition attributes and decision attributes were considered increasing the attribute classification rate in the de唱cision table, and a new attribute selection criterion was proposed.Then decision table was decomposed with the attribute selec唱tion criterion.Key words: decision table; decomposition; rough set theory
随着计算机和数据采集技术的进步,数据的积累无论是在
数据对象个数上还是在数据维度上都以无法估算的速度迅速
增长。 数据量的不断增大给现有的数据分析和处理技术提出
了挑战,许多实际的决策表包含了大量的对象和属性,如何从
这些堆积如山的数据中挖掘有用的信息已成为当今数据挖掘
领域的热点[1 ] 。 决策表分解是解决大型决策表数据海量性和
复杂性问题的一种有效手段。 其思想是将一个大型决策表分
解为若干规模较小且易于处理的子表,在子表中进行规则获
取,可以减少每次处理的数据量,避免直接在复杂系统中建模
的困难和缺陷,提高数据分析的效率和质量[2 ] 。
本文提出了一种基于决策分类的决策表分解方法。 首先
从条件属性与决策属性之间的关系出发,分析了近似分类质量
和属性重要性与决策分类的关系,根据提高子决策表条件属性
正确分类能力的标准提出了一种新的条件属性选择量度,按照
属性选择量度指导子决策表的属性选取,将决策表分解为几个
子决策表。
1 粗糙集理论基本概念
粗糙集理论是波兰数学家 Z.Pawlak 于 1982 年提出的一
种处理含糊和不确定性问题的新型数学工具,已经在机器学
习、数据挖掘等领域中得到广泛应用,决策表信息系统是粗糙
集理论的主要研究对象[3] 。
定义 1 一个决策表信息系统 S =枙U,R,V,f枛。 其中:U
是非空有限集合,即为论域;R=C∪D,C和 D分别称为条件属
性集和决策属性集,D≠碬是非空有限集合;V =∪r∈RVr 是属性值
的集合,Vr 表示属性 r∈R 的值域;f:U ×A→V 是一个信息函
数,它指定 U中每一个对象 x的属性值。
定义 2 在决策表信息系统 S =枙U,R,V,f枛中,对于 B彻
R,则 B在 U上的不可分辨关系定义为
IND(B) ={( x1 ,x2 )∈U ×U|b( x1 ) =b( x2 )
橙b∈B} = Ib∈BIND( b)
(1)
显然 IND(B)是一个等价关系,它的所有等价类的集合记为U|
IND(B),简记为 U|B。
定义 3 给定决策表信息系统 S =枙U,R,V,f枛,对于每个
子集 X彻U和不可分辨关系 B,X的下近似集和上近似集可以
分别定义为
B_(X) =∪{Yi |(Yi∈U|IND(B)∧Yi彻X)} (2)
B -(X) =∪{Yi |(Yi∈U|IND(B)∧Yi I X≠碬)} (3)
定义 4 设 U为一个论域,P、Q 为 U 上的两个等价关系
簇,Q的 P正域 POSp(Q)定义为
POSp(Q) = ∪X∈U/QP_(X) (4)
相对正域 POSp(Q)是论域 U的所有那些使用分类 U|P所
表达的知识中能够正确地分类到 U|Q的等价类之中的对象的
集合。
定义 5 设集合族 F={X1 ,X2 ,⋯,Xn}(U =∪ni =1Xi)是论
域 U上定义的知识,B是一个属性子集,定义 B对 F近似分类
质量 rB(F)为
rB(F) =∑
n
i =1|B_(Xi) |/U| (5)
第 26 卷第 1 期
2009 年 1 月
计 算 机 应 用 研 究Application Research of Computers Vol.26 No.1Jan.2009
定义 6 F是属性集 D 导出的分类,C 是条件属性集合,
D ={d}是决策属性集合,且 A炒C则对于任意属性 a∈C -A
的重要性 SGA(a,A,D)为
SGA(a,A,D) = rA∪{a} (F) - rA(F) (6)
2 决策表分解
现实应用中,决策表的复杂性主要来自于属性数量的增
长。 随着属性集的不断扩大,为了建立有效的分类模型,避免
出现过度拟合现象,训练集中所需的对象数需呈指数级增长,
针对决策表的复杂性首先考虑对属性集的处理,力求减小属性
集的规模。
属性集分解方法是从给定原始属性集中按照一定的标准
选取属性结成一组,然后按照一定的算法来识别定义在属性组
上的中间概念层次,从而达到降维、增强模型可理解性的目的。
这一方法要求在保持模型的分类能力的前提下,简化计算并增
强模型的可理解性。 文献[4,5]提出了基于属性重要性的决
策表属性集分解方法,优先选择那些属性重要性较大的条件属
性对决策分类;对于不能正确分类的对象,属性重要性小的条
件属性可以对决策分类起辅助作用。 由于属性重要性反映的
是去掉某条件属性后对决策分类能力的影响,文献[4,5]提到
的决策表分解方法可能会导致属性重要性较大的条件属性所
形成的子决策表对决策属性具有较差的正域分类能力,不利于
知识获取。 本文根据近似分类质量和属性重要性与决策分类
的关系,从提高子决策表条件属性分类能力出发提出了一种新
的决策表分解属性选择量度,使其能够有效地提高子决策表的
决策分类质量。
2畅1 决策表条件属性与决策属性之间的关系研究
近似分类质量和属性重要性作为粗糙集理论中描述条件
属性与决策属性之间关系的两个重要概念,它们从不同的角度
刻画了条件属性与决策属性的关系。 近似分类质量只关注条
件属性对决策属性正区域的变化情况;值越大表明该属性集对
决策属性的正域分类能力越强。 而属性重要性侧重反映在属
性集中增加条件属性对近似分类质量的影响,值越大说明去掉
该属性后引起的决策正域变化越大,即能正确分类到决策属性
划分的等价类中的元素越少,该属性对决策属性越重要。
设 B={x}为非空单属性集,决策表中的条件属性可能会
出现 B的近似分类质量较大,而属性 x 重要性却很低的情况;
也可能会出现属性 x重要性很高而 B的近似分类质量较小的
情况。 如表 1所示,条件属性集{a}和{b}具有最大的近似分
类质量,属性 a,b却具有最小的属性重要性;条件属性 c 虽具
有最大的属性重要性,条件属性集{c}却具有最小的近似分类
质量。
2畅2 决策表分解条件属性的选择研究
为了提高子决策表条件属性对论域的正确分类能力,子表
中的条件属性进行选取时需从近似分类质量和属性重要性两
方面考虑。
1)子决策表中的对象能被尽可能多地正确分类
选取到子表中的第一个条件属性 b要有对决策属性较强
的正域分类能力。 如果从属性重要性的角度选取条件属性,可
能会出现由属性重要性较大的条件属性所形成的子表对决策
属性具有较差的正域分类能力。 条件属性 b 应从近似分类质
量考虑,单条件属性集{b}需有最大的近似分类质量 rB(F);如
果有多个单条件属性集的近似分类质量同为最大,从它们所包
含的单条件属性与决策属性的重要性考虑,优先选择具有较大
属性重要性的。
如果一个决策表中每个条件属性都不能对决策进行正确
分类,即 rCi(F) =0(Ci∈C);如表 2 中所示的类似情况,应考
虑使用条件属性组合求其与决策属性的近似分类质量。 具体
方法为首先两两属性组合,找出近似分类质量值最大的组合;
如果近似分类质量仍为 0,应使用三个属性组合,依此类推。
2)子决策表的条件属性对决策正域的划分能很好地互补
选取到子表中的其他条件属性能对决策分类起到很好的
辅助作用。 如果从近似分类质量的角度选取条件属性,虽可以
保证条件属性对论域有较强的正确分类能力,但可能会出现子
表中的条件属性对决策属性的正域划分有大量相交子集的情
况,即子表中的各条件属性的属性重要性均较低,其余的条件
属性不能对现有的决策分类起到很好的辅助作用。 选取到子
表中的条件属性 a应满足加入该属性后子表的条件属性对决
策正域分类有较大增加,即相对于当前条件属性集 A,a 属性
需有较大的属性重要性 SGA(a,A,D)。 如果有多个属性的属
性重要性同为最大,则从它们的分类能力考虑,优先选择具有
较大正域分类能力的条件属性。
定义 7 F是属性集 D 导出的分类,C 是条件属性集合,
D ={d}是决策属性集合,则对于任意属性集 A炒C的重要性
SGA(A,C,D) =rc(F) -rc -A(F)。
如果条件属性的属性重要性均为 0,如表 3 所示的类似情
况,属性 b、c、e相对于{a}的属性重要性均为 0,此时应考虑使
用条件属性组合求属性集的重要性。 具体方法为首先两两属
性组合,找出属性集重要性值最大的组合;如果属性集重要性
仍为 0,应使用三个属性组合,依此类推。
2畅3 基于决策分类的决策表分解算法描述
对于含有多个决策属性的决策属性集 D,可以将其转换为
单一的决策属性,本文只考虑决策属性集包含一个决策属性 d
的情况,即 D ={d},S=枙U,C∪D,V,f枛。
算法 1 DDBDM
输入:大型决策表 S =枙U,C∪D,V,f枛。 其中 U 为论域,C,D 分别
为条件属性集和决策属性集。
输出:一系列符合要求的子表。
a)设置每个子表所允许的最大条件属性集个数为 n′( n′由用户实
际需要设置或由专家结合问题的先验知识确定)。
b)设决策属性 D 的等价类 F =U|D ={D1 ,D2 ,⋯,Dm },用式(5)
计算 C 中各单属性集的近似分类质量,取满足 MAX( rB(F) )的属性
x。 如果值为 0,使用属性组合求值最大的 rB(F)属性集 x, j =0,Rj =
碬,k =0。
c)将 x加入集 Rj 中,k ++。 若 C =碬,跳到 g)执行;若 C≠碬,判
断是否满足 k≤n′,如果满足的话,重复执行 d);如果不满足,执行 b)。
d)用式(6)计算 C 中各属性的属性重要性,取满足 MAX( SGA( a,
Rj,D))的条件属性 y。 如果值为 0,使用属性组合求值最大的 SGA( a,
A,D)属性集 y;将 y 加入 Rj。
·901·第 1 期 王加阳,等:基于决策分类的决策表分解方法研究
e)C =C -Rj,生成决策表 Sj =枙U,Rj,V,f枛和 T′j =枙U,C,V,f枛。 其
中:Sj 为新生成的子决策表;T′j 为中间决策表; ++j。
f)对中间决策表 T′j 重复 b) ~e)。
g)输出各子表 Si(0≤i≤j)。
3 基于决策分类的决策表分解实例
如表 4所示的决策表,C ={a,b,c,e, f,g}是条件属性集
合,D ={d}是决策属性集合。 下面利用本文所提到的基于决
策分类的决策表分解方法对决策表 4进行属性集分解。
a)定义子表中所允许的最大条件属性个数 n′=3。
b)计算各单条件属性集的近似分类质量:
r{a} (F) =0.5 r{b} (F) =0.4 r{c} (F) =0.3
r{ e} (F) =0.3 r{ f} (F) =0.1 r{g} (F) =0
c){a}的近似分类质量最大,选 a进入子决策表 1(表 5),
求此时基于属性集{a}的属性重要性:
SGA( b,{a},D) =0 SGA( c,{a},D) =0.3
SGA( e,{a},D) =0.1 SGA( f,{a},D) =0.2
SGA(g,{a},D) =0.3
d)属性 c、g相对于{a}的属性重要性最大,选 c进入子决
策表 1,求此时基于属性集{a,c}的属性重要性:
SGA(b,{a,c},D) =0 SGA( e,{a,c},D) =0
SGA( f,{a,c},D) =0.2 SGA(g,{a,c},D) =0.2
e)属性 f、g相对属性{a,c}的属性重要性最大,选 f 进入
子决策表 1;
f)同理,属性 b、e、g选入子决策表 2(表 6),分解结束。
4 结束语
从决策表中快速有效地提取规则是决策表分解的主要目
的。 基于决策分类的决策表方法从决策分类和知识发现的角
度考虑条件属性与决策属性之间的关系,从属性重要性和近似
分类质量两个角度对决策表进行分解,能使子决策表中被正确
分类的对象尽可能多,提高了决策分类质量,有利于发现知识
之间的隐含关系。 本方法结构简单,能够很好地解决大型决策
表的分解问题。
参考文献:
[1] PAWLAK Z.Theorize with data using rough sets[C] //Proc of the
26th Annual International Computer Software and Applications Con唱
ference.Los Alamitos:IEEE Press, 2002:1125唱1128.
[2] 王加阳,刘柳明,罗安.大型决策表分解方法研究[ J].计算机科
学,2007,34(8):211唱214.
[3] PAWLAK Z.Rough sets [ J].International Journal of Computer
and Information Sciences,1982,11(5):341唱356.
[4] 樊群,赵卫东,达庆利.一种基于粗集的实例分解归纳学习方法
[ J].管理工程学报,2001,15(2):79唱81.
[5] 赵卫东,李旗号.复杂决策表的特征提取方法研究[ J].小型微
型计算机系统,2002,10(23):1241唱1244.
(上接第 78 页) 20个分量分类器分别对各样本点进行预测,并
根据类别投票的多少来决定样本点最终的分类类别,将投票数
目多的分类作为该样本点的类别。
4畅2 Boos t唱SVM算法的实验结果
本文的样本训练集采用 UCI[8]的五组数据,对其进行了训
练和测试,并与 LIBSVM的学习性能进行了比较,如表 1所示。
表 1 Boost唱SVM 算法与 LIBSVM 性能比较
UCI datasets LIBSVM/% Boost唱SVM/%
diabetes 78 .125 0 78 Z.515 6
liver唱disorders 77 .391 3 93 Z.333 3
breast唱cancer 97 .744 4 97 Z.932 3
Australian 85 .797 1 87 Z.681 1
German 78 .900 0 79 Z.600 0
表 1中列出了将五个 UCI数据集用于 LIBSVM以及 Boost唱
SVM算法所得到的分类精度。 本文将训练这五组数据集时所
使用的迭代次数都设定为 20次。 通过与 LIBSVM学习精度相
比,五组数据集的学习精度后者均高于前者。 从以上实验可以
看出,Boost唱SVM算法的学习精度与 LIBSVM相比,具有更好的
学习性能。
5 结束语
本文提出了 Boost唱SVM学习算法,将支持向量机作为基础
学习器应用于 AdaBoost 的迭代学习框架中。 实验结果表明,
此算法将支持向量机和 AdaBoost 算法的优点很好地集于一
身,改进了学习性能,提高了学习精度。 另外,文献[9]提出了
一种σ唱AdaBoostRBFSVM算法,通过使用变化着的参数σ试图
更好地适应每次迭代学习的 SVM学习器,同样达到了提高分
类器的分类精度和泛化性的目的。 由于缺乏该算法的实现程
序,本文并未与 σ唱AdaBoostRBFSVM 进行比较研究。 现阶段
Boost唱SVM算法还仅局限于解决两类分类问题,笔者将来的工
作是解决多类问题以及回归问题,并且将其应用于大规模数据
学习问题中。
参考文献:
[1] VAPNIK V N.The nature of statical learning theory[M].London:
Springer唱Verlag, 1995.
[2] VAPNIK V N.Principles of risk minimization for learning theory[C]//
Advances in Neural Information Processing Systems 4.San Francisco:
Morgan Kaufmann Publishers,1992:831唱838.
[3] FREUND Y, SCHAPIRE R E.A decision唱theretic generalization of
on唱line learning and an application to boosting[ J].Journal of Com唱
puter and System Sciences, 1997,55(1) : 119唱139.
[4] DUDA R O, HART P E.模式分类[M].李宏东,等译.北京:电
子工业出版社, 2001.
[5] CHANG C C, LIN C J.LIB SVM:a library for support vector ma唱
chines[EB/OL].(2002唱03唱10).http://www.csie.ntu.edu.tw/~
cjlin/papers/guide/guide.pdf.
[6] LIN C J.LIBSVM[EB/OL].(2003唱06唱23).http://www.csie.ntu.
edu.tw/~cjlin/.
[7] CHEN P H, FAN Rong唱en, LIN C J.A study on SMO唱type decompo唱
sition methods for support vector machine[ J].IEEE Trans on Neu唱
ral Networks, 2006,17(4):893唱908.
[8] Machine learning repository [ EB/OL].(2002唱04唱13 ).http://ar唱
chive.ics.uci.edu/ml/.
[9] 王晓丹, 孙东延.一种基于 AdaBoost 的 SVM 分类器[ J].空军工
程大学学报, 2006,7(6):54唱57.
·011· 计 算 机 应 用 研 究 第 26 卷