朴素贝叶斯中拉普拉斯平滑算法

什么情况下我们会使用拉普拉斯平滑算法?
当我们在使用朴素贝叶斯算法去解决分类问题时,在训练集上进行训练时我们可以发现有可能出现某些特征的概率P为0的情况,无论是在全文检索中某个字出现的概率,还是在垃圾邮件分类中,这种情况明显是不太合理的,不能因为一个事件没有观察到就武断的认为该事件的概率是0,拉普拉斯的理论支撑而拉布拉斯平滑处理正是处理这种情况下应运而生的。
拉普拉斯平滑处理思想
而我们可以发现如果当训练样本集很大的时候,我们讲每个样本值加1,这样造成的估计概率变化并不大,完全在我们可以接受的范围内,而拉普拉斯平滑处理的思想就是将样本值加1,来对数据集进行平滑处理。
使用拉普拉斯平滑处理
p(Fi|C)=(Ni+alpha)/(N+alpha*m)
alpha是指定的系数一般是1,m是训练文档中统计出来的特征词的个数。

API:sklearn.naive_bayes.MultinomiaLNB(alpha=1.0)默认平滑系数1.0

拉普拉斯平滑处理的思考
假设在文本分类中,有3个类,C1、C2、C3,在指定的训练样本中,某个词语K1,在各个类中观测计数分别为0,990,10,K1的概率为0,0.99,0.01,对这三个量使用拉普拉斯平滑的计算方法如下:
   1/1003 = 0.001,991/1003=0.988,11/1003=0.011
 在实际的使用中也经常使用加 lambda(1≥lambda≥0)来代替简单加1。如果对N个计数都加上lambda,这时分母也要记得加上N*lambda。

引用 朴素贝叶斯 拉普拉斯平滑(Laplace Smoothing)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值