朴素贝叶斯(一)

朴素贝叶斯(Naive Bayes)是一种简单的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤)。

总结

1、朴素贝叶斯有个前提的假设:每个条件(属性)互相之间是独立的。

2、最初公式的分母是一个常数,忽略不计。

3、在做词分类时,考虑到词很多需要做大量的乘法会影响效率,再者小数的乘法会越乘越小导致数据很小丢失数据,因此对最终的公式做ln处理,不影响单调性,把乘法转换成加法。

4、为了防止在计算时出现概率为0的情况,做一些平滑处理。
  (1)先验概率,分子加α,分母加kα k是类别总数(感觉不用平滑,分子为某个类别样本,而且有些地方的讲解没有用平滑)
  (2)每个条件的概率,分子加α,分母加nα n是特征维度
  当α=1时,称作Laplace平滑,当0<α<1时,称作Lidstone平滑,α=0时不做平滑。

上面的四点会在下面的详细讲解点出。

公式及其推导

最初公式:

给定训练数据集(X,Y),其中每个样本x都包括n维特征,即x=(x1,x2,x3,...,xn),类标记集合含有k种类别,即y=(y1,y2,...,yk)

如果现在来了一个新样本x,求其类别。

那么问题就转化为求解P(y1|x),P(y2|x),...,P(yk|x)中最大的那个,即求后验概率最大的输出:argmaxykP(yk|x)

P(yk|x)就通过贝叶斯定理求得:

分子中的P(yk)是先验概率,根据训练集样本数就可以简单地计算出来。

分母P(x)可以根据全概率公式算,但是对于任何输入的数据都是一个常数,所以可以忽略不计。


而条件概率P(x|yk)=P(x1,x2,...,xn|yk),它的参数规模是指数数量级别的,假设第i维特征xi可取值的个数有Si个,类别取值个数为k个,那么参数个数为:kni=1Si

这显然不可行。针对这个问题,朴素贝叶斯算法对条件概率分布作出了独立性的假设,通俗地讲就是说假设各个维度的特征x1,x2,...,xn互相独立,在这个假设的前提上,条件概率可以转化为:

公式最终转化成:


平滑处理:

某些属性在某些类别上不存在,因此会导致p(xi|yk)为0,因此需要一下平滑处理(我一般不会对先验概率公式(下面第一个公式)做平滑,因为某个类别的样本数不会为0):

N是样本总数,k是类别总数,Nyk是类别为yk的样本个数,α是平滑值。

      Nyk是类别为yk的样本个数,n是特征的维数,Nyk,xi是类别为yk的样本中,第i维特征的值是xi的样本个数,α是平滑值。

α=1时,称作Laplace平滑,当0<α<1时,称作Lidstone平滑,α=0时不做平滑。


例1(来自下面的链接):

由此可以判定y=-1。


参考:http://blog.csdn.net/u013007900/article/details/78049587

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值