1

我正在使用简单的词袋概念开发一个朴素贝叶斯分类器。我的问题是在朴素贝叶斯或任何其他机器学习场景中“训练”分类器是一件重要的事情。但是,当我已经拥有各种类别的 bag_of_words 时,如何训练朴素贝叶斯分类器。

4

2 回答 2

1

当我已经拥有各种类别的 bag_of_words 时,如何训练朴素贝叶斯分类器。

一般来说,你要做的是:

  1. 将你的词袋分成两个随机子集,互相training调用test
  2. training在子集上训练分类器
  3. test通过针对子集运行分类器来验证分类器的准确性

“训练”分类器很重要

确实——这就是你的分类器学习从不同类别中分离单词的方式。

于 2015-04-18T14:40:52.690 回答
0

斯坦福 IR 书很好地解释了朴素贝叶斯分类器的工作原理,他们使用文本分类作为示例。维基百科的文章也给出了理论的详细描述和一些具体的例子。

简而言之,您计算每个类中每种单词类型的出现次数,然后通过文档数进行归一化,以获得给定类 p(w|c) 的单词的概率。然后,您使用贝叶斯规则来获得给定文档 p(c|doc) = p(c)*p(doc|c) 的每个类别的概率,其中给定类别的文档的概率是概率的乘积给定类 p(doc|c) = Π(w in doc) p(w|c)。在类之间进行归一化之前,这些概率变得非常小,因此您可能需要取对数并将它们相加以避免下溢错误。

于 2015-04-21T17:36:42.527 回答