粗糙集数据分析系统MATLAB仿真工具箱设计

收稿日期:2005-12-29

基金项目:国家自然科学基金资助项目(60574011)?作者简介:张雪峰(1966-),男,辽宁沈阳人,东北大学副教授,博士研究生;张庆灵(1956-)

,男,辽宁营口人,东北大学教授,博士生导师?

第28卷第1期2007年1月东北大学学报(自然科学版)Journal o f Nort heastern U ni versit y (N at ural S cience )V o l.28,No.1

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Jan.2007

粗糙集数据分析系统M A T L A B 仿真工具箱设计

张雪峰,张庆灵

(东北大学理学院,辽宁沈阳110004)

摘要:围绕不可区分关系和相对正区域两个核心概念,通过知识之间的依赖程度,提出了粗糙集数据

分析的算法,通过比较属性约简的数目,选择最少属性数量的约简结果?利用M ATLA B 处理集合函数的优势,得到了求取相对核、上(下)近似、等价关系、相对重要度、属性相对约简、范畴相对约简、最小决策规则等的各种算法的程序实现?实现了M ATLA B 仿真工具箱设计?

利用图形用户界面(GU I )方法,设计了良好的人-机交互系统的主界面?最后给出实际例子的程序运行结果,对推动粗糙集理论在具体实践中应用和普及,具有实际意义?

关键词:粗糙集;属性约简;属性核;M ATLA B ;仿真;工具箱中图分类号:T P 393.09文献标识码:A 文章编号:1005-3026(2007)01-0040-04

D esi g n of MATLAB s i mul ati on Tool Box f or Rou g h set Dat a Anal y sis s y ste m

Z~ANG xue-f en g ,Z~ANG @in g -lin g

(S

choo l o f S ciences ,N ort heastern U n ivers it y ,S hen y an g 110004,c h i na .c orres p ondent :Z~ANG G i n g -li n g ,p ro f essor ,E

-m ail :C lzhan g !m ail .neu .edu .cn )Abstract :T he t W o kernel conce p ts ,i ndiscerni bilit y relation and relati ve p ositi ve re g ion ,are

f ocused on.A n al

g orit

h mis p ro p osed to anal y ze t he rou g h set data anal y sis s y ste m,accord

i n g to t he m ut ual de p endenc y bet W een diff erent ki nds o f knoW led g e.T he nu m bers o f reduced attri butes are com p ared to p ick out a reduction result i nvo lvi n g t he m i ni m u m nu m ber o f attri butes.T aki n g t he advanta g e o f M ATLAB i n deali n g W it h set f unctions ,t he p ro g ra m realizations o f m an y al g orit h m s are g i ven to so lve relati ve core ,u pp er a pp rox i m ation ,loW er a pp rox i m ation ,e C ui valence relation ,relati ve si g nificance level ,relati ve reduction o f attri butes ,relati ve reduction o f dom ai n and m i ni m al decision rules ,t hus desi g ni n g t he M ATLAB si m ulation too l .B y W a y o f g ra p hical user i nterf ace (GU I ),t he f avorable m ai n i nterf ace o f m an-m achi ne i nteraction s y ste mis desi g ned.A n exa m p le resulti n g from runni n g is g i ven ,Which shoW s t he p ractical si g nificance to t he a pp lications o f rou g h set t heor y .

K e y words :rou g h set ;attri butes reduction ;attri bute core ;M ATLAB;si m ulation ;too l box 随着信息的不断增长,对信息分析工具的要求也越来越高,人们希望自动地从数据中获取其潜在的依赖模型?研究能够从大量客观信息中形成不依赖专家经验和其他主观评价的实际概括(归纳)的系统就显得越来越重要?粗糙集(Rou g h S et ,简写为RS )是波兰数学

家Z.Pa W lak 于1982年提出的[1]

?1991年Pa W lak

出版了专著,奠定了严密的数学基础[2]?1997年Z.Pa W lak 利用粗糙集方法进行基于知识的决策

支持[3]?

虽然RS 至今只有二十几年的发展历史,但取得的研究成果是令人瞩目的?它是一种较有

前途的软计算方法?基于粗糙集方法的数据知识表达和知识推理不需要预先给出概率分布、模糊隶属函数、可信度分配等相关特征知识和主观经验信息,可从现有的数据出发给出知识的简化和约简,为处理不精确、不确定、含糊、不完备、不一致信息和知识提供了一种新数学方法?该理论是数据挖掘、知识融合、信息计算、专家控制系统的重要理论基础?

M ATLAB 是当前最流行的、

功能强大的高效

率的数值计算的可视化科技应用软件和编程语言之一?尽管M ATLAB具有很强的计算功能,但是,M ATLAB的最新版V7.0里仍然没有粗糙集方面的函数和工具箱?考虑到M ATLAB具有许多现成的处理集合、矩阵及其他数学关系的函数及其解释性语言的特点,结合考虑粗糙集的处理集合与等价关系特点,利用M ATLAB开发粗糙集数据分析系统仿真应用工具箱能够发挥二者各自的优势,它比用VC++等其他计算机语言具有事半功倍的效果?粗糙集数据分析与处理的工具软件尚不多见,国外有RO SETTA,RO SE等,这些软件有的价格高,有的功能单一,效率不高,在国内很不普及?为了促进粗糙集理论更广泛地应用于具体实践中,利用现有的算法,开发一个成功的粗糙集数据分析系统具有重大实际意义[4]?

1粗糙集简介

粗糙集理论对知识进行了形式化定义,为知识处理提供了一套严密的分析工具?粗糙集理论可从数据中发现隐含的知识,揭示潜在的规律?设X,Y G U,R是定义在U上的等价关系,集合X关于R的下近似为:R-(X)=U{Y G U/R:Y二X}?R-(X)是根据现有知识判断肯定属于X的对象组成的最大的集合,称为正区,记为PO S(X)?上近似为:R-(X)=U{Y G U/R:Y n X羊}?R-(X)是由所有与集合X相交非空的等价类的并集,是那些可能属于X的对象组成的最小集合?集合边界区定义为:B nd(X)=R-(X)-R

-

(X)?如果Bnd(X)是空集,则称X关于R是清晰的;反之,则称X为关于R的粗糙集[5]?

一个信息系统S可以表示为:S=〈U,A,V,f〉,其中,U是对象的集合,即论域;A是属性集合;如果属性集A可以分为条件属性集C和决策属性集D,即C U D=A,C n D=,则该信息系统称为决策系统或决策表?例如表1所示,论域U有7个元素,第一到第四列为条件属性,第五列为决策属性?

表1一个信息系统实例

Tabl e1An exam P l e o f i nf o r mati on s y s t em U C1C2C3C4D

110011

210001

300000

411010

511022

621022

722222

在信息系统中,对于每个属性子集R二A,不可分辨关系I ND(R):

I ND(R)={(I,$)G U>U:T G R,T(I)= T($)},显然I ND(R)是一个等价关系,对象I在属性集R上的等价类[I]

I ND(R)

定义为

[I]

I ND(R)

={$:$G U,$I ND(R)I}?为简便起见,在不产生混淆的情况下用R代替I ND(R)?假定R代表论域U中的一种关系,当R描述对U的分类,即U中对象之间的等价

关系时,用U/R={X

1

,X

2

,…,X

7

}表示根据关系R,U中的对象构成的所有等价类族,称为关于U的知识?

属性约简是指在保持信息系统的分类或决策能力不变的条件下,删除其中的冗余属性?如果I ND(R)=I ND(R-{T}),称T为R中可省略的?决策表约简的目的是用最少的条件辨别每一个决策类,即将决策表中包含的决策知识精简?对简化后的决策表进行条件属性约简,即如果某条件属性去掉以后决策表仍旧保持协调,则该属性是冗余的,可以去掉?

在信息系统S中,若P,G二A,则G的P正

区域PO S

P

(G)定义为

PO S P(G)=U P-(X),X G U/G?

R中所有不可约去的关系称为核,由它构成的集合称为R的核集,记成CORE(R)[6]?

2RSDA系统实现

粗糙集理论方法以对系统观察和测量所得数据进行分类的能力为基础,其主要思想是在保持分类能力不变的前提下,通过知识约简,推导出问题的决策或分类规则?粗糙集理论中所有的概念和运算都是通过等价关系和集合运算来定义的,粗糙集理论的很多概念和运算的直观性较差,人们不容易理解其本质?因此影响了粗糙集的推广与提高,RS理论在工业中带来具体的显著效益的应用还非常少?粗糙集数据分析(rou g h set data anal sis,RSDA)是一种分析数据之间相关性和依赖性的一种符号方法?利用RSDA可以从数据中提取规则、寻找关键属性和属性值,从而进行预测和决策?它的优点是不需要做人为的假设,规则的产生完全是由数据驱动的?基于粗糙集的数据分析方法实际是对决策表进行约简的过程,这个处理过程主要函数如下?

2.1MATLAB集合函数介绍

M ATLAB的70余个工具箱覆盖面极广,包括丰富的数值分析、矩阵运算、图形绘制、数据处

14

第1期张雪峰等:粗糙集数据分析系统M ATLAB仿真工具箱设计

理、信号处理、图像处理、小波分析、鲁棒控制、系统辨识、非线性控制、模糊逻辑、神经网络、优化理论、统计分析等?由于它的功能强大且应用越来越广泛,加之不断开发出来的大量的应用于不同学科的工具箱,使M ATLAB越来越受到人们的重视,成为国际控制界广泛使用的语言之一?M ATLAB中有数量庞大的函数库,下面对本开发平台中所使用和涉及的主要的函数或指令的含义进行描述?

表2MATLAB部分集合函数

Tabl e2Part o f MATLAB se t f unc ti ons

函数名称功能描述

cat(d,A,B)把数组A和B按指定的维数d

连接起来

sort(A)将数组A元素按升顺排列起来

i ntersect(a,b)返回a和b中共有的值,所得到

的向量的元素按升顺排列is m e m ber(a,S)返回一个和向量a同样长度的向

量,其中的元素描述了a中各个

元素对应属于集合S的状态setd iff(a,b)返回a中有但b中没有的元素,

得到的向量的元素按升顺排列un i C ue(a)返回向量a中的元素值,但不出

现重复

strvcat(t1,t2,t3,…)对于字符串t1,t2,t3,…等进行

竖向组合

un ion(a,b)返回a或b中的值,所得到的向

量的元素按升顺排列

set xor(a,b)集合的异或运算

2.2主要MATLAB程序

Rou g1集理论所有的概念和计算都是以不可分辨关系为基础,通过引入上近似集和下近似集,在集合运算上定义的?这通常称为Rou g1集理论的代数观点?由于粗糙集的这些概念抽象、难于理解,阻碍了其普及和发展,特别不利于与其他领域实际应用项目的结合?仿真技术作为一种研究工具可以提高开发和研究系统的效率,M ATLAB强大的数据分析和高级可视化软件使其成为许多科研与应用开发的首选平台,本文对粗糙集中基本的概念和方法利用M ATLAB的函数实现其功能仿真,下面介绍主要M ATLAB程序?

(1)函数I=R su pp er($,a,I)求取决策表为I的$集合,关于a的不可分辨关系为上近似集?以下的I等变量都为表1中的数据,程序如下:

f unction I=R su pp er($,a,I)

Z=i nd(a,I);I=[];[1,Z]=s ize(Z);

f or=1:1

ZZ=setd iff(Z(,:),0);

ZZZ=i ntersect(ZZ,$);

[Z1,Z Z]=s ize(ZZZ);

if Z Z!=0,I=cat(2,I,ZZ);end

end I=sort(I,2);

例如,取a=[4],$=[1245]?程序结果为!$=R su pp er($,a,I)=[1234567]?

(2)函数I=R slow er($,a,I)求取决策表为I中集合$,关于a的不可分辨关系为下近似集?把(1)中带下划线的3行程序用下面的一行程序替代就变成R slow er($,a,I)?if is m e m ber(ZZ,$),I=cat(2,I,ZZ);end,例如,a,$同上,在命令提示符下,有!$=R low er($,a,I)=[14]?(3)函数$=i nd(a,I)求取决策表I的属性为a的不可分辨关系?求不可分辨关系的最坏复杂度为0("A""U"2),因为在最坏的情况下需要扫描对象集合两次,每个对象一次,每个对象的等价类一次?本文利用改进的算法:首先按给定属性集对对象进行编码,之后对编码值排序,然后扫描一遍即可,复杂度为0("A""U"l g"U")?程序主要代码:

f unction$=i nd(a,I)

[1,Z]=s ize(I);[a1,a Z]=s ize(a);

$=I;

f or i=1:1,O(i)=code(a Z,$(i,:),10);end

$=O’;[$$,I]=sort($);$=[$$I];

[b,a,l]=un i C ue($$);$=[l I];m=m ax(l);

aa=zeros(m,1);

f or ii=1:m f or j=1:1

if l(j)==ii,aa(ii,j)=[I(j)];end

end end$=aa;

f unction$$=code(a,I,b)

$$=0;f or i=1:a,$$=$$+I(i)#b*(a-i);

例如取a=[5],有!$=i nd(a,I)={{3,4},{1,2},{5,6,7}}?

(4)函数[$,b]=p os(1,Z)求取决策表为I

时,G的P正域,$是"PO S

P

(G)"/"U"的值,b 是G的P正域集合?例如,取a=[1:4],b=[5],有![$,b]=p os(i nd(a,I),i nd(b,I)),$=1,b =[1234567]?

(5)函数$=redu(c,d,I)求取决策表为I 的条件属性为c决策属性为d的属性约简?例如,对于表1所示系统,取c=[1:4],d=[5],得到! $=redu(c,d,I)=[124]?

(6)函数$=core(c,d,I)求取决策表为I 的条件属性为c决策属性为d的核属性?例如c,d,I同上例,结果为!$=core(c,d,I)=[12 4]?

函数p os(1,Z),redu(c,d,I)和core(c,d,I)的具体算法和程序见文献[7]?

另外,也有一些学者从信息论的观点对Rou g1集理论进行研究,以信息熵为基础提出了

24东北大学学报(自然科学版)第28卷

相应的Rou g h集理论的信息论观点?还有学者提出变精度等扩展粗糙集模型,只要把以上基本算法稍加调整和改变就可以方便地实现相应不同的扩展算法[8-9]?

3图形用户界面

利用M ATLAB程序特点进行粗糙集仿真大大减少了编程工作量,对于一个成功的软件来说,其内容和基本功能固然应该是第一位的,但除此之外,图形界面的优劣往往也决定着该软件的档次?M ATLAB图形用户界面的优势使得系统工具箱形象直观,容易对输入输出量化论域、属性变量、属性重要度函数和粗糙规则进行修改?也可以通过存贮在w orks p ace或文本文件上的数据进行分析和处理?界面结构的设计利用M ATLAB的GU I DE功能?

RsDA系统应用平台的界面程序主要内容就是每个控件的回调函数,利用回调函数,把编制的功能分散的粗糙集函数整合在如图1的主界面中,下面以控件B row se为例,给出回调函数C allback的语句?

Function brow se-C allback(h0b j ect,eventdata,hand les)

[filena m e,p at hna m e,filteri ndex]=ui g etfile(/!. t xt/,/打开/,/D:"M ATLA B6p5"W0RK"A.TXT/);

set(hand les.readx,/stri n g/,[p at hna m e,filena m e])

在M ATLAB提示符下键入rsdav3命令则启动如图1所示的仿真工具箱主界面,用户可由其中的B row se按钮读入输入信息表,在相应输入栏给出条件属性C和决策属性D的列号,以及待处理的A,R,Y集合的内容,则可进一步进行分析?例如,单击redu则可以进行约简,结果将在results out p ut栏中显示出来?

图1粗糙集仿真工具箱主界面

F i g.1Ma i n i nt e rf ace o f r ou g h se t s i mul ati on t oo l box

4结论

本文介绍了如何利用M ATLAB的集合函数及图形用户界面开发和设计粗糙集仿真工具箱的方法和步骤?将M ATLAB和粗糙集理论有机结合起来,实现了复杂粗糙集应用问题系统的设计和高效仿真及数据约简,对于普及粗糙集理论,推广粗糙集在实际中应用和进一步提高教学效果都具有明显的促进作用?该方法的具体应用实例可以参见文献[10]?

软件包的编码还没有进行最优最小化处理,工具箱设计的功能还不完善,系统的性能还需进一步提高,以满足大数据集系统的需要?进一步工作包括增加工具箱的功能,降低算法的复杂度,增加变精度粗糙集模块、连续属性离散化模块、基于信息熵的属性约简、与概率方法和模糊集方法联合的粗糙集处理方法的工具箱模块,由于M ATLAB解释性语言的特点,这些问题用户可很方便地进行处理和扩展?

参考文献:

[1]Pa w lak Z.Rou g h sets[J].i nternational Journal o f

C o m P uter and i n f or m ation s cience,1982,11(5):341-

356.

[2]Pa w lak Z.Rou g h sets—t heoretical as p ects of reason i n g about

data[M].N or w e ll:K lu w er A cade m ic Pub lisher,1991:1-

5.

[3]Pa w lak Z.Rou g h set a pp roach to know led g e-based decis ion

su pp ort[J].e uro P ean Journal o f0P erational R esearch,

1997,99(1):48-57.

[4]张雪峰?粗糙集数据分析系统应用平台的研究与程序开发

[D]?沈阳:东北大学,2004?

(Zhan g Xue-f en g.T he launch and research f or rou g h set data

anal y s is s y ste m[D].s hen y an g:N ort heastern U n ivers it y,

2004.)

[5]Pa w lak Z,B usse J G,s low i nski R,et al.Rou g h sets[J].

C o mm unication o f t he ACM,1995,38(11):89-95.

[6]郝丽娜,王伟,吴光宇,等?粗糙集-神经网络故障诊断方

法研究[J]?东北大学学报:自然科学版,2003,24(3):252

-255?

(~ao L i-na,W an g W e i,W u G uan g-y u,et al.R esearch on

rou g h set-neural net w ork f ault d ia g nos is m et hod[J].Journal

o f N ort heastern uniuersit y:Nat ural s cience,2003,24(3):

252-255.)

[7]Zhan g X F,Zhan g G L.P ro g ra m realization of rou g h set

attri butes reduction[C]#P roceed i n g s o f6t h W orld C on g ress

on C ontro l and A utom ation(W C I CA2006).P iscata w a y:

I EEE,2006:5995-5999.

[8]W on g s K M,Z iarko W.0n o p ti m al decis ion tab les i n

decis ion tab les[J].bulletin o f t he P olish A cade m y o f

s ciences,1985,33:694-696.

[9]N ow icki R,s low i nski R,s tef anow ski J.Evaluation o f

vi broacoustic d ia g nostic s y m p tom s b y m eans o f t he rou g h sets

t heor y[J].C o m P uters in i ndustr y,1992,20(2):141-

152.

[10]薛定宇,陈阳泉?高等应用数学问题的M ATLAB求解

[M]?北京:清华大学出版社,2004:377-382?

(Xue D i n g-y u,Chen y an g-C uan.T he so lution on M ATLAB

o f advanced a pp lication m at he m atics[M].B e i j i n g:T s i n g hua

U n ivers it y P ress,2004:377-382.)

34

第1期张雪峰等:粗糙集数据分析系统M ATLAB

仿真工具箱设计

粗糙集数据分析系统MATLAB仿真工具箱设计

作者:张雪峰, 张庆灵, ZHANG Xue-feng, ZHANG Qing-ling

作者单位:东北大学,理学院,辽宁,沈阳,110004

刊名:

东北大学学报(自然科学版)

英文刊名:JOURNAL OF NORTHEASTERN UNIVERSITY(NATURAL SCIENCE)

年,卷(期):2007,28(1)

被引用次数:5次

参考文献(10条)

1.Nowicki R;Slowinski R;Stefanowski J Evaluation of vibroacoustic diagnostic symptoms by means of the rough sets theory 1992(02)

2.薛定宇;陈阳泉高等应用数学问题的MATLAB求解 2004

3.Wong S K M;Ziarko W On optimal decision tables in decision tables 1985

4.Zhang X F;Zhang Q L Program realization of rough set attributes reduction[外文会议] 2006

5.郝丽娜;王伟;吴光宇粗糙集-神经网络故障诊断方法研究[期刊论文]-东北大学学报(自然科学版) 2003(03)

6.Pawlak Z;Busse J G;Slowinski R Rough sets[外文期刊] 1995(11)

7.张雪峰粗糙集数据分析系统应用平台的研究与程序开发[学位论文] 2004

8.Pawlak Z Rough set approach to knowledge-based decision support[外文期刊] 1997(01)

9.Pawlak Z Rough sets.-theoretical aspects of reasoning about data 1991

10.Pawlak Z Rough sets 1982(05)

引证文献(5条)

1.张志军.刘炯天.冯莉一种确定选矿指标的经济分析方法[期刊论文]-东北大学学报(自然科学版) 2010(2)

2.张雪峰.尚金奎基于蒙特卡罗方法和粗糙熵标准的图像分割方法[期刊论文]-石油化工高等学校学报

2009(3)

3.李元萍.李元良粗糙集约简算法的研究与实现[期刊论文]-矿业研究与开发 2008(4)

4.洪成昱.张雪峰.王宇彤基于粗糙集下近似理论的支持向量机分类方法[期刊论文]-曲阜师范大学学报(自然科学版) 2008(2)

5.张雪峰.田晓东.张庆灵基于粗糙集理论和层次分析的数据约简[期刊论文]-东北大学学报(自然科学版)2008(1)

本文链接:https://www.360docs.net/doc/4410782950.html,/Periodical_dbdxxb200701010.aspx

相关主题
相关文档
最新文档