基于概率粗糙集的决策树生成方法

文档序号:6602947阅读:920来源:国知局
专利名称:基于概率粗糙集的决策树生成方法
技术领域
本发明涉及一种决策树生成算法。特别是涉及一种基于概率粗糙集的决策树生成方法。

背景技术
决策树是一种非常直观的知识表示方法,同时也是高效的分类器。目前比较著名的决策树生成算法是Quinlan.J 1986年提出的以信息熵下降速度为启发信息选取节点的ID3算法、C4.5等,然而如何生成较小的树,以及防止数据过拟合等问题,一直是研究的重点。
1.决策树 决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。
决策树有几种产生方法

分类树分析是当预计结果可能为两种类型(例如男女,输赢等)使用的概念。


回归树分析是当局域结果可能为实数(例如房价,患者住院时间等)使用的概念。


CART分析是结合了上述二者的一个概念。CART是Classification AndRegression Trees的缩写.

enCHAID(Chi-Square Automatic Interaction Detector) 其中最著名的算法是ID3,C4.5和C5.0生成树算法。他们使用了信息学理论中熵的概念。
2.粗糙集 20世纪70年代,波兰学者Z.Pawlak和一些波兰科学院,波兰华沙大学的逻辑学家们,一起从事关于信息系统逻辑特性的研究。粗糙集理论就是在这些研究的基础上产生的。1982年,Z.Pawlak发表了经典论文Rough Sets,宣告了粗糙集理论的诞生。粗糙集理论的观点是“知识(人的只能)就是一种对对象进行分类的能力”,这里的对象就是我们所言及的任何事物。
设U是我们感兴趣的对象组成的非空有限集合,称为一个论域。论域U的任何一个子集

称为论域U的一个概念或范畴。为了规范化,我们认为空集也是一个概念,称为空概念。
给定一个论域U和U上的一簇等价关系S,称二元组K=(U,S)是关于论域U的一个知识库或近似空间。
给定论域U和U上的一簇等价关系S,若

且,

则∩P(P中所有等价关系的交集)仍然是论域U上的一个等价关系,称为P上的不可分辨关系,记为IND(P),也常简记为P。而且, 集合的上近似和下近似。给定知识库K=(U,S),其中U为论域,S表示论域U上的等价关系簇,则

和论域U上的一个等价关系R∈IND(K),我们定义子集X关于知识的上近似和下近似分别为



集合

称为X的R边界域。POSR(X)=R(X)称为X的R正域。

称为X的R负域。下近似R(X)或正域POSR(X)是由那些根据知识R判断肯定属于X的论域U中的元素组成的集合;上近似

是由那些根据知识判断肯定属于和可能属于X的论域U中的元素组成的集合;R的边界BNR(X)是由那些根据知识R既不能判断肯定属于X也不能判断肯定不属于X的论域中元素组成的集合;R负域NEGR(X)表示根据知识R判断肯定不属于X的论域U中元素组成的集合。
由于粗糙集中的影响关系过于严格,在实际应用中出现了许多问题,所以人们将二元等价关系推广成了一般的二元关系,因此概率粗糙集中引入概率下近似的概念和概率上近似的概念,来更好的反应现实数据中可能出现的数据噪声等问题。
概率下近似 设β为一个阀值,且0.5<β≤1,则概率下近似定义为 RβX={x∈U P(X/[x]R)≥β} 其中 依赖度 依赖度反映了属性之间的依赖程度。
w=|POSAB|/|U 表示了,B对A的依赖程度,记作
知识约简与核 知识约简是智能信息处理中占有重要的地位,也是粗糙集理论的核心内容之一。一般来讲,知识库中的知识并不是同等重要的,甚至其中某些知识是不必要的,或者说是冗余的。所谓的知识约简指的是在保持知识库分类能力不变的条件下,删除其中不必要的知识。
知识的约简中有两个重要的概念约简和核。
给定一个知识库K=(U,S)和知识库中的一个等价关系族


若 IND(P)=IND(P-{R}) 成立,则称知识R为P中不必要的,否则称R为P中必要的。
如果对于每一个R∈P,R都为P中重要的,则称P为独立的,否则称P是依赖的或不独立的。
知识的约简给定一个知识库K=(U,S)和知识库中的一个等价关系族

对于任意的

若G满足以下两条 (1)G是独立的 (2)IND(G)=IND(P) 则称G是P的一个约简,记为G∈RED(P),表示P的全体约简组成的集合。显然知识的任何一个约简与知识本身对知识库中的任意一个范畴的表达都是等同的,即他们对论域的分类能力相同。一般而言知识的约简不唯一,可以有多种约简。
知识的核给定一个知识库K=(U,S)和知识库中的一个等价关系族

对于任意的R∈P,若R满足 IND(P-{R})≠IND(P) 则称P为R中必要的,P中所有必要的知识组成的集合称为P的核,即为CORE(P)。核具有唯一性。
CORE(P)=∩RED(P) 知识的相对约简与相对核 知识的相对约简给定一个知识库K=(U,S)和知识库上的两个等价关系族P,

对任意的

若G满足以下两条, (1)G是Q独立的,即G是P的Q独立子族, (2)posG(Q)=posP(Q) 则称G是P的一个Q约简,或称为P相对于Q的一个约简,记为G∈REDQ(P),其中G∈REDQ(P)表示P的全体Q约简组成的集合。
显然,知识的任何一个相对约简与知识本身对知识库中的任意一个范畴的表达都是相同的,即他们对论域的分类能力相同。一般而言,知识的相对约简不唯一,可以有多个。
知识的相对核给定一个知识库K=(U,S)和知识库上的两个等价关系族P,

对任意的R∈P,若R满足 posIND(P-{R)(IND(Q))=posIND(P)(IND(Q)) 则称R为P中Q必要的,P中所有所有Q必要的知识组成的集合称为P的Q核,或称为P的相对于Q的核,记为COREQ(P)。知识的相对核是唯一的。
COREQ(P)=∩REDQ(P) 目前,一些基于粗糙集的决策树生成算法不能很好的解决数据噪声等问题。


发明内容
本发明所要解决的技术问题是,提供一种基于概率粗糙集理论,能够有效的解决数据噪声问题的基于概率粗糙集的决策树生成方法。
本发明所采用的技术方案是一种基于概率粗糙集的决策树生成方法,包括如下步骤 1)计算决策属性对于条件属性的依赖度 首先设置概率下近似中的β,其中0.5<β≤1,通过使用概率下近似公式,计算每一条件属性Xi,对决策属性Y的概率下近似,然后计算决策属性对条件属性的依赖度,其中概率下近似计算公式如下所示, XiβY={x∈U|P(Y/[x]Xi)≥β} 则Y对Xi依赖度为, 其中,U代表论域,即全体记录的集合,|U|代表记录的个数; 2)对数据进行相对属性约简,获取决策树节点集 首先要获得相对核,相对核的计算公式如下, COREQ(P)=∩REDQ(P) 然后我们每次在剩余的节点中选择一个条件属性,使得选择此条件属性后对于决策属性的影响最大,也就是决策属性对于当前属性的集合依赖度最大。我们依次增加节点个数,直到获得最大的独立集,从而得到构造决策树所需要节点集; 3)通过决策树的节点集构造决策树 建立决策树的方式是,让依赖度最大的节点作为根节点,然后对于分支,重新计算剩余节点的依赖度信息,同时选择依赖度最大的节点。
当节点不能确定最终类型,则通过重新计算依赖度信息,将剩余节点中的依赖度最大的作为分支节点,从而生成最终的决策树。
本发明的基于概率粗糙集的决策树生成方法,最核心的思想就是首先通过相对约简消除没有用的属性,这样就可以得到用于生成决策树的节点。然后始终选择依赖度最大的节点来扩展生成树,最终就生成了我们需要的决策树。本发明能够有效的解决数据噪声问题。



图1是本发明生成的决策树。

具体实施例方式 下面结合实施例和附图对本发明的基于概率粗糙集的决策树生成方法做出详细说明。
本发明的基于概率粗糙集的决策树生成方法,涉及到使用概率粗糙集的知识生成决策树,粗糙集是一种处理不确定性知识的有效工具,目前在数据挖掘领域应用十分广泛。然而传统的粗糙集由于对于影响的要求过于严格,因此在那些拥有数据噪声等因素影响的情况下,无法有效的使用,而由于概率粗糙集模型中引入了概率下近似的概念,因此可以有效的解决这种数据噪声问题,同时本发明使用基于粗糙集的属性约简方法,对于初始的数据进行进预处理,去除那些对于最终决策属性没有影响的属性,然而要想获取最小的约简是一个NP难的问题,因此本发明首先通过分明矩阵法获取核,然后每次在剩余的条件属性选择一个条件属性,使得选择此条件属性后对于决策属性的影响最大,也就是决策属性对于当前属性的集合依赖度最大,依次增加节点个数,直到获得最大的独立集,这样就可以获得较佳的节点集合,同时采用的是概率粗糙集模型,因而可以防止过拟合问题。
本算法的实现方法如下 1、计算决策属性对于条件属性的依赖度 我们首先设置概率下近似中的β,其中0.5<β≤1,我们一般取β的值应尽可能大,一般应在0.95以上,否则反而会由于β过小让结果出现误差,这与我们同时设置β来处理数据噪声问题的初衷不符。通过使用概率下近似公式,计算每一条件属性Xi,对决策属性Y的概率下近似,然后计算决策属性对条件属性的依赖度。其中概率下近似计算公式如下所示, XiβY={x∈U|P(Y/[x]Xi)≥β} 则Y对Xi依赖度为, 其中,U代表论域,即全体记录的集合,|U|代表记录的个数;算法的描述如下, For对于每一个条件属性Xi 计算其对决策属性的依赖度信息,公式为 End 2、对数据进行相对属性约简,获取决策树节点集 首先要获得相对核,相对核的计算公式如下, COREQ(P)=∩REDQ(P) 我们可以通过分明矩阵法获得相对核,这是一个很有效的已知算法,然后我们每次在剩余的节点中选择一个条件属性,使得选择此条件属性后对于决策属性的影响最大,也就是决策属性对于当前属性的集合依赖度最大,其中依赖度的计算公式如下所示, 我们依次增加节点个数,直到获得最大的独立集,所谓的独立集就是我们上面提到的使得属性集合中各个属性都是必要的,所谓最大独立集就是再添加任何一个属性,此属性都不再是必要的。此时最大的独立集就是我们需要的决策树的节点集。因此通过此种方法就可以去除不必要的条件属性,同时也可以获得符合我们需要的最终节点集。
属性分为条件属性和决策属性,所谓的决策属性是指我们要推出的结果属性,如试验中的Y,其余的属性为条件属性,如试验中的X1,X2,X3,X4。
因为可以有多种条件属性的组合可以推出最终的决策属性,如X1,X2可以推出Y,那么X1,X2,X3一定也可以推出Y。
其中相对核是所有这些组合的交集,因此相对核指的就是必不可少的条件属性,可以通过现有的公式计算相对核。
算法描述如下, Begin 首先获取相对核,设其集合为S While不是最大独立集 在剩余的条件属性中选择添加此属性后, 整个集合对决策属性的影响最大的条件属性,将其加入集合S End End 3、通过决策树的节点集构造决策树 通过第二步,我们已经获得了决策树中将会出现哪些节点,因此我们这一步的工作就是建立决策树,建立决策树的方式是,让依赖度最大的节点作为根节点,然后对于分支,重新计算剩余节点的依赖度信息,同时选择依赖度最大的节点。
算法描述如下 设决策树节点集中有p个节点 输入(X1,X2,……,Xp,Y) 输出决策树 Begin 首先在节点集合中,选择依赖度最大的节点作为根节点,如果其不能确定决策属性的类型,则根据其取值建立相应的分支,并将各个分支存入链表T While T不为空 从T中取一个节点N If节点N不能确定决策类型 根据N的属性值继续划分分支 在各个分支上计算决策属性对于剩余节点的依赖度信息 其中剩余节点是指没有出现在从根节点到此节点的节点序列中的节点 并将依赖度最大的属性作为分支节点,并将分支信息存入T End 从T中删除N这个节点 End End 通过以上方式,如果节点不能确定最终类型,则通过重新计算依赖度信息,将剩余节点中的依赖度最大的作为分支节点,这样就可以生成最终的决策树。
下面给出一实例 1、计算各个条件属性对决策属性的依赖度,我们用r(X,Y)表示依赖度,则 各个属性的等价类如下 U/X1={{1,2,3,13,14,15,16,19,20,25} {4,5,11,12,21,22,23}{6,7,8,9,10,17,18,24}} U/X2={{1,2,3,4,5,8,10,23,25} {6,7,13,14,17,18,19,20,21,22,24}{9,11,12,15,16}} U/X3= {{1,2,3,4,5,6,7,13,14,21,22,24,25}{8,9,10,11,12,15,16,17,18,19,20,23}} U/X4={{1,4,6,8,13,15,17,23,25} {3,5,7,9,12,14,16,18,19,22}{2,10,11,20,21,24}} U/Y= {{1,2,3,6,7,8,9,10,13,14,17,18,24,25}{4,5,11,12,15,16,19,20,21,22,23}} r(X1,Y)=0.6 r(X2,Y)=0 r(X3,Y)=0 r(X3,Y)=0 2、对数据进行相对属性约简,获取决策树节点集 我们通过计算得到的相对核为X1,X3,我此时已经可以正确分类,因此不需要再扩充节点,否则我们只需要选择使得加入节点后对Y的影响最大的属性即可,也就是使得Y对当前的属性集合的依赖度最大,因此在本实验中决策树的节点集为{X1,X3} 3、通过决策树的节点集构造决策树 由于Y对X1的依赖度最大,因此首先我们选择X1作为根节点,然后对于X1分别取1,2,3,然后对于不能正确分类的X1=1的情况,我们继续使用X3来分类,当X3取值为1时,结果为N,当X3取值2时,结果为Y吗,因此,可以得到一个最终的决策树如图1所示。
通过对本算法的分析,我们可以看出,本算法首先获取相对核,然后我们每次在剩余条件属性中选择一个条件属性,使得选择此条件属性后对于决策属性的影响最大,直到获得最大独立集,此时我们就得到了构造决策树时使用的节点集合,同时通过使用概率下近似可以更好的解决数据噪声问题,当数据中存在数据噪声时,由于我们使用的概率下近似,可以容忍一定程度的噪声,因此得到具有更好泛化性的决策树。
下面表1是本发明的实验数据信息。
表1


权利要求
1.一种基于概率粗糙集的决策树生成方法,其特征在于,包括如下步骤
1)计算决策属性对于条件属性的依赖度
首先设置概率下近似中的β,其中0.5<β≤1,通过使用概率下近似公式,计算每一条件属性Xi,对决策属性Y的概率下近似,然后计算决策属性对条件属性的依赖度,其中概率下近似计算公式如下所示,
则Y对Xi依赖度为,
其中,U代表论域,即全体记录的集合,|U|代表记录的个数;
2)对数据进行相对属性约简,获取决策树节点集
首先要获得相对核,相对核的计算公式如下,
COREQ(P)=∩REDQ(P)
然后我们每次在剩余的节点中选择一个条件属性,使得选择此条件属性后对于决策属性的影响最大,也就是决策属性对于当前属性的集合依赖度最大。我们依次增加节点个数,直到获得最大的独立集,从而得到构造决策树所需要节点集;
3)通过决策树的节点集构造决策树
建立决策树的方式是,让依赖度最大的节点作为根节点,然后对于分支,重新计算剩余节点的依赖度信息,同时选择依赖度最大的节点。
2.根据权利要求1所述的基于概率粗糙集的决策树生成方法,其特征在于,当节点不能确定最终类型,则通过重新计算依赖度信息,将剩余节点中的依赖度最大的作为分支节点,从而生成最终的决策树。
全文摘要
一种基于概率粗糙集的决策树生成方法,步骤为1)计算决策属性对于条件属性的依赖度;2)对数据进行相对属性约简,获取决策树节点集;3)通过决策树的节点集构造决策树,建立决策树的方式是,让依赖度最大的节点作为根节点,然后对于分支,重新计算剩余节点的依赖度信息,同时选择依赖度最大的节点。本发明最核心的思想就是首先通过相对约简消除没有用的属性,这样就可以得到用于生成决策树的节点。然后始终选择依赖度最大的节点来扩展生成树,最终就生成了我们需要的决策树。本发明能够有效的解决数据噪声问题。
文档编号G06F17/30GK101819604SQ20101018102
公开日2010年9月1日 申请日期2010年5月24日 优先权日2010年5月24日
发明者刘江, 林利 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1