了解用于文本分类的朴素贝叶斯
Posted
技术标签:
【中文标题】了解用于文本分类的朴素贝叶斯【英文标题】:Understanding Naive Bayes for text classification 【发布时间】:2015-07-17 00:39:48 【问题描述】:我熟悉机器学习和朴素贝叶斯,但在我的特征向量是一个词袋的文档分类中,我很难理解如何实现它。
特别是,您如何计算类条件特征似然Pr(word | class)
?在许多文本中,我看到以下术语:
右侧是如何实现的?是 c
类中出现特征 f
的文档数除以 c
类文档数吗?
例如,假设您有 10 个文档,其中 7 个是 C1 类,3 个是 C2 类。其中一些出现了“惊人”这个词:
C1: ...
C1: ... amazing ...
C1: ...
C1: ... amazing ...
C1: ... amazing ...
C1: ...
C1: ...
C2: ...
C2: ... amazing ...
C2: ...
看起来像:
计数(惊人的,C1)= 3 计数(惊人,C2)= 1 计数(C1) = 7 计数(C2) = 3Pr(amazing|C1) = 3/7 和 Pr(amazing|C2) = 1/3 吗?
2015 年 5 月 7 日编辑
我在“Introduction to Information Retrieval”一书的第 13 章 (PDF) 中遇到了关于用于文本分类的朴素贝叶斯的讨论。类条件特征概率有不同的表述:
所以,这里的 count(word, class) 看起来是类中文档中 words 的总出现次数,而不是类中文档的数量。
同样,count(class) 是类中文档中单词的总数,而不是类中的文档数。
P(feature|class) 的哪个公式是首选?
【问题讨论】:
您的两个问题的答案都是肯定的。 【参考方案1】:是的,您的解释和示例是正确的。 Count(f_i,c_i) 考虑 f_i 和 c_i 同时发生时的所有此类事件,即具有 f_i 特征的 c_i 类的所有文档(在这种情况下存在单词,但通常它可以存在至少 2 个单词或其他)。
实际上,引用的方程是一个最大似然估计,完整的描述和证明请参见论文The Naive Bayes Model, Maximum-Likelihood Estimation, and the EM Algorithm。
更新:正如同一章所述(参见第 13.3 节),第一个估计基于伯努利模型,而第二个估计对应于多项式模型。伯努利模型更适用于短文档和“对噪声特征特别敏感”,再次参见本书或论文A comparison of eve nt models for Naive Bayes text classification(也摘自本书,第 13.7 节)
【讨论】:
我遇到了类条件词概率的不同表述。请参阅我从 5/7 开始的编辑。你能评论一下吗? 我已经更新了答案;简而言之——你应该继续阅读那一章)以上是关于了解用于文本分类的朴素贝叶斯的主要内容,如果未能解决你的问题,请参考以下文章