我试图使用朴素贝叶斯分类器对我的数据集进行分类。我的问题是:
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平滑"技术,以避免零关节。这种技术不会影响我们分类的准确性吗?
提前感谢您的所有时间。我是这个算法的新手,并试图了解更多相关信息。那么我应该阅读哪些推荐的论文?非常感谢。
答案 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
出现。
这导致许多地方“取两边的对数”是优化计算中的标准步骤。
此外,从计算上讲,当您优化可能涉及许多乘法项的似然函数时,添加小浮点数的对数不太可能导致数值问题,而不是将小浮点数相乘。