摘要 该文提出了一种新的决策表连续属性离散化算法.首先使用相对熵来度量条件属性的重要性,并据此对条件属性按照属性重要性从小到大排序,然后按排序后的顺序,考察每个条件属性的所有断点,将冗余的断点去掉,从而将条件属性离散化. 该算法易于理解,计算简单, 算法的时间复杂性为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)是一个决策表,其中U={x1,x2,…,xn}为论域,R=C∪{d}, C ={C1 , C2,…,Ck} 为条件属性集合|C|=k,{d}为决策属性,设决策种类的个数为r(d)。属性a的值域Va =[l a,ra]上的一个断点可记为(a,c) ,其中a∈R,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[5,6] 设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,C∪D,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),则为a与D的“互信息”。上述定义表明属性a∈C-B关于属性集B对决策属性D的重要性由B中添加{a}后所引起的相对熵的变化大小来度量。SGF(a,B,D)的值愈大,说明属性a∈C-B关于属性集B 对决策属性D愈重要。3 决策表连续属性的离散化 在开始之前首先介绍一下断点的概念,断点是将某个数值型属性的值按照由小到大的顺序排序,重复的数值只计一次,两个相邻属性值的均值称为一个断点。在离散化之前需要先生成每个条件属性的断点集。3.1 离散化算法输入:一个决策表T=(U,A∪{d},V, f), 其中U={x1,x2,…,xn},A={a1 ,a2,…,ak}输出:离散化的决策表。Step1: 初始化候选断点集,令CUT={ Ca1,Ca2,…,Cak },其中Caj为属性ai的候选断点集Step2: 根据条件属性的重要性由小到大对每个条件属性ai (i=1,2,… ,k) 进行排序,在值相同的情形下,按条件属性断点个数从多到少进行排序,属性重要性按如下步骤产生:a) 令B=Φ是一链表,用来存储已排过序的属性;b) 对A-B中的每一个属性p,根据定义7计算其重要性SGF(p,B,D);
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
U | a | b | D |
1 | 0.6 | 3 | 1 |
2 | 1 | 0.8 | 0 |
3 | 1.2 | 5 | 0 |
4 | 1.6 | 1 | 1 |
5 | 1.6 | 3 | 0 |
6 | 1.2 | 1 | 1 |
7 | 2 | 5 | 1 |
8 | 4 | 5 | 1 |
U | a | b | D |
1 | 0.6 | 5 | 1 |
2 | 1 | 1 | 0 |
3 | 1.2 | 5 | 0 |
4 | 1.6 | 1 | 1 |
5 | 1.6 | 5 | 0 |
6 | 1.2 | 1 | 1 |
7 | 2 | 5 | 1 |
8 | 4 | 5 | 1 |
U | a | b | D |
1 | 1 | 5 | 1 |
2 | 1 | 1 | 0 |
3 | 1.6 | 5 | 0 |
4 | 1.6 | 1 | 1 |
5 | 1.6 | 5 | 0 |
6 | 1.6 | 1 | 1 |
7 | 4 | 5 | 1 |
8 | 4 | 5 | 1 |
U | a | b | D |
1 | 0 | 1 | 1 |
2 | 0 | 0 | 0 |
3 | 1 | 1 | 0 |
4 | 1 | 0 | 1 |
5 | 1 | 1 | 0 |
6 | 1 | 0 | 1 |
7 | 2 | 1 | 1 |
8 | 2 | 1 | 1 |
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
外贸网络营销电子商务网站建设的方法04-26
附中小升初历年考试时间和真题04-26
科技论文格式及写作技巧04-26
外贸企业网络营销对电子商务的误区04-26
网站推广:电子商务在外贸企业中拉动力04-26
外贸电子商务怎样进行网络营销04-26
时政热点:习总关于建设健康中国的重要论述04-26