浅谈粗糙集理论及其应用*
2020-05-18于章晗李津平李奇芳项丽婷
王 培,于章晗,李津平,许 梦,李奇芳,项丽婷
(玉林师范学院数学与统计学院,广西 玉林 537000)
引言
随着科学技术的飞速发展,各行业所积累的数据资料越来越庞大,人们对于数据的处理要求越来越高,需要研究的数据间的关系也变得越来越复杂.在经典的集合理论中,其对大数据的处理能力已经不足以满足现今时代对大数据的处理要求,需要去寻找到更为有效的处理大数据的方法.传统的数学方法都没有度量数据中蕴含的各种不确定性,从而去挖掘出有用的知识机制,因而迫切需要建立能够有效处理海量数据的数学理论与方法去解决现实生活中的海量数据处理问题.1982年,Z.Pawlak首次提出了粗糙集方法,用于处理模糊及不确定的数据信息,该理论创立之初,并没受到世界各界的重视,只有少数的学者去学习研究它,后来随着粗糙集的发展,它的强大数据处理能力得以被发现,才逐渐受到了国际各科学技术领域学者的关注.1991年,Z.Pawlak《粗糙集—关于数据推理的理论》一书的面世,推动了国际上对粗糙集理论与应用的深入研究,粗糙集的发展开始进入一个新的时期.1995年,国际计算机学会将粗糙集理论列为了计算机科学的新兴的研究课题[1].
在此之前,人们在处理海量数据等不确定性信息问题时,通常采用模糊理论,概率方法,数据理论等数据处理方法,但这些方法都需要先验知识,在实际操作中难以达到要求,所以人们趋向寻找更为简便有效的方法去解决此类问题.随着粗糙集理论的提出,解决了困扰多时的海量数据处理问题.在实际应用的许多问题上,基于粗糙集之间的数字特征和拓扑结构的关系,必须要考虑到的因素,不仅是粗糙集的精度,还要考虑粗糙集的拓扑结构,结合两种类型的边界域信息,以达到解决问题的目的[2].
1 粗糙集理论的基本概念
在处理海量的模糊以及不确定等不完备的数据信息时,运用粗糙集理论,通过分析研究其数据信息,进行知识约简,进而有效处理解决其问题[3].
1.1 知识与知识库
1.2 不精确范畴、近似与粗糙集
定义2 令X⊆U,R是U上的一个等价关系,R可定义集为论域的子集,若R在知识库中可以精确地定义,则称R为精确集;若R在知识库中是不可定义的,则称R为粗糙集.
在知识库K=(U,R)中,对于每一子集X⊆U以及一个等价关系R∈ind(K),则定义两个子集:
RX=∪{Y∈U/R|Y⊆X},
已知bnR(X)为集合X的上、下近似之差,如若bnR(X)为空集,则称集合X关于集合R是清晰的;反之,则称集合X为关于集合R的粗糙集.
图1 粗糙近似
1.3 属性约简和核
定义3 属性约简是粗糙集的核心内容之一.在知识库中,并非所有的属性都是对于结果的决策性判定,而是存在某些冗余属性.属性约简,总的来说就是在保持知识库分类能力不变的情况下,对其中的不相关或不重要的属性进行约简排除.令R为一簇等价关系,R∈R,如果ind(R)=ind(R-|R|),则称R为R中不必要的因素,即冗余因素,否则,则称R为必要的因素;如果对于每一个R∈R都为R中的必要因素,则称R为独立的,否则称R为依赖的.假设Q⊆P, 若Q是独立的,且ind(Q)=ind(P),那么则称Q为P的一个约简. P中所有必要关系组成的集合称为核,记为core(P),core(P)=∩red(P),其中red(P)也为P的所有约简[5],核也是粗糙集的核心内容之一. 经过很多的实验证明利用粗糙集的方法进行属性约简,能够有效的去除冗余属性,保留决策性属性,达到简化问题的目的.
2 粗糙集属性约简
知识约简运用在很多的有关粗糙集的实例问题中.粗糙集的约简,就是保持知识库U条件不变,找出决定性属性,删除冗余属性,来达到系统信息的简化.下面将以一个简单的例子来说明一下粗糙集的属性约简.
假设有一个医疗诊断表,见表1,有8个对象接受了诊断是否患了流感,每个对象都体现的三个特征分别是:是否咳嗽,是否流鼻涕,体温是否正常,最后的决策结果并不是所有人都得了流感,而是仅有一部分患者是得了流感,设集合U={x1,x2,x3,x4,x5,x6,x7,x8},C={咳嗽,流鼻涕,体温},D={流感},设置C1=咳嗽,C2=流鼻涕,C3=体温,0代表是,1代表否.
表1 医疗诊断统计表
由表1,可以对表格信息进行梳理约简[6]:
U/C1={{x1,x2,x3},{x4,x5,x6,x7,x8}}
U/C2={{x1,x2,x3,x4,x6,x8},{x5,x7}}
U/C3={{x1,x4},{x2,x5,x7},{x3,x6,x8}}
U/{C1,C2}={{x1,x2,x3},{x4,x6,x8},{x5,x7}}
U/{C1,C3}={{x1},{x2},{x3},{x4},{x5,x7},{x6,x8}}
U/{C2,C3}={{x1,x4},{x2},{x5,x7},{x3,x6,x8}}
U/C={{x1},{x2},{x3},{x4},{x5,x7},{x6,x8}}
U/D={{x1,x4,x5,x8},{x2,x3,x6,x7}}
Pos_c(D)={x1}∪{x2}∪{x3}∪{x4}
K=y_c(D)=Pos_c(D)/U=4/8=0.5
Pos_(c-c1){D}={x1,x2,x4}≠Pos_c(D)
Pos_(c-c2){D}={x1,x2,x4}=Pos_c(D)
Pos_(c-c3){D}={x1,x2,x4}≠Pos_c(D)
Pos_(c-{c1,c2}){D}={x1,x2,x4}≠Pos_c(D)
Pos_(c-{c2,c3}){D}={x1,x2,x4}≠Pos_c(D)
由上述,可以得出C2为冗余属性,对决策表来说不必要,不具有决策性,可删除,因此C的约简为C-{C2}={C1,C3},其中C1,C3为决策性属性.
3 粗糙集在其他领域中的应用
粗糙集理论从提出至今,也才短短三十几年,基于其强大的数据处理能力以及较强的实用性,不仅有效的解决了困扰很多项目研究中的数据处理难题,并且在不断的学习和研究中,还基于此理论创新性的组合提出了更多更为有效的新技术,在很多科学工程领域都得到了较大的应用.下面整理了一些有关粗糙集与其他各领域相结合的例子.
故障诊断,文献[1]中,运用了粗糙集—遗传算法对水轮机故障信息进行判断分类,进行原有水轮机组的故障信息的属性约简;文献[3]中,借助双论域粗糙集模型对系统进行基于Vague粗糙集的不确定性信息系统分析,然后创建双论域Vague粗糙集的矿井通风机故障诊断方法,对矿井通风机进行故障诊断 .
风险评估,文献[2]中,将山岭隧道坍塌风险评估构建为粗糙集的决策信息表,运用条件信息熵的计算方法,以条件属性为起始点,逐步添加属性,实现属性约简;文献[4]中,将粗糙集与案例推理方法相结合,通过差别矩阵对评价系统进行属性约简,计算指标权重,提高了安全系统的评估效率.
图像处理,文献[5]运用粗糙集理论的多阈值分割方法,以图像的粗糙度大小将图像进行多区域分割,对线扫描相机采集的棉花异性纤维图像进行去噪处理;在文献[6]中,以粗糙集理论为基础,将其与差分免疫模糊聚类算法相结合,用来进行对图像的分割处理;在文献[8]中,将粗糙集理论运用到视频的监控图像中,用来增强图像的效果.
数据挖掘,粗糙集作为一种数据处理手段,其在数据挖掘领域的作用非常广泛,在文献[7]中,提出的基于贝叶斯粗糙集的大数据频繁项挖掘技术,具有较高的鲁棒性,大大提高了数据挖掘的准确率和运行时间;在文献[16]中,运用模糊粗糙集属性约简的方法,在海量的数据挖掘中,利用Canopy算法对K-means算法进行改进,实现了K-means聚类算法在Hadoop平台上的并行化计算.
信息检索,在信息检索中,提高搜索速率一直是一个有待解决的问题,在大数据时代的趋势下,数据的处理速度也一直在优化中.在文献[9]中,利用精变度粗糙集,通过阈值限定,进行决策表的简化,确定关键条件查询的属性值,更好的提升了资源的查询速率.
除此之外,粗糙集理论还广泛应用于其他领域,例如种类识别[17]、物流模式决策[18]、医疗诊断[19]、智能识别[20]、机器学习[21]、数据分析[22]、网络检测[23]等.
4 结语
波兰数学家Pawlak对基于知识库的研究转化为对等价关系的研究,在这个逻辑背景下于1982年提出了用于处理模糊不确定问题的粗糙集(rough sets)理论,利用已知的知识库,将知识理解为对数据的划分,构成划分的每一集合就是基本概念,用已知知识库中的知识来近似地表示含糊不确定的知识[24].粗糙集理论经过了三十多年的发展,作为一种数学工具现如今被广泛应用于各个科学技术领域,并且被多次命题研究.
人们以粗糙集理论为基础,从数据库中成功地提取和总结出了知识库,同时,在粗糙集理论的应用上也做了大量有关的学术研讨,发现了粗糙集理论的广阔应用前景.在很多实际应用中,都是将粗糙集理论和很多方法相结合[25].有关粗糙集的书籍资料无论是中文的还是外文的,都已经出版了很多.在粗糙集理论受到人们普遍关注的几十年间,无论是在理论研究,亦或是在应用研究上,都取得了丰富的硕果.