朴素贝叶斯:拉普拉斯修正

朴素贝叶斯分类,这种方法的预测发现了一个问题:某个样本的属性值并未出现在训练集中,导致尽管要预测的这个苹果看起来很像是好果,但是朴素贝叶斯目标函数的结果仍为0,最终被划分为一般的苹果,有些时候这并不是合理的,那么该如何解决呢?
如下的数据集:
大小 颜色 形状 标签
1 小 青色 非规则 否
2 大 红色 非规则 是
3 大 红色 圆形 是
4 大 青色 圆形 否
5 大 青色 非规则 否
6 小 红色 圆形 是
7 大 青色 非规则 否
8 小 红色 非规则 否
9 小 青色 圆形 否
10大 红色 圆形 是

测试集上要预测的某个样本如下:

大小 颜色 形状 标签

11 大 青色 圆形 ?

02 —拉普拉斯修正

上面通过这个例子折射处一个问题:训练集上,很多样本的取值可能并不在其中,但是这不并代表这种情况发生的概率为0,因为未被观测到,并不代表出现的概率为0 。
正如上面的样本,看其他两个属性很可能属于好苹果,但是再加上颜色:青色,这三个属性取值组合在训练集中并未出现过,所以朴素贝叶斯分类后,这个属性取值的信息抹掉了其他两个属性的取值,在概率估计时,通常解决这个问题的方法是要进行平滑处理,常用拉普拉斯修正。
拉普拉斯修正的含义是,在训练集中总共的分类数,用 N 表示;di 属性可能的取值数用 Ni 表示,因此原来的先验概率 P© 的计算公式由:

在这里插入图片描述

被拉普拉斯修正为:
在这里插入图片描述
类的条件概率P(x | c) 的计算公式由:
在这里插入图片描述
被拉普拉斯修正为:
在这里插入图片描述
03 —例子阐述

在拉普拉斯修正后,本文提到的预测样本预测的结果会不会还是一般的果子呢?(因为好果的概率因为某项乘积为0,所以导致最终结果为0)

大小 颜色 形状 标签

11 大 青色 圆形 ?

用拉普拉斯修正后的公式计算,先验概率 P© ,

P(c = 好果)= (4+1) / (10+2) = 5/12

P(c = 一般) = (6+1) / (10+2) = 7/12

每个属性的类条件概率:

P(大小=大 | c=好果) = (3+1)/(4+2) = 4/6

P(颜色=青色 | c=好果) = (0+1)/(4+2) = 1/6

P(形状=圆形 | c=好果) = (3+1) / (4+2) = 4/6

P(大小=大 | c=一般) = (3+1) /( 6+2) = 4/8

P(颜色=青色 | c=一般) = (5+1)/(6+2) = 6/8

P(形状=圆形 | c=一般) = (2+1)/(6+2) = 3/8

因此:

P(c=好果) * P(大小=大 | c=好果) * P(颜色=青色 | c=好果) * P(形状=圆形 | c=好果)

= 5/12 * 4/6 * 1/6 * 4/6

= 0.031

P(c=一般) * P(大小=大 | c=一般) * P(颜色=红色 | c=一般) * P(形状=圆形 | c=一般)

= 7/12 * 4/8 * 6/8 * 3/8

= 0.082

因此预测结果还是一般的果子,这是训练集学习后得到的结果,可能与原来的结果正好吻合,但是并不代表拉普拉斯修正是没有必要的,有时候预测的结果会和原来直接某项为0的结果不一样,可以看到拉普拉斯修正后,原来为0的结果被平滑的过渡为0.031,这起到了修正的作用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值