朴素贝叶斯(Naive Bayes)功能概率:我应该对单词重复计数吗?


12

我正在为自己的Naive Bayes bag o'word模型制作原型,而我对计算特征概率有疑问。

假设我有两个类,我将只使用垃圾邮件,而不会使用垃圾邮件,因为这是每个人都使用的。让我们以“伟哥”一词为例。我的培训集中有10封电子邮件,5封垃圾邮件和5封非垃圾邮件。“ viagra”出现在所有5个垃圾邮件文档中。在其中一份培训文档中,它出现了3次(这是我的问题是关于的),因此,垃圾邮件总数达到了7次。在非垃圾邮件训练集中,它出现1次。

如果我想估计p(伟哥|垃圾邮件),是否简单:

p(伟哥|垃圾邮件)= 5个包含伟哥的垃圾邮件/ 5个垃圾邮件总计= 1

换句话说,一个文件提到伟哥3次而不是一次的事实真的没有关系吗?


编辑:这是一篇博客文章,作者使用了我刚才列出的方法:http : //ebiquity.umbc.edu/blogger/2010/12/07/naive-bayes-classifier-in-50-lines/

这是一篇博客文章,作者说:p(viagra | spam)= 7个伟哥垃圾邮件提及次数/ 8个总提及次数 http://www.nils-haldenwang.de/computer-science/machine-learning/how-to-apply朴素贝叶斯分类器到文档分类问题

然后,下面的答案之一应该是:p(viagra | spam)=垃圾邮件中提及7个伟哥/垃圾邮件中的术语总数

任何人都可以链接到对此有意见的来源吗?

Answers:


4

换句话说,一个文件提到伟哥3次而不是一次的事实真的没有关系吗?

这非常重要。的多项式朴素贝叶斯模型考虑到了令牌的每次出现,而伯努利朴素贝叶斯模型没有(即,对于后一种模式,出现3次的“伟哥”是一样的1所发生的“伟哥”)。

这是两个插图以及来自{1}的比较表:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

{1}巧妙地引入了朴素贝叶斯用于文本分类,以及多项朴素贝叶斯模型和伯努利朴素贝叶斯模型。


参考文献:

  • {1} Christopher D. Manning,Prabhakar Raghavan和HinrichSchütze。“ 信息检索简介。 ” 2009年,第13章文本分类和朴素贝叶斯

1

这取决于您应用的特定幼稚模型。通常,对于“文本分类”,您确实要考虑术语的重复,因此答案是肯定的。

另一点是您正在考虑基于文档事件空间的概率。您还可以根据术语空间来执行此操作:

p(viagra | spam)=垃圾邮件类别中垃圾邮件条款的5倍/垃圾邮件类别中50个条款

您在此[论文]中有很多信息(http://echo.edres.org:8080/betsy/mccallum1.pdf


0

我认为这取决于p(viagra | spam)的确切含义以及如何对数据建模。

如所写,我将您的意思解释为“鉴于该邮件是垃圾邮件,伟哥一词在邮件中至少被提及一次的可能性”。在那种情况下,是的,一个文件提到了3次伟哥这一事实是没有效果的。您已经定义了一个不关注此类事实的模型。

当然,您可以使用其他模型。例如,代替用二进制变量(存在/不存在)表示伟哥,它可以表示单词在消息中出现的次数计数。在这种情况下,根据原始数据,您可以估算出像

p(viagra = 0 | spam)= 0

p(viagra = 1 |垃圾邮件)= 4/5

p(viagra = 2 | spam)= 0

p(viagra = 3 | spam)= 1/5

等等

我并不是说这是一种更好的方法。我只是在说明另一种情况,您的直觉是三遍提到伟哥是相关的。

一个更实际的示例可能是“术语频率-逆文档频率”,这是一种非常注意文档中单词频率的方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.