在朴素贝叶斯概率的m估计中应如何选择m

在朴素贝叶斯概率的m估计中应如何选择m?
enter image description here
对于这个例子 enter image description here

我应该选择什么样的m值?我可以选择1吗
这里p=先验概率=0.5。

那么我可以将P(a_i|selected)设为(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吗?在这种情况下并非如此。


回答:

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

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

m = 3 (* 这可以是任何值。你可以指定这个。)p = 1/3 = |v| (* 特征中唯一值的数量)

如果你使用m=|v| 那么m*p=1,所以这被称为拉普拉斯平滑。“m估计概率”是拉普拉斯平滑的广义版本。

在上面的例子中,你可能认为m=3太大了,那么你可以将m减少到0.2,像这样。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注