总结一下朴素贝叶斯分类器

其实我第一次听到朴素贝叶斯分类器时,又看到一大堆的公式,下意识地以为很难。随着后来阅读了一些文献,便觉得不那么难了。可是随着了解的深入,又发现我以为的并不总是我以为的,一些细节处还是没想明白。在这里对朴素贝叶斯作一个总结。

首先,亮一下贝叶斯定理:
P(c|x) = P(x|c)P(c)/P(x)

代入一个具体的分类问题中,c代表类别,x代表特征。那么现在的情况是,给你一堆训练数据,训练一个朴素贝叶斯分类器,之后给你一个新的无标记数据,推测一下该划分到哪个类别。

其实这个问题想想很简单,我们鞍部就班地解出在不同的类别下P(x|c),P(c),P(x)就好啦。
首先P(x)对于每个类别来说都一样,所以不用考虑。
P(c)是先验概率,我们在训练数据中看看每个类占的比例有多少,很容易得出来。
关键是怎么才能求P(x|c)即类条件概率呢?
如果我们现在有N个二值特征,那么x便存在N^2种组合情况,如果我们的样本数据比较小,很可能没有覆盖到某些情况,这就出现了两个问题:维数灾难和数据稀疏。那应该咋办喵?
注意我们的分类器名字中有朴素二字,其中的涵义就是假设特征之间是相互独立的。比如我们有ABC三个特征,那么就有P(ABC|c) = P(A|c)P(B|c)P(C|c), 如此一来,我们可以根据训练集求单个特征的类条件概率就可以啦。

在这里我们顺便提一提极大似然估计。以上的类条件概率估计就用到了这个思想。这种策略是先假定某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。例如,在连续属性的情形下,假设此属性服从一个高斯分布,那我们就可以根据训练样本求得均值和方差的极大似然估计。这样我们便可以估计某个新的属性值的类条件概率。

最后,为了避免某个乘子为零而抹去其它乘子的贡献值,可以使用拉普拉斯平滑法避免分子为零。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值