粗糙集+属性约减(朴素贝叶斯常用)

写在前面的话

这段时间做毕业论文-贝叶斯分类器。为了写它的一个优化,着实读了一些文献,感慨知网文献难懂程度,对于一些基础的数学概率公式讲解非常系统化、规范化,但也造成如我等萌新阅读起来困难异常。总结一下就是如下过程:
思维解读的过程是真的难受

朴素贝叶斯

朴素贝叶斯算法作为机器学习十大入门算法之一,网络上和其相关的视频、文字资料可以说是铺天盖地了,这里笔者偷个懒,不做详细解读。给几认为将的不错的博客链接
朴素贝叶斯分类:原理

机器学习 | 算法笔记- 朴素贝叶斯(Naive Bayesian)

朴素贝叶斯中的出现的问题

朴素贝叶斯最大的问题在其“朴素”二字,何为“朴素”?“朴素”=“不相关”。朴素贝叶斯中有一个极其大胆的假设:所有条件属性互不条件相关。显然,在实际应用中,这个条件是难以达到的。于是乎,各路大佬开始改进它。

条件属性集合里面有相关的属性,那取其中不相关的属性集合作为新的属性集合就好啦!

于是乎,粗糙集登场了(其实还有很多方法,就笔者知道的,主成分分析,方差分析都是数学上不错的属性约减算法)

粗糙集

什么是粗糙集

百度百科

图片来自百度百科

有点啰嗦,但希望可以看完

笔者认为粗糙集主要功能就是用现有的不完全知识去描绘某样事物。

比如,如果社会对成功人士的定义为:有一个女朋友and一份体面工作。那么如果在已知小明拥有一个女朋友and某大厂干着体面工作的情况下,不需要任何粗糙集知识就可以判断他是一个成功人士。但对于小刚,假设我们只知道他qq天天响特别关心提示音and每天都西装革履,这个时候,我们没有办法一口咬定,小刚也是成功人士,也是在这个时候,粗糙集派上用场。

粗糙集理论

不写了,我知道你们不想看,直接上例子!!!

粗糙集实战

编号 α 1 \alpha_1 α1 α 2 \alpha_2 α2 α 3 \alpha_3 α3 α 4 \alpha_4 α4 α 7 \alpha_7 α7
a11000
b11110
c00111
d11010
e00111
f11000
g11100
h00011
i11000
j11000

我们要干什么?

答:判断哪个属性对于分类是多余的(有他没他都一样)。




论域U={a,b,c,d,e,f,g,h,i,j}条件属性集合A={ α 1 \alpha_1 α1 α 2 \alpha_2 α2 α 3 \alpha_3 α3 α 4 \alpha_4 α4}决策属性B={ α 7 \alpha_7 α7} 。
用符号 “U/IND(属性)” 表示把原来全体成员按照属性划分之后的结果。
例如: U / I N D ( α 1 U/IND(\alpha_1 U/IND(α1)={{a,b,f,g,j,d,i}{c,e,h}}:其中{a,b,f,g,d,i}的属性 α 1 \alpha_1 α1值都是1,而{c,e,h}的属性 α 1 \alpha_1 α1值都是0.同理可得:
在这里插入图片描述
可以按照一个属性分,那多个呢?可以观察到a、f、i、j无论按照 α 1 \alpha_1 α1 α 2 \alpha_2 α2 α 3 \alpha_3 α3 α 4 \alpha_4 α4中的哪一种属性去分,都在同一个一个{ }里面,这样的“好兄弟”,按照 α 1 \alpha_1 α1 α 2 \alpha_2 α2 α 3 \alpha_3 α3 α 4 \alpha_4 α4同样是分一类的。
在这里插入图片描述
这个时候我们就得到了5大类,我们将其称为“知识”,它们分别是

知识1:{a,f,i,j}
知识2:{c,e}
知识3:{b}
知识4:{d}
知识5:{g}
知识6:{h}

下面解释一个出现在很多其他博客和论文,但具体计算方式比较隐晦的数学符号: p o s A ( B ) pos_A(B) posA(B).

p o s A ( B ) pos_A(B) posA(B)

这个符号叫作正域,其值和“下近似”相等。最初 p o s A ( B ) pos_A(B) posA(B)中的B是一个论域的子集。比方说, p o s A pos_A posA({a,b,c,d})表示:从属性A的知识库里面选几个知识去表示集合{a,b,c,d},注意:可以少选,不可以多选。
在知识1里面f、i、j都不在集合{a,b,c,d}里面的,所以知识1不能用;同理知识2中e也不是,所以知识2也不能拿来用,知识3全部在{a,b,c,d}集合中,可以拿来用;同理知识4可以,知识5和6都不可以。
于是 p o s A ( B ) pos_A(B) posA(B)=知识3U知识4={b,d}


但是 在网上大部分属性约算法中 p o s A ( B ) pos_A(B) posA(B)中B指的是决策属性集合{ α 7 \alpha_7 α7}.这个时候就等价于 p o s A ( U / I N D pos_A(U/IND posA(U/IND{ α 7 \alpha_7 α7})


p o s A ( B ) pos_A(B) posA(B)
= p o s A ( U / I N D pos_A(U/IND posA(U/IND{ α 7 \alpha_7 α7})
= p o s A ( pos_A( posA({{a,b,d,f,g,i,j}{c,e,h}})
= p o s A ( pos_A( posA({a,b,d,f,g,i,j})U p o s A ( pos_A( posA({c,e,h})
={a,f,i,j,b,d,g}U{c,e,h}=全体论域U

属性约减

首先计算

U / I N D ( U/IND( U/IND({ α 1 , α 2 , α 3 , α 4 \alpha_1,\alpha_2,\alpha_3,\alpha_4 α1,α2,α3,α4})={{a,f,i,j},{c,e},{b},{d},{g},{h}}
p o s A ( B ) pos_A(B) posA(B)={a,f,i,j,b,d,g,c,e,h}=全体论域U


U / I N D ( U/IND( U/IND({ α 2 , α 3 , α 4 \alpha_2,\alpha_3,\alpha_4 α2,α3,α4})={{a,d,f,i,j},{c,e},{b},{g},{h}}
p o s A − α 1 ( B ) pos_{A-\alpha_1}(B) posAα1(B)={a,f,i,j,b,d,g,c,e,h}= p o s A ( B ) pos_A(B) posA(B)
说明 α 1 \alpha_1 α1是非必要属性,有他没他分类结果一样。


U / I N D ( U/IND( U/IND({ α 1 , α 3 , α 4 \alpha_1,\alpha_3,\alpha_4 α1,α3,α4})={{a,f,i,j},{c,e},{b},{d},{g},{h}}
p o s A − α 2 ( B ) pos_{A-\alpha_2}(B) posAα2(B)={a,f,i,j,b,d,g,c,e,h}= p o s A ( B ) pos_A(B) posA(B)
说明 α 2 \alpha_2 α2也是非必要属性,有他没他分类结果一样。


U / I N D ( U/IND( U/IND({ α 1 , α 2 , α 4 \alpha_1,\alpha_2,\alpha_4 α1,α2,α4})={{a,f,g,i,j},{c,e,h},{b},{d}}
p o s A − α 3 ( B ) pos_{A-\alpha_3}(B) posAα3(B)={a,f,i,j,b,d,g,c,e,h}= p o s A ( B ) pos_A(B) posA(B)
说明 α 3 \alpha_3 α3也是非必要属性,有他没他分类结果一样。


U / I N D ( U/IND( U/IND({ α 1 , α 2 , α 3 \alpha_1,\alpha_2,\alpha_3 α1,α2,α3})={{a,d,f,i,j},{c,e},{b},{g},{h}}
p o s A − α 4 ( B ) pos_{A-\alpha_4}(B) posAα4(B)={a,f,i,j,b,d,g,c,e,h}= p o s A ( B ) pos_A(B) posA(B)
说明 α 4 \alpha_4 α4也是非必要属性,有他没他分类结果一样。

然后删去属性集中一个非必要属性,这里注意一下,不可以一次将所有非必要属性全部删除,这个道理就和线性代数里面线性相关的概念类似。

{ α 1 , α 2 , α 3 , α 4 \alpha_1,\alpha_2,\alpha_3,\alpha_4 α1,α2,α3,α4}线性相关,但删掉任意一个向量后,都有可能变成线性无关的向量组

选择不同的属性删除会得到不同的结果,至于选择谁,可以参考其他文献,属性不多的情况下也可以遍历一下所有结果。这里选择 α 1 \alpha_1 α1删除。
A 1 A_1 A1={ α 2 , α 3 , α 4 \alpha_2,\alpha_3,\alpha_4 α2,α3,α4}

U / I N D ( U/IND( U/IND({ α 2 , α 3 , α 4 \alpha_2,\alpha_3,\alpha_4 α2,α3,α4})={{a,f,i,j},{c,e},{b},{d},{g},{h}}
p o s A 1 ( B ) pos_{A_1}(B) posA1(B)={a,f,i,j,b,d,g,c,e,h}=全体论域U


U / I N D ( U/IND( U/IND({ α 3 , α 4 \alpha_3,\alpha_4 α3,α4})={{a,d,f,i,j},{b,c,e},{g},{h}}
p o s A 1 − α 2 ( B ) = { a , f , i , j , d , g , h } ≠ p o s A 1 ( B ) pos_{A_1-\alpha_2}(B)=\{a,f,i,j,d,g,h\} \neq pos_{A_1}(B) posA1α2(B)={a,f,i,j,d,g,h}=posA1(B)
说明 α 2 \alpha_2 α2是必要属性。


U / I N D ( U/IND( U/IND({ α 2 , α 4 \alpha_2,\alpha_4 α2,α4})={{a,f,g,i,j},{c,e,h},{b,d}}
p o s A 1 − α 3 ( B ) pos_{A_1-\alpha_3}(B) posA1α3(B)={a,f,i,j,b,d,g,c,e,h}= p o s A 1 ( B ) pos_{A_1}(B) posA1(B)
说明 α 3 \alpha_3 α3是非必要属性,有他没他分类结果一样。


U / I N D ( U/IND( U/IND({ α 2 , α 3 \alpha_2,\alpha_3 α2,α3})={{a,d,f,i,j},{c,e},{b},{g},{h}}
p o s A 1 − α 4 ( B ) pos_{A_1-\alpha_4}(B) posA1α4(B)={a,f,i,j,b,d,g,c,e,h}= p o s A 1 ( B ) pos_{A_1}(B) posA1(B)
说明 α 4 \alpha_4 α4也是非必要属性,有他没他分类结果一样。

这里选择 α 3 \alpha_3 α3删除。
A 2 A_2 A2={ α 2 , α 4 \alpha_2,\alpha_4 α2,α4}

U / I N D ( U/IND( U/IND({ α 2 , α 4 \alpha_2,\alpha_4 α2,α4})={{a,f,i,j},{c,e,h},{b,d},{g}}
p o s A 2 ( B ) pos_{A_2}(B) posA2(B)={a,f,i,j,b,d,g,c,e,h}=全体论域U


α 2 \alpha_2 α2已经在上一步已经判断是必要属性。这里不需要再计算


U / I N D ( U/IND( U/IND({ α 4 \alpha_4 α4})={{a,f,g,i,j},{b,c,d,e,h}}
p o s A 2 − α 2 ( B ) = ∅ ≠ p o s A 2 ( B ) pos_{A_2-\alpha_2}(B)=\emptyset\neq pos_{A_2}(B) posA2α2(B)==posA2(B)
说明 α 4 \alpha_4 α4是必要属性

于是得到A的一个约减{ α 2 \alpha_2 α2, α 4 \alpha_4 α4}

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值