1

我正在实现一个简单的朴素贝叶斯分类器,但我不明白如何正确计算类条件概率 (P(d|c))。为了完整起见,我很快想解释一下使用的术语。朴素贝叶斯概率由下式计算:

在此处输入图像描述

c 表示任意类,而 d 是文档。让 x = {x1,x2,...,xn} 是 n 个特征的列表,例如 50 个最频繁的二元组)。

在我的训练集中有 i 个类(由一个名为 c_i 的文件夹表示),每个类都有 k 个文档(由普通文本文件表示)。

先验概率 P(c) 可以很容易地计算:

在此处输入图像描述

现在我想计算P(d|c)。这应该由

在此处输入图像描述

现在我不太明白如何计算 P(x_i|c)。我采用特征 x_i(比如说 bigram“th”),现在检查它在 c 类中出现的频率。但是我该怎么做呢?每个类由 k 个文档表示。我必须连接所有这些文件吗?后来我肯定要除以“所有功能的总数”。这会是所有(连接的)文档中bigram“th”的频率吗?

4

1 回答 1

0

贝叶斯方法假设文档是从某个概率分布中独立抽取的一组单词。基于这种独立性假设,您确实可以连接一个类中的所有文档,并使用类文档联合的词频作为您对类概率分布的估计。

于 2015-06-15T10:42:24.663 回答