2016-01-31 32 views
-1

我正在构建一个文本分类器,用于将评论分类为正面或负面。我对NaiveBayes分类公式有疑问:关于NaiveBayes分类器的查询

|      P(label) * P(f1|label) * ... * P(fn|label) 
| P(label|features) = -------------------------------------------- 
|           P(features) 

根据我的理解,如果事件一起发生,则概率会相乘。例如。 A和B一起发生的概率是多少?在这种情况下乘以概率是否合适?感谢有人能够详细解释这个公式。我正在尝试做一些手动分类(只是为了检查一些算法生成的分类,这看起来有些过时,这将使我能够确定错误分类的确切原因)。

在基本概率条件下,要计算p(label | feature1,feature2),我们必须乘以概率来计算特征1和特征2的出现。但在这种情况下,我并不是试图计算一个标准概率,而是计算文本的积极性/消极性的强度。所以,如果我总结概率,我会得到一个可以识别积极性/消极性商数的数字。这有点不合常规,但你认为这可以带来一些好的结果。原因是总和和产品可能完全不同。例如。 2 * 2 = 4但是3 * 1 = 3

回答

0

如果它们在统计学上为独立,则类条件概率P(特征|标记)可以相乘。然而,实践中发现,朴素贝叶斯即使对于不是独立的类别条件概率也仍然产生良好的结果。因此,您可以通过简单计数来计算单个类别条件概率P(特征|标记),然后将它们相乘。

需要注意的一件事是,在某些应用中,这些概率可能非常小,从而导致潜在的数值下溢。因此,你可能想要加上在一起日志的概率(而不是乘以概率)。

+0

在基本概率条件下,为了计算p(label | feature1,feature2),我们必须乘以概率来计算特征1的出现和功能2在一起。但在这种情况下,我并不是试图计算一个标准概率,而是计算文本的积极性/消极性的强度。所以,如果我总结概率,我会得到一个可以识别积极性/消极性商数的数字。这有点不合常规,但你认为这可以带来一些好的结果。原因是总和和产品可能完全不同。例如。 2 * 2 = 4但是3 * 1 = 3 –

+0

@AmitAgarwal:我不认为这是正确的方法。请投票我的答案,如果你觉得它有用。 – stackoverflowuser2010

+0

@ stackoverflowuser2010,请参阅上面的答案。不适合评论。 –

0

我明白,如果功能是不同的,如一个人是男性的概率是什么,如果身高170厘米,体重200磅。然后这些概率必须在这些条件(事件)一起发生时相乘。但在文本分类的情况下,这是无效的,因为如果事件一起发生真的无关紧要。考虑到单词最好的出现的情况下,评论为正的概率为0.1,并且由于单词礼貌的发生,评论为正的概率为0.05,则考虑到两个单词的出现,评论为正的概率(最好和礼貌)不是0.1 * 0.05。一个更具指示性的数字是概率的总和(需要归一化),