粗糙集理论是一种研究不精确,不确定性知识的数学工具。
粗糙集的思想为:一种类别对应一个概念(类别可以用集合表示,概念可以用规则描述),知识由概念组成;如果某个知识含有不精确概念,则该知识不精确。粗糙集对不精确概念的描述方法是通过下近似和上近似概念来描述。
上近似包含了所有使用知识R可确切分类到X的元素。
下近似包含了所有那些可能属于X的元素的最小集合。
粗糙集可以解决的问题可以如下一些:
1,不确定或者不精确知识的表达
2,经验学习并从经验中获取知识
3,不一致信息的分析
4,根据不完整得到,不确定的知识进行推理
5,在保留信息的前提下进行数据化简
6,识别并评估数据之间依赖关系
病人 | 头痛 | 胸口痛 | 体温 | 流感 |
---|---|---|---|---|
a1 | 是 | 是 | 正常 | 否 |
a2 | 是 | 是 | 高 | 是 |
a3 | 是 | 是 | 很高 | 是 |
a4 | 否 | 是 | 正常 | 否 |
a5 | 否 | 否 | 高 | 否 |
a6 | 否 | 是 | 很高 | 是 |
a7 | 否 | 否 | 高 | 是 |
a8 | 否 | 是 | 很高 | 否 |
那么,就可以设置C1=头痛,C2=胸口痛,C3=体温,所以
A/C1={{a1,a2,a3},{a4,a5,a6,a7,a8}} (头痛分类)
A/C2={{a1,a2,a3,a4,a6,a8},{a5,a7}} (胸口痛分类)
A/C3={{a1,a4},{a2,a5,a7},{a3,a6,a8}} (体温分类)
A/{C1,C2}={{a1,a2,a3},{a4,a6,a8},{a5,a7}}
A/{C1,C3}={{a1},{a2},{a3},{a4},{a5,a7},{a6,a8}}
A/{C2,C3}={{a1,a4},{a2},{a5,a7},{a3,a6,a8}}
A/C={{a1},{a2},{a3},{a4},{a5,a7},{a6,a8}}
A/D={{a1,a4,a5,a8},{a2,a3,a6,a7}}
Pos _c (D)={a1}U{a2}U{a3}U{a4}
K=y_c(D)=Pos_c(D)/U=4/8=0.5
Pos_(c-c1){D}={a1,a2,a4}!=Pos_c(D)
Pos_(c-c2){D}={a1,a2,a4}=Pos_c(D)
Pos_(c-c3){D}={a1,a2,a4}!=Pos_c(D)
Pos_(c-{c1,c2}){D}={a1,a2,a4}!=Pos_c(D)
Pos_(c-{c2,c3}){D}={a1,a2,a4}!=Pos_c(D)
所以C2为冗余属性,即可删除的属性,所以C的D约简为C-{C2}={C1,C3}