粗糙集定义
粗糙集(Rough Set, RS)是处理不精确、不确定和不完全数据的有效数学工具,由Pawlak教授在1982年提出。RS 的研究对象是决策表(信息表),且不需要额外的先验知识来分析数据。
定义1 一个积木的信息系统S可以由一个四元组(决策表)S=(U,A,V,f)表示
其中:
U={
x
1
,
x
2
,
.
.
.
.
.
.
,
x
∣
U
∣
\ x_{1},x_{2},... ...,x_{|U|}
x1,x2,......,x∣U∣ }是非空有限的对象集合,称为论域。
A={
a
1
,
a
2
,
.
.
.
.
.
.
,
a
∣
A
∣
\ a_{1},a_{2},... ...,a_{|A|}
a1,a2,......,a∣A∣}是非空有限的属性集合,A =
C
⋃
D
\ C\bigcup D
C⋃D,C是条件属性,D是决策属性。
V =
⋃
a
∈
A
V
a
\bigcup_{a\in{A}}V_{a}
⋃a∈AVa是值域。Va表示在论域U中属性a相同的一组对象
f
\ f
f:
U
×
A
a
→
V
a
\ U \times A_{a}\rightarrow V_{a}
U×Aa→Va是信息函数,即
∀
x
∈
U
,
a
∈
A
,
f
(
x
,
a
)
∈
V
a
\forall x\in{U},a\in{A},f(x,a)\in V_{a}
∀x∈U,a∈A,f(x,a)∈Va。
例如:
存在如下系统表S
论域 | 颜色 | 形状 | 大小 | 稳定性 |
---|---|---|---|---|
X1 | 红 | 三角 | 大 | 稳定 |
X2 | 红 | 三角 | 大 | 稳定 |
X3 | 黄 | 圆 | 小 | 不稳定 |
X4 | 黄 | 圆 | 小 | 不稳定 |
X5 | 蓝 | 方块 | 大 | 稳定 |
X6 | 红 | 圆 | 中 | 不稳定 |
X7 | 蓝 | 圆 | 小 | 不稳定 |
X8 | 蓝 | 方块 | 中 | 不稳定 |
其中U是指{
x
1
,
x
2
,
x
3
,
x
4
,
x
5
,
x
6
,
x
7
,
x
8
\ x_{1},x_{2},x_{3},x_{4},x_{5},x_{6},x_{7},x_{8}
x1,x2,x3,x4,x5,x6,x7,x8 },A是指{颜色,形状,大小,稳定性},决策属性D是指稳定性,其余是指条件属性C。V是指根据a1颜色分类可以将S分成{{
x
1
,
x
2
,
x
6
\ x_{1},x_{2},x_{6}
x1,x2,x6},{
x
3
,
x
4
\ x_{3},x_{4}
x3,x4},{
x
5
,
x
7
,
x
8
x_{5},x_{7},x_{8}
x5,x7,x8} },类似的还可以根据其他的条件属性来分类。f是指根据不同是条件属性的约束可以从U中选中不同的论域。例如,大三角形是指{
x
1
,
x
2
\ x_{1},x_{2}
x1,x2},f就是从大三角形到{
x
1
,
x
2
\ x_{1},x_{2}
x1,x2}的映射。
要想了解粗糙集合论的思想,首先要知道什么叫做知识,一种对集合U的划分就对应着关于U中元素的一个知识。
每个积木块都有颜色属性,按照颜色的不同,我们能够把这堆积木分成R1={红,黄,蓝} 三个大类,那么:
-
红颜色的积木构成集合X1={x1,x2,x6}
-
黄颜色的积木构成集合X2={x3,x4}
-
蓝颜色的积木构成集合X3={x5,x7,x8}
按照颜色这个属性我们就把积木集合A进行了一个划分( 所谓A的划分就是指对于A中的任意一个元素必然属于且仅属于一个分类) ,那么我们就说颜色属性就是一种知识。在这个例子中我们不难看到, 一种对集合A 的划分就对应着关于A 中元素的一个知识,假如还有其他的属性,比如还有形状R2={三角, 方块, 圆形} ,大小R3={大, 中, 小} ,这样加上R1属性对A 构成的划分分别为: -
U/R1={X1,X2,X3}={{x1,x2,x6},{x3,x4},{x5,x7,x8}}(颜色分类)
-
U/R2={Y1,Y2,Y3}={{x1,x2},{x5,x8},{x3,x4,x6,x7}} (形状分类)
-
U/R3={Z1,Z2,Z3}={{x1,x2,x5},{x6,x8},{x3,x4,x7}} (大小分类)
上面这些所有的分类合在一起就形成了一个基本的知识库。那么这个基本知识库能表示什么概念呢?除了红的{x1,x2,x6} 、大的{x1,x2,x5} 、三角形的{x1,x2} 这样的概念以外,还可以表达例如:
大的且是三角形的{x1,x2,x5} ∩ {x1,x2}={x1,x2}
大三角{x1,x2,x5} ∩{x1,x2}={x1,x2}
蓝色的小的圆形({x5,x7,x8} ∩{x3,x4,x7} ∩{x3,x4,x6,x7}={x7}
蓝色的或者中的积木{x5,x7,x8} ∪{x6,x8}={x5,x6,x7,x8}
而类似这样的概念可以通过求交运算得到,比如X1与Y1的交就表示红色的三角形。所有的这些能够用交、并表示的概念以及加上上面的三个基本知识(A/R1,A/R2.A/R3) 一起就构成了一个知识系统记为R=R1∩R2∩R3,它所决定的所有知识是A/R={{x1,x2},{x3},{x4},{x5},{x6},{x7},{x8}}以及A/R 中集合的并。
下面考虑近似这个概念。假设给定了一个A上的子集合X={x2,x5,x7} ,那么用我们的知识库中的知识应该怎样描述它呢?红色的三角? 蓝色的大圆?都不是,无论是单属性知识还是由几个知识进行交、并运算合成的知识,都不能得到这个新的集合X,于是我们只好用我们已有的知识去近似它。也就是在所有的现有知识里面找出跟他最像的两个一个作为下近似,一个作为上近似。于是我们选择了“蓝色的大方块或者蓝色的小圆形” 这个概念:{x5,x7}作为X的下近似;选择“三角形或者蓝色的”{x1,x2,x5,x7} 作为它的上近似,值得注意的是:
- 下近似集是在那些所有的包含于X 的知识库中的集合中求并得到的(包含在X内的最大可定义集)
- 上近似则是将那些包含X的知识库中的集合求并得到的(包含X的最小可定义集)
与上下近似集概念相关的概念还有正域、负域和边界。
设O 表示具有稳定性的集合,则O = {x1,x2,x5},设R 表示条件属性所构成的一个等效关系,根据R的划分不同,该论域被分割为七个等效类:A/R={{x1,x2},{x3},{x4},{x5},{x6},{x7},{x8}}。x1,x2在同一个等效类中,他们都为红色大三角,是不可分辨的. 则:
集合O 的下逼近(即正区) 为 IR*(O) = POSR (O) = {x1,x2,x5}
集合O 的负区为 NEG (O) = {x3,x4,x6,x7,x8}
集合O 的边界区为 BND (O) = 空集
集合O 的上逼近为 I* (O) = PO S (O) + BND (O) = {x1,x2,x5}
一般的,我们可以用下面的图来表示上、下近似的概念。
这其中蓝色曲线围的区域是X的区域,紫色曲线围的部分是内部参考消息,是下近似,红色曲线围的内部部分就是上近似集。其中各个小方块可以被看成是论域上的知识系统所构成的所有划分。整个粗集理论的核心就是上面说的有关知识、集合的划分、近似集合等等概念。
下面我们讨论一下关于粗糙集在数据库中数据挖掘的应用问题。考虑一个数据库中的二维表如上面的表所示:
从上面的表可以看出,最后一列是我们的决策属性,用来评价什么样的积木稳定,表中的每一行表示了类似这样的信息:红色的大三角积木稳定,蓝色的小圆不稳定等等。
我们可以把所有的记录看成是论域A={x1,x2,x3,x4,x5,x6,x7,x8} ,任意一个列表示一个属性构成了对论域的元素上的一个划分,在划分的每一个类中都具有相同的属性。而属性可以分成两大类,一类叫做条件属性:颜色、形状、大小都是,另一类叫做决策属性:最后一列的是否稳定?下面我们考虑,对于决策属性来说是否所有的条件属性都是有用的呢?
考虑所有决策属性是“稳定”的集合{x1,x2,x5} ,它在知识系统U/R 中的上、下近似都是{x1,x2,x5} 本身,“不稳定”的集合{x3,x4,x6,x7,x8} ,在知识系统A/R 中的上、下近似也都是{x3,x4,x6,x7,x8} 它本身。说明该知识库能够对这个概念进行很好的描述。
下面考虑是否所有的基本知识:颜色、形状、大小都是必要的吗?
如果我们把这个集合在知识系统中去掉颜色这个基本知识,那么知识系统变成:U/(R-R1)={{x1,x2},{x3,x4,x7},{x5},{x6},{x8}} 以及这些子集的并集。如果用这个新的知识系统表达“稳定”概念得到上下近似仍旧都是: {x1,x2,x5} ,“不稳定”概念的上下近似也还是{x3,x4,x6,x7,x8} ,由此看出去掉颜色属性我们表达稳定性的知识不会有变化,所以说颜色属性是多余的可以删除。
如果再考虑是否能去掉大小属性呢?这个时候知识系统就变为:U/(R-R1-R3)=A/R2={{x1,x2},{x5,x8},{x3,x4,x6,x7}} 。同样考虑“稳定”在知识系统U/R2 中的上下近似分别为:{x1,x2} 和{x1,x2,x5,x8} ,已经和原来知识系统中的上下近似不一样了, 同样考虑 “不稳定” 的近似表示也变化了,所以删除属性“大小”是对知识表示有影响的故而不能去掉。同样的讨论对于“形状”属性也一样,它是不能去掉的。
最后我们可以得出结论:我们得到化简后的知识库R2,R3,从而能得到下面的决策规则:大三角-> 稳定,大方块-> 稳定,小圆-> 不稳定,中圆-> 不稳定,中方块-> 不稳定,利用粗糙集的理论还可以对这些规则进一步化简得到:大-> 稳定,圆-> 不稳定,中方块-> 不稳定。这就是上面这个数据表所包含的真正有用的知识,而这些知识都是从数据库有粗糙集方法自动学习得到的。