【问题标题】:Document classification using naive bayse使用朴素贝叶斯的文档分类
【发布时间】:2012-11-02 07:36:50
【问题描述】:

我对文档分类中使用的特定 Naive Bayse 算法有疑问。以下是我的理解:

  1. 为每个已知分类构建训练集中每个单词的一些概率
  2. 给定一个文档,我们删除它包含的所有单词
  3. 将单词出现在分类中的概率相乘
  4. 对每个分类执行 (3)
  5. 比较(4)的结果,选择后验最高的分类

我感到困惑的是,我们在给定训练集时计算每个单词的概率的部分。例如对于一个单词“banana”,它出现在分类 A 的 100 个文档中,总共有 200 个文档在 A 中,总共有 1000 个词出现在 A 中。要得到“香蕉”出现在分类 A 下的概率,我做使用 100/200=0.5 还是 100/1000=0.1?

【问题讨论】:

    标签: machine-learning artificial-intelligence


    【解决方案1】:

    如果您计算单词出现在文档中的数量,而不是单词出现的总次数,我相信您的模型会更准确地分类。换句话说

    分类“提果”:

    “我喜欢香蕉。”

    应称重不超过或少于

    “香蕉!香蕉!香蕉!我喜欢它们。”

    所以你的问题的答案是 100/200 = 0.5。

    维基百科上文档分类的描述也支持我的结论

    那么给定文档 D 包含所有单词 W 的概率,给定一个类 C,是

    http://en.wikipedia.org/wiki/Naive_Bayes_classifier

    换句话说,文档分类算法 Wikipedia 描述了测试给定文档包含多少分类词列表。

    顺便说一句,更高级的分类算法将检查 N 个单词的序列,而不仅仅是单独检查每个单词,其中 N 可以根据您愿意用于计算的 CPU 资源量来设置。

    更新

    我的直接经验是基于简短的文档。我想强调@BenAllison 在 cmets 中指出的研究表明我的答案对于较长的文档无效。具体

    一个弱点是,通过仅考虑术语的存在与否,BIM 会忽略术语频率中固有的信息。例如,在所有条件相同的情况下,我们希望如果一个单词出现 1 次就可以很好地表明文档属于某个类,那么出现 5 次应该更具预测性。

    一个相关的问题与文档长度有关。随着文档变长,所使用的不同单词的数量以及因此在 BIM 中等于 1 的 x(j) 值的数量通常会增加。

    http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.1529

    【讨论】:

    • 谢谢,我做了一些研究并意识到我正在实现的方式是伯努利模型,其中只有每个文档的编码方式只告诉一个单词是否出现,而不是它的频率。
    • 这是不正确的,伯努利模型不会给你比词频模型更好的结果,并且确实可以被认为是全频模型的贫乏变体。例如:citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.1529citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.8264
    • @BenAllison:我的直接经验是短文档。这是一个很好的信息来源。我相应地更新了我的答案。
    猜你喜欢
    • 2013-12-02
    • 2014-07-01
    • 2013-06-21
    • 2015-08-27
    • 2014-04-14
    • 2017-04-19
    • 2012-07-02
    • 2017-01-10
    相关资源
    最近更新 更多