聊一聊粗糙集(一)
本系列博客将介绍经典粗糙集的相关概念和一个属性约简算法,作为系列博客的开篇之作,先不介绍具体概念,简单认识认识粗糙集。
粗糙集理论简介
粗糙集是波兰理工大学Z.pawlak教授提出用来研究不完整数据,不精确知识的表达、学习,归纳等的一套理论。
它是一种新的处理模糊和不确定性问题的数学工具,已被广泛应用于知识发现、机器学习、决策支持、模式识别、专家系统及归纳推理等领域。
粗糙集理论的特点是能够分析隐藏在数据中的事实,又不需要关于数据附加信息。
其主要思想是在保持分类能力不变的前提下,通过知识约简,导出问题的决策或分类规则。
从数学的角度看,粗糙集是研究集合的;从编程的角度看,粗糙集的研究对象是矩阵,只不过是一些特殊的矩阵;从人工智能的角度来看,粗糙集研究的是决策表。
粗糙集相关概念
病人 | 头疼 | 肌肉疼 | 体温 | 流感 |
---|---|---|---|---|
\(e_{1}\) | 是 | 是 | 正常 | 否 |
\(e_{2}\) | 是 | 是 | 高 | 是 |
\(e_{3}\) | 是 | 是 | 很高 | 是 |
\(e_{4}\) | 否 | 是 | 正常 | 否 |
\(e_{5}\) | 否 | 否 | 高 | 否 |
\(e_{6}\) | 否 | 是 | 很高 | 是 |
决策信息系统\(S=(U,A,V,f)\)是一个四元组,其中\(U\)是非空有限对象集,称为论域,\(A\)是非空有限属性集,\(V=\cup _{a\in A}V_{a}\),\(V_{a}\)是其值,属性\(a\)的值域,\(f:U \times A\rightarrow V\)是一个信息函数。对于\(\forall a \in A\),并且\(x \in U\),\(f(x,a)\in V_{a}\) |
如果\(A=C\cup D\),则\(C\)是条件属性集,\(D\)是决策属性集,\(S=(U,A,V,f)\)也被称为决策表。
概念有些抽象,下面我将结合例子先简单解释下一些基本概念:
在病例中,有七行,五列
第一列是“病人”,在这一列,除了第一行,还有六行,即有六个元素或者对象。
在信息系统中,这就是\(U\),是非空有限对象集,称为论域。
用集合表示为:
那什么是属性呢,除了第一列之外的其他列都是属性了。
属性有条件属性和决策属性,决策属性为最后一列。
先看条件属性集\(C=\{C_{1},C_{2},C_{3}\}\):
设\(C_{1}\)为头疼属性,\(C_{2}\)为肌肉疼属性,\(C_{3}\)为体温属性。
用集合表示为:
头疼属性:
肌肉疼属性:
体温属性:
决策属性\(D\):
流感\(D\)就是决策属性了,用集合表示便是:
现在,我们已经对一个信息系统进行了简单介绍。
小结
可以看出,在信息系统中,有很多的对象,它们有着各种各样的属性。其中不同的对象有着不同或者相同的条件属性,使得每个对象有着不同的特征,这些条件属性会影响到决策属性,决策属性不同,将决定着这个信息系统能被分成几类。
显然决策属性值的不同直接受条件属性的影响,可以说每一个条件属性都可能成为决定决策属性值的潜在影响因素。进而决定着信息系统中的对象会被划分到哪一类去。但是,我们也知道,影响事物的潜在因素会有很多,有些会显著影响结果,有些会有一些影响,而有些因素却是可有可无的。
现在我们正处于大数据的时代,每个人每天的很多行为会产生各种各样的数据。这些数据通常很大,维度很高,里面会有商家感兴趣的部分,但是数据维数太大了。面对这种“数据极其丰富而信息相对缺乏”的情况,如何从海量的数据中获得有用的信息或者决定性因素会是我们很感兴趣的方面。
因此,面对这样一个含有大量信息的信息系统,如何去发掘出什么是影响决策属性值的关键属性是很有必要的。而这些关键属性就隐藏在这一列列的条件属性中,有些属性对决策属性产生了重要的影响,而有些属性就显得可有可无了。我们就是希望能够找出这些对决策属性有着重要影响的条件属性。
对于上面的病例,有经验的医生可能一眼就看出来什么是影响一个病人患流感的关键因素。而我们可能作为门外汉,可以学习通过一些粗糙集的知识,同样也能发掘出这样的关键因素!
之后我们会逐渐介绍粗糙集的其他概念,等价类,正区域,负域,边界域,知识粒度,如何进行约简等等概念,最后会介绍一个基于知识粒度的属性约简算法!