聊一聊粗糙集(六)
本节我们将继续介绍粗糙集有关的概念。
上节我们介绍了知识粒度的矩阵表示形式,本节将介绍基于知识粒度属性约简定义和算法。
基于粗糙特征选择算法亦称为属性约简,其旨在保持数据集分类能力不变的前提下,通过约简冗余属性,最后得到问题的决策或分类规则。
相关定义
设决策信息系统\(S=(U,A=C \bigcup D,V,f)\),\(B \subseteq C\),如果\(B\)为\(S\)的最小属性约简,则:
第一个式子保证了约简集\(B\)有着与全体条件属性集\(C\)相同的划分能力;而第二个条件保证了约简集\(B\)内没有冗余属性。
近似分类精度的定义如下:
设决策信息系统\(S=(U,A=C \bigcup D,V,f)\),\(\forall X \subseteq U\),\(R\)是一个等价关系,则集合\(X\)关于等价关系\(R\)的近似分类精度为:
其粗糙度为:
近似分类质量的定义如下:
设决策信息系统\(S=(U,A=C \bigcup D,V,f)\),\(\forall X \subseteq U\),\(R\)是一个等价关系,则集合\(X\)关于等价关系\(R\)的近似分类质量为:
或者说
决策信息系统\(S=(U,A=C \bigcup D,V,f)\),\(\forall X \subseteq U\),\(R=\{X_{1},X_{2},...,X_{m}\}\)是论域\(U\)的一个划分,将\(R\)的上近似和下近似分别定义为:
则\(R\)的近似分类精度:
近似分类质量:
特别地,若等价关系\(R\)是被决策属性集\(D\)划分的,\(U/D=\{X_{1},X_{2},...,X_{m} \}\),\(\forall X \subseteq U\),则\(D\)的近似分类精度为:
近似分类质量:
对于这种情况,我们先看一个例子,若
考虑论域\(U\)对条件属性集\(C\)划分的等价关系\(R\)
下近似:
近似分类质量:
再来看之前的一个例子:
\(S=(U,A=C \bigcup D,V,f)\)是一个决策信息系统,考虑条件属性\(C\)对论域\(U\)划分的等价关系\(R\),\(U/C=\{\{e_{3},e_{6} \},\{e_{2},e_{5} \},\{e_{1},e_{4} \} \}\),集合\(X=\{e_{1},e_{2},e_{4}\}\),显然\(X\)是一个粗糙集,则:
近似分类精度:
粗糙度:
近似分类质量:
基于知识粒度的属性约简算法
在介绍完经典粗糙集模型一些基本的相关概念后,我们将给出粗糙集里面的一个经典算法,基于知识粒度非动态属性约简算法。
算法:基于知识粒度的经典启发式属性约简算法
输入:决策信息系统\(S=(U,A=C \bigcup D,V,f)\)
输出:论域\(U\)上的约简集\(RED_{U}\)
\(begin\)
\(\quad RED_{U} \leftarrow \varnothing\)
\(\quad for \quad 1\leq j \leq |C| \quad do\)
\(\quad \quad Calculate \quad Sig_{U}^{inner}(a_{j},C,D);\)
\(\quad \quad \quad if \quad Sig_{U}^{inner}(a_{j},C,D)>0 \quad then\)
\(\quad \quad \quad \quad RED_{U} \leftarrow (RED_{U} \bigcup {a_{j}});\)
\(\quad \quad \quad end\)
\(\quad \quad end\)
\(\quad Let \quad B \leftarrow RED_{U};\)
\(\quad while \quad GP_{U}(D \mid B) \neq GP_{U}(D \mid C) \quad do\)
\(\quad \quad for \quad each \quad a_{i}\in (C-B) \quad do\)
\(\quad \quad \quad Calculate \quad Sig_{U}^{outer}(a_{i},B,D);\)
\(\quad \quad \quad a_{0}=max\{Sig_{U}^{outer}(a_{i},B,D),a_{i} \in (C-B)\};\)
\(\quad \quad \quad B\leftarrow (B \bigcup \{a_{0} \});\)
\(\quad \quad end\)
\(\quad end\)
\(\quad for \quad each \quad a_{i} \in B \quad do\)
\(\quad \quad if \quad GP_{U}(D \mid (B-\{a_{i} \}))=GP_{U}(D \mid C) \quad then\)
\(\quad \quad \quad B \leftarrow (B-\{a_{i}\});\)
\(\quad \quad end\)
\(\quad end\)
\(\quad RED_{U} \leftarrow B;\)
\(\quad return \quad reduction \quad RED_{U}\)
\(end\)
这就是基于知识粒度非动态属性约简算法的流程了,算法的流程虽然较多,但关键点在于等价类的划分,这点解决后,它的实现就不难了。
那么粗糙集有关的内容就暂告一段落了,系列博客介绍的也只是冰山一角,这里面还有很多很多的学问呢,有兴趣的可以查阅更多资料和文献。
本文参考了:
- 景运革. 基于知识粒度的动态属性约简算法研究[D].西南交通大学,2017.