朴素贝叶斯分类器计算

时间:2014-07-27 00:48:27

标签: classification bayesian date-arithmetic

我试图使用朴素贝叶斯分类器对我的数据集进行分类。我的问题是:

1-通常当我们尝试计算相似之处时,我们使用公式:

P(c | x)= P(c | x1)* P(c | x2)* ... P(c | xn)* P(c)。但是在一些例子中它说为了避免得到非常小的结果我们使用P(c | x)= exp(log(c | x1)+ log(c | x2)+ ... log(c | xn)+ logP (C))。任何人都可以向我解释这两个公式之间的区别,他们是否都用来计算" likehood"或者,第二个用于计算一些名为"信息获取的东西"。

2-在某些情况下,当我们尝试对数据集进行分类时,某些关节为空。一些人使用" LAPLACE平滑"技术,以避免零关节。这种技术不会影响我们分类的准确性吗?

提前感谢您的所有时间。我是这个算法的新手,并试图了解更多相关信息。那么我应该阅读哪些推荐的论文?非常感谢。

1 个答案:

答案 0 :(得分:0)

我会先解决你的第一个问题,假设你在第二个等式中丢失了大部分P。我认为你最终推动的方程是:

log P(c|x) = log P(c|x1) + log P(c|x2) + ... + log P(c)

如果是这样,这些例子指出,在许多统计计算中,使用分布函数的对数通常更容易,而不是分布函数本身。

实际上,它与许多统计分布涉及指数函数的事实有关。例如,您可以通过求解数学上不那么复杂的问题(如果我们正在经历整个形式化的导数并找到方程根)来找到最大高斯分布K*exp^(-s_0*(x-x_0)^2)的位置找到最大值其对数K-s_0*(x-x_0)^2出现。

这导致许多地方“取两边的对数”是优化计算中的标准步骤。

此外,从计算上讲,当您优化可能涉及许多乘法项的似然函数时,添加小浮点数的对数不太可能导致数值问题,而不是将小浮点数相乘。