本节我们将继续介绍粗糙集有关的概念。
上节我们介绍了知识粒度的度量,本节将介绍知识粒度的矩阵表示形式。
我们先简单介绍矩阵的相关概念。
矩阵
先看矩阵的和,差。
矩阵的和:
若A=(aij)m×n,B=(bij)m×n是两个m×n的矩阵,则两个矩阵的和C=(cij)m×n为
C=A+B⟹cij=aij+bij
=⎡⎢
⎢
⎢
⎢
⎢⎣a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn⎤⎥
⎥
⎥
⎥
⎥⎦+⎡⎢
⎢
⎢
⎢
⎢⎣b11b12⋯b1nb21b22⋯b2n⋮⋮⋱⋮bm1bm2⋯bmn⎤⎥
⎥
⎥
⎥
⎥⎦
=⎡⎢
⎢
⎢
⎢
⎢⎣a11+b11a12+b12⋯a1n+b1na21+b21a22+b22⋯a2n+b2n⋮⋮⋱⋮am1+bm1am2+bm2⋯amn+bmn⎤⎥
⎥
⎥
⎥
⎥⎦
类似的,两个矩阵的差:
C=A−B⟹cij=aij−bij
=⎡⎢
⎢
⎢
⎢
⎢⎣a11−b11a12−b12⋯a1n−b1na21−b21a22−b22⋯a2n−b2n⋮⋮⋱⋮am1−bm1am2−bm2⋯amn−bmn⎤⎥
⎥
⎥
⎥
⎥⎦
矩阵的转置:
A=⎡⎢
⎢
⎢
⎢
⎢⎣a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann⎤⎥
⎥
⎥
⎥
⎥⎦
则矩阵A的转置矩阵AT为:
AT=⎡⎢
⎢
⎢
⎢
⎢⎣a11a21⋯an1a12a22⋯an2⋮⋮⋱⋮a1na2n⋯ann⎤⎥
⎥
⎥
⎥
⎥⎦
最后来看矩阵的乘积:
若A=(aij)m×n,B=(bij)n×p是两个矩阵
则两个矩阵的乘积A×B=C=(cij)m×p 为:
C=A×B⟹(cij)m×p=(n∑k=1aik⋅bkj)m×p
=⎡⎢
⎢
⎢
⎢
⎢
⎢⎣∑nk=1a1kbk1∑nk=1a1kbk2⋯∑nk=1a1kbkp∑nk=1a2kbk1∑nk=1a2kbk2⋯∑nk=1a2kbkp⋮⋮⋱⋮∑nk=1amkbk1∑nk=1amkbk2⋯∑nk=1amkbkp⎤⎥
⎥
⎥
⎥
⎥
⎥⎦
知识粒度的矩阵表现形式
我们依旧使用该表
U |
a |
b |
c |
e |
f |
d |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
2 |
1 |
1 |
0 |
1 |
0 |
1 |
3 |
1 |
0 |
0 |
0 |
1 |
0 |
4 |
1 |
1 |
0 |
1 |
0 |
1 |
5 |
1 |
0 |
0 |
0 |
1 |
0 |
6 |
0 |
1 |
1 |
1 |
1 |
0 |
7 |
0 |
1 |
1 |
1 |
1 |
0 |
8 |
1 |
0 |
0 |
1 |
0 |
1 |
9 |
1 |
0 |
0 |
1 |
0 |
0 |
等价关系矩阵的定义如下:
设S=(U,A=C⋃D,V,f)是一个决策信息系统,论域U={u1,u2,...,un},n是论域内元素个数,U/C={X1,X2,...,Xm},RC是论域U的等价关系。则等价关系矩阵URCU=(mij)n×n定义如下:
mij={1(ui,uj)∈RC0(ui,uj)∉RC
其中,1≤i,j≤n。
基于矩阵的知识粒度如下:
设S=(U,A=C⋃D,V,f)是一个决策信息系统,URCU=(mij)n×n是等价关系矩阵,条件属性C基于矩阵的知识粒度定义如下:
GPU(C)=sum(MRCU)|U|2=¯¯¯¯¯¯¯¯¯¯¯¯MRCU
其中,sum(MRCU)是等价矩阵内1的个数总和,¯¯¯¯¯¯¯¯¯¯¯¯MRCU是矩阵内所有元素的均值。
依旧上表,我们可以计算GPU(C):
GPU(C)=¯¯¯¯¯¯¯¯¯¯¯¯MRCU=181×sum(⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣100000000010100000001010000010100000010100000000001100000001100000000011000000011⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦)=1781
这和我们在上节计算得到的结果是一致的。
类似的,相对知识粒度的定义如下:
若S=(U,A=C⋃D,V,f)是一个决策信息系统,URCU,URC⋃DU是等价关系矩阵,则决策属性D关于条件属性C基于矩阵的相对知识粒度定义如下:
GPU(D∣C)=¯¯¯¯¯¯¯¯¯¯URCU−¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯URC⋃DU
根据上表,我们可以计算GPU(D∣C):
GPU(D∣C)=¯¯¯¯¯¯¯¯¯¯URCU−¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯URC⋃DU
=181×sum(⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣100000000010100000001010000010100000010100000001010000000001100000001100000000011000000011⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦−⎡⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢⎣100000000010100000001010000010100000010100000001010000000001100000001100000000010000000001⎤⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥⎦)=281
这与我们之前计算的结果是一致的。
类似的,基于矩阵的内外部属性重要度的定义如下:
内部属性重要度:
若S=(U,A=C⋃D,V,f)是一个决策信息系统,B⊆C,且URBU,URB−{a}U,URB⋃DU,UR(B−{a})⋃DU都是等价关系矩阵,∀a∈B,则属性a关于条件属性B相对于决策属性集D的基于矩阵的相对知识粒度定义如下:
SiginnerU(a,B,D)=GPU(D∣B−{a})−GPU(D∣B)
={GPU(B−{a})−GPU((B−{a})⋃D)}−{GPU(B)−GPU(B⋃D)}
=¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯MRB−{a}U−¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯MR(B−{a})⋃DU−¯¯¯¯¯¯¯¯¯¯¯¯MRBU+¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯MRB⋃DU
外部属性重要度:
若S=(U,A=C⋃D,V,f)是一个决策信息系统,B⊆C,且URBU,URB⋃DU,URB⋃{a}U,UR(B⋃{a})⋃DU都是等价关系矩阵,∀a∈(C−B),则属性a关于条件属性B相对于决策属性集D的基于矩阵的相对知识粒度定义如下:
SigouterU(a,B,D)=GPU(D∣B)−GPU(D∣B⋃{a})
={GPU(B)−GPU(B⋃D)}−{GPU(B⋃{a})−GPU((B⋃{a})⋃D)}
=¯¯¯¯¯¯¯¯¯¯¯¯MRBU−¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯MRB⋃DU−¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯MRB⋃{a}U+¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯MR(B⋃{a})⋃DU
参考上节的案例,如果使用矩阵表示的话,结果是一样的,但是基于矩阵的方式在面对大规模数据集是可能不是好的选择。
本文参考了:
- 景运革. 基于知识粒度的动态属性约简算法研究[D].西南交通大学,2017.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器