在朴素贝叶斯中,应该采用m in m估计概率

时间:2015-12-16 14:14:15

标签: machine-learning pattern-recognition naivebayes

在朴素贝叶斯的概率估计中,应该采用什么? enter image description here
因此,对于此示例enter image description here

我应该选择 m 值? 我可以将其视为1  这里p =先验概率= 0.5。

我可以拿P(a_i |选中)=(n_c + 0.5)/(3 + 1)

对于朴素贝叶斯文本分类,给定的P(W | V)= enter image description here

在书中,它表示这是从m估计中采用的,让统一先验并且m等于词汇量的大小。
但是如果我们只有2个类,那么p = 0.5。那么mp如何 1 ?不应该是|vocabulary|*0.5吗?这个等式是如何从m估计得到的?

在计算属性专业的概率时,先验概率为0.5并且取m = 1

P(teacher|selected)=(2+0.5)/(3+1)=5/8  
P(farmer|selected)=(1+0.5)/(3+1)=3/8  
P(Business|Selected)=(0+0.5)/(3+1)= 1/8    

但是,类概率不应该加1吗?在这种情况下,它不是。

4 个答案:

答案 0 :(得分:1)

是的,您可以使用 m = 1。根据{{​​3}},如果您选择 m = 1,则称为拉普拉斯平滑。 m 通常选择较小(我读到 m = 2也被使用)。特别是如果您总共没有那么多样本,因为更高的 m 会使您的数据更加失真。

背景信息:参数 m 也称为伪计数(虚拟示例),用于wikipedia。它可以防止概率为0.零概率是非常有问题的,因为它将任意乘法设为0.我找到了一个很好的例子来说明本书预览中的问题additive smoothing(搜索伪数)

答案 1 :(得分:0)

我认为统一先验应该是1/3,而不是1/2。这是因为你有3个职业,所以你为每个职业分配相同的先验概率。像这样,mp = 1,你列出的概率总和为1。

答案 2 :(得分:0)

“m估计概率”令人困惑。

在给定的例子中,m和p应该是这样的。

m = 3 (* this could be any value. you can specify this.)
p = 1/3 = |v| (* number of unique values in the feature)

如果使用m=|v| then m*p=1,,则称为拉普拉斯平滑。 “m概率估计”是拉普拉斯平滑的广义版本。

在上面的例子中,您可能认为m = 3太多,那么您可以将m减少到0.2。

答案 3 :(得分:-1)

从p =均匀先验并且m等于词汇量的大小。

将获得:

Result