找论文网 > 计算机论文 > 计算机应用 >

基于相对熵的决策表连续属性离散化算法(1)

摘要 该文提出了一种新的决策表连续属性离散化算法.首先使用相对熵来度量条件属性的重要性,并据此对条件属性按照属性重要性从小到大排序,然后按排序后的顺序,考察每个条件属性的所有断点,将冗余的断点去掉,从而将条件属性离散化. 该算法易于理解,计算简单, 算法的时间复杂性为O(3kn2)。
关键词 相对熵;互信息;连续属性;离散化;决策表
1 引言
      波兰科学家Pawlak提出的粗糙集(Rough set)理论[1,2]是一种新型的处理模糊和不确定知识的数学工具,目前已经在人工智能、知识与数据发现、模式识别与分类、故障检测等方面得到了较为成功的应用。
      在运用粗糙集理论处理决策表时,要求决策表中的值用离散数据表示.如果某些条件属性或决策属性的值域为连续值(如浮点数),则在处理前必须进行离散化处理,而且即使对于离散数据,有时也需要通过将离散值进行合并(抽象)得到更高抽象层次的离散值[2]
该文形式化地描述了决策表的离散化问题,利用相对熵定义了属性的重要性度量,提出了基于相对熵的决策表离散化算法,并分析了该算法的时间复杂度,最后用例子说明该算法的离散化过程。
2 基本概念
     应用粗糙集理论实现知识获取和数据分析通常是对决策表进行处理,为此首先给出决策表的定义.
     定义1. 一个决策表是一个由四元组T=(U,R,V,f)构成的知识表达系统,其中U是对象的集合,也称为论域.R=C∪D是属性的集合,子集C和D分别被称为条件属性集和决策属性集. V = 是属性的取值范围构成的集合,其中Vr是属性r的值域.f:U×R→V是信息函数,它指定U中每一个对象各个属性的取值.D≠Φ.
      在本文讨论中假设决策属性值为离散值,连续属性变量仅出现在条件属性中,不失一般性,以下仅考虑单个决策属性的决策表。
2.1离散化问题的描述
       设T=(U,R,V,f)是一个决策表,其中={x1,x2,…,x}为论域,R=C∪{d}, C ={C1 , C2,…,Ck} 为条件属性集合|C|=k,{d}为决策属性,设决策种类的个数为r(d)。属性a的值域Va =[l a,ra]上的一个断点可记为(a,c) ,其中aR,c为实数值。在Va=[la ,ra]上的任意一个断点集合:Da ={(a,c1a),(a,c2a),…,(a ,ckaa)}定义了Va上的一个分类Pa
Pa ={[c0a,c1a)[c1a,c2a)[ckaa,cka+1a]}
la = c0a<c1a<c2a<… < cka +1a= ra
Va =[c0a,c1a][c1a,c2a][ckaa,cka+1a]
断点集合Da将属性a的取值分成ka+1个等价类,这里每一个cka就称为一个断点,离散化的目的就是对所有连续属性都找到适宜的断点集, 因此,任意的P = 定义了一个新的决策表:
            Tp=(U,R,Vp,fp),f p(xa)=i  f(xa)[cia,ci+1a]
      对于x∈U,i∈{0,1,2,…,Ka},即经过离散化之后,原来的决策表被新的决策表所代替,且不同的断点集将同一决策表转换成不同的新决策表。
      从粗糙集的观点看,离散化的实质是在保持决策表分类能力不变,即条件属性和决策属性相对关系不变的条件下,寻找合适的分割点集,对条件属性构成的空间进行划分。评价属性离散化的质量,主要看分割点的选择和多少,以及保持信息系统所表达的样本之间的“不可分辨关系”。最优离散化, 即为决策表寻找最小(最优) 的断点集是一个NP-hard 问题,为此必须寻找某种启发式算法,人们提出了许多启发式算法,可参考文献[2,3],该文利用决策属性相对于条件属性的相对熵作为启发式算法。
2.2 知识的信息量和相对熵
      下面将信息论中信息量和相对熵[4-6]的概念引入到信息系统中。
       定义2[56]  设K=(U,R)是一近似空间,R在U上的划分(等价关系)为U/IND(R) ={R1,R2,…,Rn}, 知识(属性集合)R 的信息量(也称为信息熵)定义为:
 
      其中 =U-Ri,|Ri|/|U|表示等价类Ri在论域U上的可能性(概率),||/|U|表示Ri的余集在论域U上的可能性, 也即不属于Ri的概率。
定义3[6]  设U为论域,K1=(U,P)和K2=(U,Q)是关于U的两个知识库,U/IND(P)= {X1,X2,…,Xn}, U/IND(Q)={Y1,Y2,…,Ym}, 知识(属性集合)Q相对于知识(属性集合)P 的相对熵E(Q|P)定义为:
  
P与Q的互信息定义为:
 
      定义中用“相对熵”概念,而不用“条件熵”,完全是式子中已经没有了条件概率的意义.另外,定义中使用余集来表示,纯粹是为了定理的证明时简便,实际计算时不必用余集.
性质1[6] 设U为论域,K1=(U,P)和K2=(U,Q)是关于U的两个知识库,则有:
(1) E(Q)=E(Q;P)+E(Q|P)  (2) E(P)=E(P;Q)+E(P|Q)   (3) E(Q;P)= E(P;Q)
性质2[6] 设U为论域,K1=(U,P)和K2=(U,Q)是关于U的两个知识库,U/IND(P)= {X1,X2,…,Xn}, U/IND(Q)={Y1,Y2,…,Ym}, D是U上的一个决策(即U上的一个划分).如果U/IND(P) U/IND(Q),则(1)E(D;P)E(D;Q) , (2)E(D|P)E(D|Q)
2.3 属性重要性度量
      Rough集理论认为知识是将对象进行分类的能力,属性的重要性是建立在属性的分类能力上的, 为了衡量属性的重要性程度, 可从表中删除这一属性,再来考察信息系统的分类会产生怎样的变化:如果去掉属性会相应地改变分类,则说明该属性重要,反之,则说明该属性的重要性低。
衡量属性重要性程度的方法较多,有代数方法和信息论方法等[7],本文利用条件属性相对于决策属性的相对熵作为度量方法,有关相对熵的一些性质参见文献[6].
定义4 (属性重要性) 设T =〈U,CD,V,f 〉是一个决策表, B C ,则对任意属性a{C-B}的相对于决策属性D的重要性SGF(a,B,D)定义为: SGF(a,B,D)=E(D|B)- E(D|B{a})
B =Φ,简记为 SGF(a,D) =E(D)-E(D|{a})=E(D;a),则为aD的“互信息”。
上述定义表明属性aC-B关于属性集B对决策属性D的重要性由B中添加{a}后所引起的相对熵的变化大小来度量。SGF(a,B,D)的值愈大,说明属性aC-B关于属性集B 对决策属性D愈重要。
3         决策表连续属性的离散化
      在开始之前首先介绍一下断点的概念,断点是将某个数值型属性的值按照由小到大的顺序排序,重复的数值只计一次,两个相邻属性值的均值称为一个断点。在离散化之前需要先生成每个条件属性的断点集。
3.1 离散化算法
输入:一个决策表T=(U,A∪{d},V, f), 其中U={x1,x2,…,x},A={a1 ,a2,…,ak}
输出:离散化的决策表。
Step1: 初始化候选断点集,令CUT={ Ca1Ca2Cak },其中Caj为属性ai的候选断点集
Step2: 根据条件属性的重要性由小到大对每个条件属性ai (i=1,2,… ,k) 进行排序,在值相同的情形下,按条件属性断点个数从多到少进行排序,属性重要性按如下步骤产生:
a)     令B=Φ是一链表,用来存储已排过序的属性;
b)     对A-B中的每一个属性p,根据定义7计算其重要性SGF(p,B,D)

共2页: 1 [2] 下一页


企业标准化体系的工作流管理系统的开发
登录方式的改进设计与实现
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图