您的当前位置:首页正文

增量式的多变量决策树构造算法研究

来源:帮我找美食网
第21卷第2期 计算机技术与发展 V01.2l No.2 2011年2月 COMPUTER TECHNOLOGY AND DEVELOPMENT Feb.2011 增量式的多变量决策树构造算法研究 常志玲 ,张晓玲 (1.洛阳师范学院信息技术学院,河南洛阳471022; 2.河南科技大学电子信息工程学院,河南洛阳473000) 摘要:针对增量数据集,结合粗糙集理论和多变最决策树的优点,给出了增量式的多变量决策树构造算法。该算法针对 新增样本与已有规则集产生矛盾,即条什属性相匹配,而决策属性不匹配的情况,计算条件属性相对于决策属性的核,如 果核不为空,则计算核相对丁决策属性的相对泛化,根据不同的结果形成不同的子集,最终形成不同的决策树分支。该算 法很好地避免了在处理增量数据集时,不断重构决策树。实例证明该算法的正确性,对处理小增量数据集具有良好的性 能。 关键词:增量式学习;多变量决策树;粗糙集;相对泛化 中图分类号:TP18 文献标识码:A 文章编号:1673—629X(2011)02—0090—04 Study of Building Incremental Multivariate Decision Tree CHANG Zhi—ling ,ZHANG Xiao—ling (1.Academy of Information Technology,Luoyang Normal University,Luoyang 47 1022,China; 2.Electronic&Information Engineering College of Henan University of Science and Technology,Luoyang 473000,China) Abstract:In this paper,a new algorithm to build incremental multivariate decision tree is proposed.The advantages of the rough set the・ ory and the mulitvariate decision rtee a/'e combined in this method.Aiming at the inconsistency between hte new sample and the old sanl- pie,the core is computed.If hte core is empty,the generalization between core and decision attribute will be compumd,the different re‘ sults will be the different branches of decision tree at last.The decision tree rebuilding is avoided in the algorithm and the validity of hte lagorithm is proved by the example. Key words:incremental learning;multivariate decision tree;rough set;generalization O 引 言 些算法 ’ 等。另外还有关于增量决策树的一些应用 所谓增量式学习…,就是针对一个数据集,当增加 研究 ,但这些算法构造出来的都是增量式的单变量 新样本时,仅仅在原数据集的基础上作由新样本引起 决策树。决策树有单变量和多变量之分,单变量决策 的更新,而不需要重建所有的数据集。这样数据集随 树就是在每个节点上只检验单个属性,不考虑属性间 着样本数据的增加就处于时常更新状态,就能够在原 的相关性,这一限制使得有些属性在一棵决策树中某 有知识的基础上进行快速的学习,进而节省了大量的 一路径上被多次检验。多变量决策树在树的节点上可 时间。而现实生活中,数据集就是不断增加的,例如超 以同时检验多个属性,其优点是叶节点数和深度比较 市、银行等行业数据一天就有上万条记录增加,因此增 小。 量式的学习更符合人们的思维。 文中针对上述问题,应用粗糙集理论” ,针对动态 从20世纪80年代中期开始,一些学者对决策树 增长的数据集,提出了增量式的多变量决策树构造算 的增量学习能力进行了研究,主要研究成果有:ID 增 法,实例表明随着样本的增加,本算法并不需要对决策 量学习算法 、ID R算法 及ITI算法,还有其他的一 树进行重新构造,而只需要重构与样本相关的子树,大 大降低了建树的复杂性,并且获得很好的分类能力。 收稿日期:2010—06—04;修回日期:2010—09—28 基金项目:河南省自然科学研究计划项目(2o10A52o03o) 1 相关概念介绍 作者简介:常志玲(1976一),女,河南濮阳人,硕士研究生,讲师,主要 1.1 决策树 研究方向为粗糙集理论、数据挖掘;张晓玲,硕士,讲师,研究方向为 决策树 。 是指用树形结构来表示决策集合,是 数据挖掘。 一种直观的知识表达方法,同时也是高效的分类器,可 第2期 常志玲等:增量式的多变量决策树构造算法研究 .91. 以非常容易地产生关联规则。其中每个内部节点表示 在一个属性上的测试,每个分枝代表一个测试输出,而 为P的Q一核,记为core。(P) 。对于整个决策表来 说,核属性是非常重要的,去掉核中属性将改变整个决 每个树叶节点代表类或类分布。树的最顶层节点是根 节点。构造决策树的主要思想是以信息论 为工具, 策表的决策。 1.5相对泛化的定义 在各非叶节点选择重要的属性或属性组,自上而下分 割训练实例集,直到满足某种终止条件,即节点中的实 例属于同一类。 理想的决策树分为3种 。。i(1)叶节点数最少; (2)叶子节点深度最小;(3)叶节点数最少且叶子节点 相对泛化是定义在两个等价关系之间的,那么一 个等价关系相对于另外一个等价关系的泛化定义 为 : 设P和Q是 上的两个等价关系簇,且 P={xi,x2,…, } U/Q:{yI,】,2,…,y } 令 z =u{ :置 x Eu,p 深度最小。但是最优决策树已经被证明是一个NP- hard问题。 1.2粗糙集 } i=1,2,…,m ,V i} (3) (4) Z +。=u{ : EU/P 粗糙集(Rough sets)理论是由波兰科学家Paw— 则称{z。, ,…,z }在 上确定的等价关系为P相 对于Q的泛化,记为GEN。(P)。 lak 于2O世纪80年代提出的一种处理不确定问题 的方法,它的观点就是 :知识(即人的智能)就是一 种对对象进行分类的能力,可以用等价类形式化表示 2增量式的多变量决策树构造算法 2.1算法描述 分类,可以这样理解:知识是用等价类(记为R)对离 散空间的一种划分,记为U/R={ ,X2,…,X ),其中 针对决策表S=( ,c u D, ,其中C={Ⅱ , 就是U/R的一个等价类。 1.3决策表 一o ,…,o }是条件属性集,D={d。,d ,…,d }是决策 属性集,假定决策表中样本是动态增长的。那么新增 一个决策表可以形式化定义为 :S=<U,C U 个样本,存在三种情形: 情形1:新增样本与已有规则集相容。 情形2:新增样本与已有规则集相容,但不包含。 情形3:新增样本与已有规则集产生矛盾,即条件 D, >,其中U={u.,M ….,u }是所感兴趣对象 的有限集合,C U D是属性的有限集,其中C为条件属 性集,D为决策属性集,并且C n D= ,V为属性集 C U D的值域,-厂:U x(C U D)一 为一个信息函数, 属性相匹配,而决策属性不匹配。 针对这三种情形,结合核相对于决策类的泛化对 该决策表进行多变量决策树的构造。其算法描述如 下: 表示任一对象的属性在 上的取值,即 它指定了 中每一对象 的属性值。 ,r)∈ , 为表达语言中的决策规则,其中 和 分别称为 一 的因和果。对于一个决策表5,当所有规则 一 为真时,则称决策表|s是相容的,否则称不相容。 1.4核 算法:增量式多变量决策树构造(IMDT) 输入:动态增长的决策表S=(u,c u D, 输出:增量式的多变量决策树 (1)如果根节点为空,则把样本放入根节点的样 对于任何子集 ,称为一个概念。对于每个 — =u{Xf∈U: 本集,任选一属性ai作为根节点的分裂属性; (2)否则,将样本沿树进行匹配,直到到达一个叶 概念 可以定义上、下近似为 : X=U{X ∈U:X X} 节点。如果新增样本与已有规则集相容,则决策树无 需任何修改转(9);如果新增样本与已有规则集相容, 但不包含,则需要增加新的分支转(9);如果新增样本 ,n ≠(2j} 其中R— 是由 上在现有知识R下肯定属于 的元素组成的集合;R—X是可能属于 的元素组成的 与已有规则集产生矛盾,则转(3); (3)对开始不匹配的节点所包含的子集,计算C 相对于D的核,即core。(C)。若coFe。(C)= 则转 (4);否则,不妨设core。(G):{o,,o ,…,。 },如果 集合。设P和Q是 上的两个等价关系,那么Q的P 一正域定义为: POS (Q)=u P—X EU/Q (1) POS (Q)是 中所有那些通过知识lP被肯定属 core。(C)与作为子树节点的分裂属性组不相同则转 (5),否则,转(6); 于U/Q的元素组成的集合。如果 pos (Q)=pos (Q) (2) 成立,则称r∈P是Q一不必要的,否则r在P中是Q一 (4)用ID 的方法选择一个最佳属性,作为根节 点,根据属性的不同取值将|s分裂为S。,S ,…S…, 针对子集S (i=1,2,…,IⅣ1),如果|S 中的所有样本 必要的。P中所有9一必要的等价关系组成的集合称 ・92・ 计算机技术与发展 第21卷 都在同一决策类则转(7),否则如果用于划分的属性 不为空则令c=C ,D=D 转(3); (5)P=a。八a ^…^a ,作为子树节点,计算P 相对于D的泛化GEN。(P),根据不同的结果形成不 同的子集,记为s ,s ,…s…,针对子集Si(i=1,2, …,I NI),如果 中的所有样本都在同一决策类则转 图1 样本1生成的决策树 (7),否则如果用于划分的属性不为空则令C:C ,D =D 转(3); (6)针对与新增样本产生不相容规则的子树所有 3.输入样本3,样本4,新增样本与已有规则集相 容,但不包含,则需要增加新的分支,如图2所示。 样本和新增样本合为一新的子集,计算该子集中P相 对于D的泛化GENo(P),根据不同的结果形成不同 的子集,记为s。,s ,…s ,针对子集sl(i=1,2,…, lⅣ1),如果s 中的所有样本都在同一决策类则转 (7),否则如果用于划分的属性不为空则令C=C ,D =D 转(3); (7)返回Ⅳ为叶节点,以类C标记; (8)如果多个分支包含了分类属性组的所有取 图2样本2生成的决策树 4.输入样本5,新增样本与已有规则集相容,则决 值,则合并该多个分支为一个分支; (9)返回一棵增量式的多变量决策树。 2.2实例分析 策树无需任何修改,只把样本5放入样本4所在的子 集即可。 5.输入样本6,新增样本与已有规则集产生矛盾, 并且是从根节点开始就不匹配,此时计算包括6个样 本在内的决策表的核,通过简单计算可得: 利用文献[12]中一个相容决策表如表1所示,属 性集C={a。,a ,a,,a }是条件属性集,属性集D= U/C={{1}{2}{3}{4}{5}}6}} U/D={{12,6}{3,4,5}} {d}是决策属性集。决策树的内部节点(又名分裂节 点)用椭圆形表示;决策树的叶节点用它的决策类代 表,并用矩形表示,同时为了清楚起见,在矩形框中标 示出所包含子集。利用文中、给出的算法构造增量式 多变量决策树的执行过程如下: 由公式(1)可得: POS。(D)={1,2,3,4,5,6} 考察a (i=1,2,3,4),在c中相对于D来说是否 必要。为此,从C中去掉a.,可得: POS(c_ldll1(D)= {2,4,5,6} ≠ POS。( ) 由公式(2)可得a.在C中是D一必 要的。同理可以计算a 在c中是D一必 要的,而口:和a,在c中是 一不必要的, 由此可得CORE。(C)={a。,口.}。由于核 和根节分裂属性a。不一致,因此要计算 核相对于决策类的泛化: 令P=a,A a ,下面计算P相对于D 的泛化在 上导出的划分: U/P={{1}}2}{3}}4,5}i6}} 由公式(3)和(4)可以计算出: GEN (P)={{1,2,6}{3,4,5}} 1.输人样本l(sunny,hot,high,false,N),由于根节 点为空,任选a。作为分裂属性开始建立决策树如图1 所示。 由算法可知以GEN (P)为决策树 的根节点,根据所求泛化结果,把决策表中的样本分成 不同的对象集。其中子集{1,2,6}都在同一决策类Ⅳ 2.输入样本2,新增样本与已有规则集相容,则决 策树无需任何修改,只把样本2放人样本1所在的子 集即可。 中,因返回叶节点并以Ⅳ作为标记,同理子集i3,4,5f 都在同一决策类P中,返回叶节点并以Ⅳ作为标记,返 回决策树如图3所示。 第2期 常志玲等:增量式的多变量决策树构造算法研究 .93. 需要对决策树进行重新构造,而只需要重构与样本相 关的子树,大大降低了建树的复杂性,从实例可以看 出,文中构造的增量式的多变量决策树最终结果和文 献[12]算法所构造的静态多变量决策树相同,因此具 图3输入样本6后生成的决策树 有相同的分类能力,为考察本算法的有效性,又对文献 [12]等多个经典数据集进行增量式的多变量决策树 6.输入样本7和样本8,新增样本与已有规则集 相容,则决策树无需任何修改,只把样本7和样本8分 别放人所在的子集即可。 构造,结果表明都能够构造出分类能力相同的决策树。 7.输入样本9,新增样本与已有规则集产生矛盾, 3 结束语 并且是从根节点开始就不匹配,此时计算包括9个样 增量式的多变量决策树算法结合粗糙集理论和多 本在内的决策表的核,计算得出其核和根节点分裂属 变量决策树的优点,处理增量数据集的多变量决策树 性组相同,即:CORE (C)={。。,。 },所以只修改产生 构造问题,解决了传统的多变量决策树构造算法不能 矛盾的分支即可,即在核不变的情况下,重新计算子集 处理增量数据集的缺点。通过实例分析,利用增量算 (1,2,6,8,9)核相对于决策类的泛化,并以泛化为基 法可以一次完成决策树的构造,避免了对数据集的重 ]●J础进行重建子树,在子树重建过程中子集(1,8,9)决 复扫描和决策树的不断重构问题,而且可以构造出与 策类不一致,并且还存在未用于划分的属性{n,,n }, 静态多变量决策树相同的分类能力的决策树。 则对此子集重新调用本算法选择n 为分裂属性,如图 4所示。 参考文献: [1]王利,张喜平,郭林.增量式知识获取算法 综述[J].重庆邮电大学学报,2007,7(增刊): 99—102. 1 [2] Utgof P E.An improved algorithm for incremental induction of decision trees[C]//In:Proceedings of the Eleventh Int. Conference on Machine Learning.New Jersey:IEEE,1994:318—423. [3] Utgof P E.Incremental Induction of Decision Tr- 图4输入样本9之后的决策树 ees[J].Machine Learning,1989(4):161一l86. 8.输入样本10,新增样本与已有规则集相 Yin D S,Wang G Y,Yu Y.Data-driven Decision Tree Learn— 容,则决策树无需任何修改,只需把样本分别放入所在 ing Algorithm Base On Rough Set Theory[C]//In:Pmceed— ing of the third International Conference on MLC.Shanghai: 的子集即可; IEEE,2005:2140-2145. 9.输入样本11,新增样本与已有规则集产生矛 蔡晨,李凡长.动态模糊决策树学习算法研究[J].计算 盾,其情况和步骤7相同,采用同样的处理方法,构造 机技术与发展,2007,17(7):73—76. 的决策树如图5所示(只是在图5的基础上去除还未 刘波,粱活民.基于增量决策树的快速IDS研究与实现 输入的样本l2,13,14)。 [J].计算机工程与应用,2008,44(7):141—143. 10.分别输入样本12,l3,l4后,新增样本与已有 Pawlak Z.W.Rough Sets[J].International Joumal of infor- 规则集相容,则决策树无需任何修改,只需把样本分别 marion and Computer Science,1982,11(5):314—356. 放入所在的子集即可;最终获得的决策树如图5所示。 常志玲,周庆敏.基于变精度粗糙集的决策树优化算法[J]. 计算机工程与设计,2005,27(17):3175—3177. [9]Han Jiawei,Kamber M.Data Mining Concepts and ’Techniques[M].北京:机械工业出版社,2001. [1O]洪家荣,丁明峰,李星原,等.…种新的决策树 归纳学习算法[J].计算机学报,1995,l8(6): 470-474. [11]苗夺谦,李道国.粗糙集理沦、算法与应用 [M].北京:清华大学出版社,2008. 图5输入样本14之后的决策树 [12]苗夺谦,王珏.基于粗糙集的多变量决策树构造方法 2.3结果分析 [J].软件学报,1997,8(6):425—431. 从决策树的构造过程来看,随着样本的增加,并不 ]』

因篇幅问题不能全部显示,请点此查看更多更全内容

Top